Trouble installing Realtek RTL8101 network card.

I am having trouble getting a Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller to work on openSuSE 11.3. Most of the data for the problem is in this pastebin of the output of Framp’s collectNWData.sh. I have also downloaded drivers for this card as detailed below.

stephen@linux-75on:~> zypper se -r drivers:nic -i
Loading repository data...
Reading installed packages...

S | Name              | Summary                                                           | Type   
--+-------------------+-------------------------------------------------------------------+--------
i | r8101             | Kernel module for RealTek RTL8100/8101/8102/8103 PCI-Express NICs | package
i | r8101-kmp-default | Kernel module for RealTek RTL8100/8101/8102/8103 PCI-Express NICs | package
i | r8101-kmp-desktop | Kernel module for RealTek RTL8100/8101/8102/8103 PCI-Express NICs | package
i | r8169-kmp-default | Kernel module for RealTek RTL8110/8169 PCI-Express NICs           | package
i | r8169-kmp-desktop | Kernel module for RealTek RTL8110/8169 PCI-Express NICs           | package

Also, here is the more complete output of /usr/sbin/iwlist scan:

lo        Interface doesn't support scanning.

eth0      Interface doesn't support scanning.

pan0      Interface doesn't support scanning.

It seems that

I didn’t mean to post the post above, but it still provides good background for my problem.
My problem, as diagnosed by collectNWData, seems to be that I do not have the eth0 kernel module installed. In other words, /sbin/modprobe eth0 returns "FATAL: Module eth0 not found. I presume this is the “loaded module detected for interface” that collectNWData did not find. Where can I get this kernel module?

On 08/27/2010 04:36 PM, s-phi-nl wrote:
>
> I didn’t mean to post the post above, but it still provides good
> background for my problem.
> My problem, as diagnosed by collectNWData, seems to be that I do not
> have the eth0 kernel module installed. In other words, /sbin/modprobe
> eth0 returns "FATAL: Module eth0 not found. I presume this is the
> “loaded module detected for interface” that collectNWData did not find.
> Where can I get this kernel module?

Eth0 is the name of a device, not the name of the module, aka driver. In general
ethX is for wired cards and wlanX is for wireless, although there are exceptions.

To discover what driver you need, please run the command ‘lspci -nnk’ and post
the output.

I actually figured that out before you replied, but thanks for your reply anyway.

I am mostly confused on this my problems with wireless network. However, it seems that the most important parts of the data I’ve posted are collectNWData’s diagnosis of “No loaded module detected for interface” on line 13 and the “Link detected: no” that it quoted from hwinfo on line 86.

As requested, here is the output of lspci -nnk:

00:00.0 Host bridge [0600]: Intel Corporation Core Processor DRAM Controller [8086:0044] (rev 02)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: i915
00:16.0 Communication controller [0780]: Intel Corporation 5 Series/3400 Series Chipset HECI Controller [8086:3b64] (rev 06)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
00:1a.0 USB Controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b3c] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: ehci_hcd
00:1b.0 Audio device [0403]: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio [8086:3b56] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: HDA Intel
00:1c.0 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 [8086:3b42] (rev 05)
        Kernel driver in use: pcieport
00:1c.1 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 [8086:3b44] (rev 05)
        Kernel driver in use: pcieport
00:1d.0 USB Controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b34] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev a5)
00:1f.0 ISA bridge [0601]: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller [8086:3b09] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller [8086:3b29] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller [8086:3b30] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
00:1f.6 Signal processing controller [1180]: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem [8086:3b32] (rev 05)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8191SEvA Wireless LAN Controller [10ec:8171] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:1467]
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
        Kernel driver in use: r8101
ff:00.0 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers [8086:2c62] (rev 02)
        Subsystem: Hewlett-Packard Company Device [103c:1425]
ff:00.1 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture System Address Decoder [8086:2d01] (rev 02)
        Subsystem: Hewlett-Packard Company Device [103c:1425]                                                                                                                                   
ff:02.0 Host bridge [0600]: Intel Corporation Core Processor QPI Link 0 [8086:2d10] (rev 02)                                                                                                    
        Subsystem: Hewlett-Packard Company Device [103c:1425]                                                                                                                                   
ff:02.1 Host bridge [0600]: Intel Corporation Core Processor QPI Physical 0 [8086:2d11] (rev 02)                                                                                                
        Subsystem: Hewlett-Packard Company Device [103c:1425]                                                                                                                                   
ff:02.2 Host bridge [0600]: Intel Corporation Core Processor Reserved [8086:2d12] (rev 02)                                                                                                      
        Subsystem: Hewlett-Packard Company Device [103c:1425]                                                                                                                                   
ff:02.3 Host bridge [0600]: Intel Corporation Core Processor Reserved [8086:2d13] (rev 02)                                                                                                      
        Subsystem: Hewlett-Packard Company Device [103c:1425] 

This is your Ethernet device:

> 03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
> Subsystem: Hewlett-Packard Company Device [103c:1425]
> Kernel driver in use: r8101

I don’t know why the system is using r8101 as the driver - the kernel source
says that this device should use r8169. Try the following


lsmod | grep r81
sudo /sbin/modprobe -rv r8101
sudo /sbin/modprobe  -v r8169

