r8168 driver missing in 1.4

  • Thread starter Thread starter Myatu
  • Start date Start date
M

Myatu

Guest
I've noticed the r8168 network driver (kernel) wasn't included with the 1.3 -> 1.4 upgrade (and r8169 doesn't work for it). Was this intentional?
 
I've noticed the r8168 network driver (kernel) wasn't included with the 1.3 -> 1.4 upgrade (and r8169 doesn't work for it). Was this intentional?

We include a backported version of the r8169, which also works with r8168 (at least a few people reported that it works).
 
We include a backported version of the r8169, which also works with r8168 (at least a few people reported that it works).

It didn't in my case and compiled my own from RealTek. But I'll double check a few things, just to be sure -- not exactly using a conventional system :)
 
Gigabyte EP45-UD3L has an onboard RTL8168 and it works flawlessly using the back ported 8169 driver in v1.4 (it worked even in v1.3 as well)

Code:
host:~# [B]lspci -v | grep -i "Ethernet"[/B]
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
03:01.0 Ethernet controller: D-Link System Inc DGE-530T Gigabit Ethernet Adapter (rev 11) (rev 11)
        Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter (rev 11)

The second NIC (DLink) had to be put in the second PCI slot and only then did it work. The onboard NIC also had trouble when the second NIC was in PCI slot 1.

Also /etc/udev/rules.d/70-persistent-net.rules had to be adjusted by switching the eth0 and eth1 names of the NICs to ensure dependable persistence across reboots.

Get the parameters for udev from:
Code:
udevinfo -a -p /sys/class/net/eth0
The values I got were:
Code:
  looking at device '/devices/pci0000:00/0000:00:1c.5/0000:04:00.0/net/eth0':
    KERNEL=="eth0"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{addr_len}=="6"
    ATTR{iflink}=="2"
    ATTR{ifindex}=="2"
    ATTR{features}=="0x180"
    ATTR{type}=="1"
    ATTR{link_mode}=="0"
    ATTR{address}=="00:24:1e:a4:ff:32"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{carrier}=="1"
    ATTR{dormant}=="0"
    ATTR{operstate}=="unknown"
    ATTR{mtu}=="1500"
    ATTR{flags}=="0x1103"
    ATTR{tx_queue_len}=="1000"
  looking at parent device '/devices/pci0000:00/0000:00:1c.5/0000:04:00.0/net':
    KERNELS=="net"
    SUBSYSTEMS==""
    DRIVERS==""
  looking at parent device '/devices/pci0000:00/0000:00:1c.5/0000:04:00.0':
    KERNELS=="0000:04:00.0"
    SUBSYSTEMS=="pci"
    [B]DRIVERS=="r8169"[/B]
    ATTRS{vendor}=="0x10ec"
    [B]ATTRS{device}=="0x8168"[/B]
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{subsystem_device}=="0xe000"
    ATTRS{class}=="0x020000"
    ATTRS{irq}=="2299"
    ATTRS{local_cpus}=="00000000,00000000"
    ATTRS{modalias}=="pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00"
    ATTRS{numa_node}=="-1"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
  looking at parent device '/devices/pci0000:00/0000:00:1c.5':
    KERNELS=="0000:00:1c.5"
    SUBSYSTEMS=="pci"
    DRIVERS=="pcieport-driver"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x3a4a"
    ATTRS{subsystem_vendor}=="0x0000"
    ATTRS{subsystem_device}=="0x0000"
    ATTRS{class}=="0x060400"
    ATTRS{irq}=="2300"
    ATTRS{local_cpus}=="00000000,00000000"
    ATTRS{modalias}=="pci:v00008086d00003A4Asv00000000sd00000000bc06sc04i00"
    ATTRS{numa_node}=="-1"
    ATTRS{enable}=="2"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}=="1"
  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
 
