# [SOLVED] Realtek RTL8111/8168B: No ethernet

## philip

I just bought a MSI 990FXA-GD MOBO with built i Gigabit Ethernet: Realtek RTL8111/8168B ethernet controller

I built the kernel with the module r8169

CONFIG_R8169

The module loads fine, but I do not get the eth0 i/f.

dmesg shows:

```

r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

r8169 0000:03:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46

r8169 0000:03:00.0: setting latency timer to 64

r8169 0000:03:00.0: (unregistered net_device): unknown MAC, using family default

r8169 0000:03:00.0: no MSI. Back to INTx.

r8169 0000:03:00.0: eth0: RTL8168b/8111b at 0xf8468000, 8c:89:a5:64:01:91, XID 0c900800 IRQ 46
```

I am not sure how to interpret "(unregistered net_device): unknown MAC, using family default" and "no MSI. Back to INTx." 

Is there any other kernel setting I need to make the eth controller work?

Some from my emerge --info

kernel: 2.6.39-r2

Phenom II x6

sys/devel/gcc 4.4.5

My MSI UEFI BIOS version is E7640AMS v11.8

----------

## NeddySeagoon

philip,

MSI means message Signalled Interrups.

PCI IRQs can be shared.  With the old INTx approach, interrupt handers were chained together, and each link in the chain had to check if the IRQ was for it.

With MSI, the address of the service routine is loaded into the device and the device puts the address on the bus as a part of the interrupt request/acknowledge cycle.

In your kernel, turn on the MSI option, its a good thing for devices that can use it and is harmless to devices that can't.

```
-*- Message Signaled Interrupts (MSI and MSI-X) 
```

under Bus options (PCI etc.) 

Some Realtek RTL8111/8168B cards have firmware patch files.  The one in my media player does.  Its not essential but the module stalls the boot process for 60 sec if its not found.

Look in dmesg to see if you are affected.

Lastly, some 1Gig network cards need a separate PHY driver, which must be loaded before the network module or they won't work..

----------

## philip

NeddySeagoon, many thanks for your advice.

Unfortunately still no ethernet. I did the follwing:

Activated in kernel 

1. Bus options (PCI etc) --> <*> Message Signaled Interrupts (MSI and MSI-X)

and

2. Device Drivers --> Network device support --> PHY Device support and infrastructure --> <*> Drivers for Realtek PHYs 

Now dmesg gives:

Code:

```
r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

r8169 0000:03:00.0: PCI INT A -> GSI 46 (level, low) -> IRQ 46

r8169 0000:03:00.0: setting latency timer to 64

r8169 0000:03:00.0: (unregistered net_device): unknown MAC, using family default

r8169 0000:03:00.0: irq 72 for MSI/MSI-X.

r8169 0000:03:00.0: eth0: RTL8168b/8111b at 0xf8eb0000, 8c:89:a5:64:01:91, XID 0c900800 IRQ 72
```

So activating "Message Signaled Interrupts (MSI and MSI-X)" seemd to have the right effect.

But still no ethernet.....

Then I also found in dmesg:

# dmesg | grep eth0

udev[1484]: renamed network interface eth0 to eth1

Why does udev rename my et0 to eth1?   If I can solve this I guess my total problem is solved

----------

## BillWho

philip,

 *Quote:*   

> Why does udev rename my et0 to eth1? If I can solve this I guess my total problem is solved

 

You can either edit the /etc/udev/rules.d/70-persistent-net.rules or delete it and reboot.

Good luck   :Wink: 

----------

## philip

BillWho,

I chose to remove /etc/udev/rules.d/70-persistent-net.rules and rebbot.

And Woohooo :) it works!

I moved my old disk over to the new motherboard. Udev must have just added the new eth i/f to the 70-persistent-net.rules file, named it eth1 and kept the old MOBO eth i/f as eth0.

Gentoo Forum is so great! Within 20 minutes I got the tip from NeddySeagoon and within 36 minutes the tip from you BillWho. Thank you all!

----------

## NeddySeagoon

philip,

You are correct with your eth0/eth1 renaming analysis.

70-persistent-net.rules is designed to ensure that in systems with several ethernet interfaces, they always have the same name after every boot.

The names are otherwise allocated in the order in which the interfaces start, which is not fixed.

----------

## philip

Again,

Great many thanks NeddySeagoon :)

----------

