Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

We have recently purchased Gigabyte 990xe-ud3 motherboards. It came with Realtek LAN conroller. However with CentOS 6.5 it is not working, i.e. although it shows that it's connected with network, it is really not. On searching I found r8169 drivers to be likely a problem so I followed remedy given in foxhop.net article about Realtek NIC r8169 dropping packets in Ubuntu and Fedora.

But it's still the same. Though Broadcom network card works perfectly.

lspci output for Realtek card:

4:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
  Subsystem: Gigabyte Technology Co., Ltd Motherboard
  Flags: bus master, fast devsel, latency 0, IRQ 58
  I/O ports at d000 [size=256]
  Memory at d2104000 (64-bit, prefetchable) [size=4K]
  Memory at d2100000 (64-bit, prefetchable) [size=16K]
  Capabilities: [40] Power Management version 3
  Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
  Capabilities: [70] Express Endpoint, MSI 01
  Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
  Capabilities: [d0] Vital Product Data
  Capabilities: [100] Advanced Error Reporting
  Capabilities: [140] Virtual Channel
  Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
  Kernel driver in use: r8169
  Kernel modules: r8169

lspci output for Broadcom card:

Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
  Subsystem: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
  Flags: bus master, fast devsel, latency 0, IRQ 59
  Memory at fe300000 (64-bit, non-prefetchable) [size=64K]
  Expansion ROM at <ignored> [disabled]
  Capabilities: [48] Power Management version 3
  Capabilities: [50] Vital Product Data
  Capabilities: [58] Vendor Specific Information: Len=78 <?>
  Capabilities: [e8] MSI: Enable+ Count=1/1 Maskable- 64bit+
  Capabilities: [d0] Express Endpoint, MSI 00
  Capabilities: [100] Advanced Error Reporting
  Capabilities: [13c] Virtual Channel
  Capabilities: [160] Device Serial Number 00-10-18-ff-fe-ea-59-47
  Capabilities: [16c] Power Budgeting <?>
  Kernel driver in use: tg3
  Kernel modules: tg3

Is there any way to get it working with some other drivers etc?

share|improve this question

2 Answers 2

If you look at the output from lspci both cards are getting assigned the correct kernel module/drivers.

realtek

  Kernel driver in use: r8169
  Kernel modules: r8169

broadcom

  Kernel driver in use: tg3
  Kernel modules: tg3

I'd need to see the output of dmesg to debug further. The output you provided shows the cards are getting what appear to be the correct kernel module/driver. So I do not believe your issue lies with the driver.

However there is one slight thing amiss, the card looks to be this model:

Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)

However the driver being used is r8169.

modinfo

I'd also collect the output from the command:

$ modinfo r8169

Additional research

In researching your issue further I did come across this thread on the CentOS forums which is your exact problem, titled: Replace r8169 with r8168 driver in initrd.img. So it would seem that you'll need to unload the r8169 drivers and use the r8168 drivers instead.

You can try doing the following:

$ rmmod r8169

Then attempt to load the r8168 drivers:

$ modprobe r8168

If this fails then you'll need to acquire these drivers. They're in the ElRepo Yum repository so you could install them from there.

That issue in ElRpo had this description.

I'm using the current, 8.028 version of the kmod-r8168 package in CentOS 6 and I'm experiencing random kernel panics during boot that may be caused by the recent upgrade to the 8.028 version (no hard evidence yet).

You could also download the drivers directly from Realtek, they're located here towards the bottom of this page titled: Software: Drivers & Utilities.

share|improve this answer
    
HI, thank you for replying so promptly, here is the link to dmesg output: pastebin.com/rP4GNkrg (text is over 1000 lines so didn't paste here) –  ipcamit Jan 12 at 9:13
    
The output of lsmod | grep r816? Should just report r8169. The setup is very confusing in the dmesg. I would attempt to unload r6169 and then manually modprobe r6168. –  slm Jan 12 at 9:19
    
I wasnt able to complete my comment here as i was not allowed to edit longer than 5 min, here is rest of info: ... (text is over 1000 lines so didn't paste here) modinfo r8169 results in: "ERROR: Could not find module r8169" modinfo r8168 gives this: pastebin.com/5kqJkJ0X rmmod and modprobe r8168 did not work. Direct download from realtek does not appear to be working at the present moment here. I will try the link you gave once and will update results in a while (it will take little time, sorry) –  ipcamit Jan 12 at 9:22

I have a Gigabyte FX990 motherboard with a Realtek RTL-8168 ethernet chip that would not initialize eth0 properly after installing CentOS 6.5. The solution was to download the latest version of the Realtek driver (currently r8168-8.038.00.tgz) from the realtek website.

Unpack the tarball :

# tar vjxf r8168-8.038.00.tar.bz2

Change to the directory:

# cd r8168-8.038.00

Edit autorun.sh

Add this section just after the fi for "Check old driver and unload it."

r8169check=`grep -e "blacklist r8169" /etc/modprobe.d/blacklist.conf`

if [ "$r8169check" == "blacklist r8169" ]; then
    echo "Blacklist r8169 already done"
else
    echo "Blacklist r8169"
    echo "blacklist r8169" >> /etc/modprobe.d/blacklist.conf
fi

Next, do the following:

# ./autorun.sh  # Check if the driver was loaded
# lsmod | grep r8168
# ifconfig -a

create a /etc/sysconfig/network-scripts/ifcfg-eth0

  1. Fixed IP address:

    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=ethernet
    NETMASK=255.255.255.0
    IPADDR=192.168.1.1
    GATEWAY=192.168.1.254
    BROADCAST=192.168.1.255
    
  2. DHCP:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes  
    

Finally, run the following:

# ifup eth0
# reboot

You should now have a working eth0 using the onboard ethernet controller.

Note: You must redo this procedure if you update your kernel

share|improve this answer
    
Thanks for reply. Will test and tell. –  ipcamit Aug 15 at 7:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.