The first of those commands is just for verification. If the other two allow
your wired connection to work, then blacklist r8101 and add r8169 to the list of
modules loaded at boot.

I tried what you said, and also used YaST > System > Kernel Settings to change the driver for both the 03:00.0 and the 02:00.0 to r8169. My wired connection no longer worked after I did so, so I switched the module back to r8101 using the mirror commands of

/sbin/modprobe -rv r8169 
/sbin/modprobe -v r8101

at which point my wired connection went back to working. However, the system no longer detected the 02:00.0 controller! I believe this was a result of me messing with the kernel settings, because it showed some kind of error, which unfortunately I did not copy down. My windows boot, which used to have wireless internet, now no longer does. How can I get the 02:00.0 device back detected?

Also, one thing I realized from your message is that I hadn’t made clear that the wired interface has worked with SuSE and this chip ever since I first plugged it in and still works now (I’m using it to submit this post). My problem is with getting wireless to work.
Thanks for your reply.

On 08/28/2010 01:06 PM, s-phi-nl wrote:
>
> I tried what you said, and also used YaST > System > Kernel Settings to
> change the driver for both the 03:00.0 and the 02:00.0 to r8169. My
> wired connection no longer worked after I did so, so I switched the
> module back to r8101 using the mirror commands of
> Code:
> --------------------
> /sbin/modprobe -rv r8169
> /sbin/modprobe -v r8101
> --------------------
> at which point my wired connection went back to working. However, the
> system no longer detected the 02:00.0 controller! I believe this was a
> result of me messing with the kernel settings, because it showed some
> kind of error, which unfortunately I did not copy down. My windows boot,
> which used to have wireless internet, now no longer does. How can I get
> the 02:00.0 device back detected?
>
> Also, one thing I realized from your message is that I hadn’t made
> clear that the wired interface has worked with SuSE and this chip ever
> since I first plugged it in and still works now (I’m using it to submit
> this post). My problem is with getting wireless to work.
> Thanks for your reply.

You did not make that clear. I wondered why a wired problem was posted in
wireless, but I no longer have any hope that people will post in the correct forum!

If your device no longer shows up in Windows, that is either because your
hardware has failed, or that your BIOS has turned the device off. If the latter,
Windows did it. Nothing you did with the wired driver could possible affect that.

The Linux driver for your wireless device is awful and rarely works. There is a
replacement that I have running reliably in Linux. Unfortunately, it is
unreleased code that I obtained privately and Realtek has not signed off on the
copyright changes that are needed. Until they do, there is little I can do. When
this driver goes into staging, it will be called r8712u. At some point, I hope
to get into the mainline net tree where it will be called rtl8712u.

First, my apologies for not making it clear that my problem was with wireless, not wired.
Second, good news: the 02:00.0 device is back to detected and wireless is back to working on Windows! I think a few Windows Updates may have done the trick.
On your proprietary driver, do you think it would be a total waste of time to contact Realtek and ask if they could provide me with the driver as well? How much trouble was it to install?

I ran out of time to edit the previous message, so I’ll add an addendum.
First, collectNWData’s error is back to “No loaded module detected for interface” from “No network card for the selected connection type was found on the system”.
Also, I think I have tried to install the Windows driver using ndiswrapper, but I can try again. What do you think of this idea?

I just got the wireless driver to work, thanks to your instructions on this thread to install kernel dev tools. Thank you for all your help. Would it help you any in your copyright negotiations if I emailed Realtek in your support?

On 08/28/2010 03:06 PM, s-phi-nl wrote:
>
> First, my apologies for not making it clear that my problem was with
> wireless, not wired.
> Second, good news: the 02:00.0 device is back to detected and wireless
> is back to working on Windows! I think a few Windows Updates may have
> done the trick.
> On your proprietary driver, do you think it would be a total waste of
> time to contact Realtek and ask if they could provide me with the driver
> as well? How much trouble was it to install?

The Realtek driver is licensed with GPL, thus it is not proprietary. They have
one on their website with the file name
rtl8712_8188_8191_8192SU_usb_linux_v2.6.0006.20100511.tar.gz. The one I’m using
is a beta called rtl8712_8188_8191_8192SU_usb_linux_v2.6.0007.20100607_beta. The
0006 version will not work with 64-bit Linux and crashes the system. The fact
that I got the beta privately constrains my actions.

Using the Windows driver may, or may not, work. I refuse to use ndiswrapper as I
never allow any Windows code to have uncontrolled access to my system. Building
the Realtek driver is not any worse than building any other out-of-kernel
driver. It requires gcc, make and the headers for your kernel. In addition, the
headers have to be prepped. If you want to go that route, there are several
articles describing what needs to be done.

What I have done is a lot more work - I worked more-or-less fulltime on this
code for 3 months. That involved stripping out all the dead code and cleaning up
the code to meet Linux kernel standards.

On 08/28/2010 04:36 PM, s-phi-nl wrote:
>
> I just got the wireless driver to work, thanks to your instructions on
> ‘this thread’ (http://tinyurl.com/36zqt4c) to install kernel dev tools.
> Thank you for all your help. Would it help you any in your copyright
> negotiations if I emailed Realtek in your support?

I do not think so. I sent them a message again today telling them that I would
like an answer as I will be away for some time.