Realtek RTL8101E NIC dropped frames on Hardy Heron

I’m having a real problem with the built in network card on my home linux machine (currently running Ubuntu 8.04 LTS server or affectionately named Hardy Heron).

There’s a couple of proviso’s attached to this howto, the first one being that if Ubuntu release a new Kernel as an update, you may have to re-run this fix, or if the old Realtec driver (r8169) gets fixed in the new Kernel , you may want to unblacklist that module and run with that.

Current Kernel version:

The symtoms are:

  • Very bad download and upload speeds
  • Huge amounts of dropped RX packets

Output from ifconfig below:

As you can see below, lspci correctly identifies my Network card as Realtek RTL8101E NIC.

My home server is currently running the r8169 stock driver supplied with Hardy Heron. After doing some research, I discovered that the best way to solve the problem is to replace stock Kernel driver with one supplied by the network card manufacturers Realtek. So I’m going to replace the currently loaded driver r8169 with the driver supplied by Realtek (r8101).

Since I’ve not installed anything from source on this server (vanilla server), I’ll need to install the linux header files and essential tools.

Next we need to download the drivers from the Realtek ftp site:

ftp://210.51.181.211/cn/nic/r8101-1.012.00.tar.bz2

After that we need to untar them, make and install them see steps below:

You will need to add the r8169 module to the blacklist so that it doesn’t get reloaded after reboot, to do that type the following to edit the blacklist file.

Add the following text at the bottom of the file and save.

Now we need to reboot the fileserver and hopefully all will be well.

After the reboot, best to check if the module has loaded successfully type:

You should get the output below if you are successfull 😉

You can also check to make sure that the eth0 interface has come up successfully by using the command below.

If all goes well, you should get output similar to what I got below, note that now I have no more dropped RX packets:

Optional:

You might want to check to make sure that your ethernet card is running at the correct duplex and speed using ethtool. To do this type the following at a command prompt (shell).

As you can see from my output, all is well in the world of home linux for me 😉

Below are some of the references I used to write this mini-howto.

References:

http://ubuntuforums.org/showthread.php?t=782267
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/322916
http://forums.debian.net/viewtopic.php?t=28371
http://www.linuxquestions.org/questions/linux-hardware-18/need-help-installing-driver-for-ethernet-card-658674/?highlight=RTL8101E
http://www.logicsupply.com/blog/2008/09/22/ubuntu-8041-and-the-d945gclf-little-falls/
http://en.alessiotreglia.com/articles/how-to-compile-r8168-and-r8101-modules-for-realtek-ethernet-adapters/

Leave a Reply