Default driver for Realtek RTL8111E chip (Ethernet) does not work

Hello All

I just performed a fresh install of Suse 11.4. It worked great except that the network communication would cut in and out intermittently. I managed to solve the problem posting it here for other users and for future suse releases. I will give the hardware I am running, the symptoms and the fix:

Hardware

Motherboard: Gigabyte GA-H67MA-UD2H-B3
Ethernet controller: Realtek RTL8111E
Default module: r8169 (run lsmod to see loaded modules)

Symptoms

    1) After 10-20s of network use
        The internet will freeze randomly and all network dependent applications will be affected simultaneously

    2) 30-60s after:
        The internet will come back and everything will be working normally

    3) Immediately after the internet resumes:
        An entry like below shows up in /var/log/messages
        Jun 23 15:38:05 pilotuvic kernel: [18856.827556] r8169 0000:03:00.0: eth0: link up

Solution

  1. First make sure that linux kernel source is installed in your system (yast software management)

  2. ensure that gcc is installed (yast software management)

  3. Download the latest linux driver for RTL8111E from the realtek website
    The one that I am running is the 8168 driver version 8.024.00

  4. unzip the tarball (creates a directory called “r8168-x.xxx.xx”)

  5. As root run the autorun.sh from inside the newly created “r8168-x.xxx.xx” directory

I hope that helps!!!

Take Care
Mike

Thanks Mike for sharing this valuable information.
We were hit by several reboots with a similar pattern on openSUSE 11.4
(with RTL8111/8168B) and your solution seems to help.

BTW:
This kernel bug is known outside openSUSE for 3 or 4 months, see for example
https://bugzilla.kernel.org/show_bug.cgi?id=32962
https://bbs.archlinux.org/viewtopic.php?id=115644&p=1

Could openSUSE try to fix their kernel rpms soon? This is a really bad bug!

Glad I could help…

Thanks for passing those posts along. Good to see a kernel level fix is just around the corner.

Has anybody filed a bug report for this against openSUSE?

There is no autorun.sh for module r8169. After searching on internet I found this package https://build.opensuse.org/project/show?project=drivers%3Anic. After install there is no eth0 and even reboot cant help. Also tried with Network Settings using Yast.

Please reread the first post. We are talking about the tar file (linux driver) found on this page:
Realtek
The tar file contains the autorun.sh.

Mike,
that did the trick, network seems to be working properly again. Strange thing was that I did not had these random network freezes/come backs at least for a month earlier. It just started to behave oddly in last 2 weeks and I thought that may be ISP had some problems. But that was not the case and that I started to look at the problems in cable, router, network setup etc.
Luckily Log file (eth0 up), google and your post saved me.
Thanks,
Veiko

Thank you. Now it works.

Concerning the problem of the ethernet working then not working: sven1999 has posted some links indicating that this is a bug in the kernel. So this problem was likely introduced by a kernel update.

nedimm: Glad you got it working, sven was correct… r8169 is the wrong driver. This is the default driver for the install and this is the driver that causes all the problems. Instead use the r8168 driver from realtek (see website link from sven’s post).

I have just posted a bug report for this problem.

A recent kernel update has indicated that the bug has not been addressed by openSuse/Novel. I just searched bugzilla and there is no evidence of this bug being posted.

Hello All

       A new update on this problem. If this driver problem has effected you then you need to read this post.

       The latest kernel update (as of August 2nd) will install the old r8169 driver. This is the faulty driver that caused the problem in the first place. Fixing the problem is the same as before so no problem there. However for those that need this fix I recommend you keep the tarball on the local hardrive and run the autorun.sh script after your computer restarts from a kernel update.

       A bug report has been filed so hopefully this problem gets resolved in the "oficial" suse release. 

Take Care
Mike

Thanks for the thread - had exactly the same issue, followed the instructions and problem solved - confirm it is r8168 that works. Indeed was a new installation and r8169 was replaced by autorun.sh (it told me so).

Thanks for the bug report!
It is available here: Access Denied

When I searched for pilotmm’s bug report, I found another bug report which seems to be very similar:
https://bugzilla.novell.com/show_bug.cgi?id=702205

Please all people hit by this bug consider voting on these two bug pages to make openSUSE wake up faster :slight_smile:

Just a quick update: Realtek released a new file r8168-8.026.00.tar.bz2 on 2011-10-26
which replaced version 8.024.00.
I ran a recursive diff of the sources and it looks to contain some important changes.
Any experiences with this new driver version 8.026 as compared to 8.024?

On 11/01/2011 03:36 AM, sven1999 wrote:
>
> Just a quick update: Realtek released a new file r8168-8.026.00.tar.bz2
> on 2011-10-26
> which replaced version 8.024.00.
> I ran a recursive diff of the sources and it looks to contain some
> important changes.
> Any experiences with this new driver version 8.026 as compared to
> 8.024?

I do not have that hardware, so I cannot test the new driver version.

There is a problem with both wired and wireless drivers from Realtek. When they
make updates, they release a new out-of-kernel driver but do not submit those
changes as patches to the in-kernel version. If you, or anyone else, can test
the new driver, and prepare patches to implement any beneficial changes in the
kernel version, you would do the community a huge service.

I can help you with the mechanics of the patch process, but not having the
hardware limits my part in the testing. :slight_smile:

I could try …
What files of what kernel version I should base my patches on?

On 11/01/2011 04:16 PM, sven1999 wrote:
>
> lwfinger;2399459 Wrote:
>>
>> I do not have that hardware, so I cannot test the new driver version.
>>
>> There is a problem with both wired and wireless drivers from Realtek.
>> When they
>> make updates, they release a new out-of-kernel driver but do not submit
>> those
>> changes as patches to the in-kernel version. If you, or anyone else,
>> can test
>> the new driver, and prepare patches to implement any beneficial changes
>> in the
>> kernel version, you would do the community a huge service.
>>
>
> I could try …
> What files of what kernel version I should base my patches on?

The best would be the mainline git tree at
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, but you can
use the 3.1 openSUSE kernel. Any inconsistencies between the openSUSE and
mainline kernels would be easy to rectify, and I could help you with that.

To generate patches, I recommend that you use quilt. It makes generating patches
especially easy.

The situation is as follows:
The default driver (r8169) works in kernel 3.1 (3.1.0-2-default #1 SMP Sun Oct 30 11:59:05 UTC 2011 (5312d70) x86_64 x86_64 x86_64 GNU/Linux);
I tested this copying 1 TB in around 10 million files over NFS.
So, I expect the same for openSUSE 12.1.

The default driver (r8169) in kernel 2.6.37 of openSUSE 11.4 does not work.
A workaround (see above) is known, but probably many would like a backport
of changes in the r8169 driver.
I cannot help here. Sorry.

I had exactly the same problem and using the same hardware.The r8168 driver is the appropriate one. Furthermore you compile the driver with the parts of the kernel source code, so the driver is then better adjusted to the used kernel. After this modification the network performance is as good as I expect.