Fixed: Onboard GigE NIC card on Asus M5 A97EVO Motherboard keeps dropping connection on linux (2.6.x kernel)

Boy, have I had a bunch of issues with this board. At first there was the occasional reboot (to be expected with a new build before tweaking the BIOS, OS, component set). Things eventually deteriorated to the point where the darn computer would only occasionally boot up . I troubleshot every single component and narrowed it down to the motherboard. ASUS took nearly 2 months to send me a replacement and after a couple of days worth of re-installing, I once again have a functional workstation, .. almost.

The Onboard GigE quits working within minutes of bootup, a repeatable issue. After a bunch of troubleshooting that I won’t bother to describe here, I narrowed down the scope of the issue to the default driver or the hardware. Some googling revealed that there exists an alternate driver for this chipset for the 2.6.x linux kernel. A quick download and a few minutes worth of installation later, I once again have a working Gigabit Ethernet connection.

  • Verify the chipset on the GigE device.

vinay@proton ~/Downloads/r8168-8.025.00 $ lspci |grep Ethernet

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

sudo ./autorun.sh

  • Verify internet connectivity via ping, traceroute etc.
  • Verify GigE speeds

vinay@proton ~ $ ifconfig eth0
eth0 Link encap:Ethernet HWaddr XXXXXXXXXX
inet addr:10.0.1.138 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::16da:e9ff:fe10:f740/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3983 errors:0 dropped:0 overruns:0 frame:0
TX packets:4202 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2545033 (2.5 MB) TX bytes:729932 (729.9 KB)
Interrupt:72 Base address:0x2000

vinay@proton ~ $ sudo mii-tool -v eth0
eth0: negotiated 1000baseT-HD flow-control, link ok
product info: vendor 00:07:32, model 17 rev 5
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

vinay@proton ~ $ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes

…Amen

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s