11.04 loads wrong driver for Realtek NIC

Asked by Tim Cuthbertson

Two days ago, I freshly installed Ubuntu 11.04 on a new PC. I quickly discovered that my wired ethernet was disconnecting and reconnecting frequently. Since the connection had been stable when the machine was running Windows 7, I suspected that the problem was somewhere in Ubuntu.

I found the reason for the problem on Launchpad. My new PC has a Gigabyte Z68A-D3-B3 motherboard which includes an integrated Realtek RTL8111/8168B NIC. Ubuntu 11.04 is loading driver r8169 but, according to the Realtek Taiwan web site, the correct driver for this NIC is r8168. I had to download the correct driver source, make the new module, blacklist the wrong module, and force initramfs to load the new module. My network connection is now stable.

According to bug reports, this same problem has been affecting many Ubuntu users since at least 2007, and I saw where a bug fix was committed for Hardy, but it is still occurring in the latest Natty release. Why cannot this problem be fixed once and for all?

Thank you.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu gnome-nettool Edit question
Assignee:
No assignee Edit question
Solved by:
Tim Cuthbertson
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

Blacklist the wrong driver, it will make the other driver load by default

Revision history for this message
Tim Cuthbertson (ratcheer) said :
#2

Now, how would an average user know something like that? In all my searching, I never even found a hint that something like that might be possible.

Also, it ignores the fact that out of the box, it is broken. Why can't the standard Ubuntu install be fixed to select the correct driver for a common hardware device? Maybe I should have opened this as a bug, because I have worked around the problem. I just wanted it to be brought up in the hope that it could possibly be fixed for everyone.

Revision history for this message
Tim Cuthbertson (ratcheer) said :
#3

I worked around the problem as described in my original question. I had only asked my question in the hope that a longer term fix could be made in Ubuntu. As things stand, I believe I will have to redo my workaround each time a new kernel is released.

Thank you,
Tim

Revision history for this message
adamnaranjo (adamnaranjo) said :
#4

ActionParsnip, wondering if you could explain how to blacklist the wrong driver. Or link to a tutorial, or something. I'm having the same problem.

Revision history for this message
marcobra (Marco Braida) (marcobra) said :
#5

From terminal type:

gksudo gedit /etc/modprobe.d/blacklist.conf

add the module name you want to blacklist, type:

lsmod to see the loaded kernel modules

http://www.ehow.com/how_8345484_blacklist-modules-ubuntu.html

Reboot your pc