I think it this might actually a mistake on my side :cool: (I don't have time to revert back to the backported driver at atm.)

But here's some detail about the NIC, just in case:

Code:
# lspci -s 03:00.0 -v
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
        Subsystem: Intel Corporation Device d608
        Flags: bus master, fast devsel, latency 0, IRQ 2300
        I/O ports at d000 [size=256]
        Memory at fea20000 (64-bit, non-prefetchable) [size=4K]
        [virtual] Expansion ROM at e4000000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
        Capabilities: [48] Vital Product Data <?>
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
        Capabilities: [60] Express Endpoint, MSI 00
        Capabilities: [84] Vendor Specific Information <?>
        Kernel driver in use: r8168
        Kernel modules: r8169
 
Myatu, your Onboard NIC is RTL8168 (rev 01). Mine is (rev 02). You are not using the backported driver.

My Gigabyte Onboard NIC details are:
Code:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
        Subsystem: Giga-byte Technology GA-EP45-DS5 Motherboard
        Flags: bus master, fast devsel, latency 0, IRQ 2299
        I/O ports at c000 [size=256]
        Memory at f8010000 (64-bit, prefetchable) [size=4K]
        Memory at f8000000 (64-bit, prefetchable) [size=64K]
        [virtual] Expansion ROM at f8020000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
        Capabilities: [70] Express Endpoint, MSI 01
        Capabilities: [b0] MSI-X: Enable- Mask- TabSize=2
        Capabilities: [d0] Vital Product Data <?>
        Kernel driver in use:[B] r8169[/B]
        Kernel modules: r8169
The last but one line above shows that the Kernel driver in use is r8169 -> the backported driver.
 
Myatu, your Onboard NIC is RTL8168 (rev 01). Mine is (rev 02). You are not using the backported driver.

I knew I wasn't using the backported driver, as I'd compiled the driver myself from RealTek (see 3rd message). I'm just wondering why rev 1 doesn't work with the backported driver, compared to rev 2. Should hardly be any difference (Ubuntu, however, had massive problems with rev 1 with lost packets -- I don't know if Proxmox backported the driver themselves or came from Ubuntu). But like I said, I'll have to look deeper into this, as I have a suspicious feeling I did something incorrect on my end.
 
If you compile the one from realtek, make sure you do the following:

1) Put source in /usr/src
2) build & install driver according to realtek directions
3) install initramfs-tools if they are not there already (apt-get install initramfs-tools)
3.5) (optional?) echo r8168 >> /etc/modules
3.75) (optional?) echo "r8169" >> /etc/modprobe.d/blacklist
4) update-initramfs -k 2.6.24-8-pve -u -t

If you upgrade kernels via apt-get or another method, then you have to do the above as well.

I have a gigabyte board (GA-MA78GPM-DS2H) and I could kernel panic the box randomly with the r8169 driver in 1.3. At that point I compiled my own.
 
Last edited:
Hi,

I have a network realtek

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)


I have update proxmox 1.4 but my network not works

I have execute this for using the backported driver

sed -i "/blacklist r816[89]/d" /etc/modprobe.d/blacklist
sed -i "s/r8168/8169/g" /etc/initramfs-tools/modules
update-initramfs -tuk 2.6.24-8-pve
reboot

But that don't work
Sorry for my english
 
Same problem here
network goes down after upgrade from 1.3 to 1.4

my network card details

PHP:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
    Subsystem: Intel Corporation Device d608
    Flags: bus master, fast devsel, latency 0, IRQ 2300
    I/O ports at e000 [size=256]
    Memory at ff820000 (64-bit, non-prefetchable) [size=4K]
    [virtual] Expansion ROM at 80000000 [disabled] [size=128K]
    Capabilities: [40] Power Management version 2
    Capabilities: [48] Vital Product Data <?>
    Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
    Capabilities: [60] Express Endpoint, MSI 00
    Capabilities: [84] Vendor Specific Information <?>
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168

is there any solution ?
 
so it seems to have problems with some configurations :/
I was not able to figure out what was wrong except that the new driver was not working
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!