Ethernet controllers not working (Realtek RTL810xE, Realtek RTL8111)
lspci -nn
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 03)
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet Controller [10ec:8136] (rev 02)
modinfo r8169 | grep 8136 # the r8169 driver will see the RTL810xE
alias: pci:v000010ECd00008136sv*sd*bc*sc*i*
The system is not seeing the RTL810xE ethernet card. This is because you have the r8168-dkms driver installed, which works fine for the RTL8111/8168/8411 ethernet card, but not the RTL810xE.
Recommend uninstalling the r8101 github driver, and the r8168-dkms driver, and letting the standard r8169 driver find both cards.
This would also make software updates faster if kernel updates are included, as it won't have to additionally rebuild dkms drivers.
Related videos on Youtube
Will Hardiman
Updated on September 18, 2022Comments
-
Will Hardiman over 1 year
EDIT: I've found an appropriate driver
https://github.com/ghostrider-reborn/realtek-r8101-linux-driver
I followed instructions here and now both network cards work (I only use one at a time because I'm testing connecting them to the same network.)
Original post
I installed Kubuntu 18.04 on a computer which has previously been running Kubuntu 14.04, and I've not been able to get one of the two network cards working successfully. Unfortunately, I need both of them to be configured for my lab setup.
I've tried plugging either of them with the same ethernet cable, but only the RTL8111 ever works.
dmesg
doesn't have anything for Ethernet or Network in it, andjournalctl -xe
only mentions the successful loading of the RTL8111 driver.Below are some diagnostic outputs that you will hopefully find useful
lshw -C network
*-network UNCLAIMED description: Ethernet controller product: RTL810xE PCI Express Fast Ethernet controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:02:00.0 version: 02 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix vpd bus_master cap_list configuration: latency=0 resources: ioport:b800(size=256) memory:f7cff000-f7cfffff memory:cfff0000-cfffffff *-network description: Ethernet interface product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:01:00.0 logical name: enp1s0 version: 03 serial: [redacted] size: 1Gbit/s capacity: 1Gbit/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.046.00-NAPI duplex=full latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s resources: irq:31 ioport:a800(size=256) memory:cfeff000-cfefffff memory:cfef8000-cfefbfff memory:f7be0000-f7bfffff *-network description: Ethernet interface physical id: 1 logical name: enp0s26f7u1 serial: [redacted] capabilities: ethernet physical configuration: broadcast=yes driver=rndis_host driverversion=22-Aug-2005 firmware=RNDIS device ip=192.168.42.163 link=yes multicast=yes
Kubuntu can see the network cards (the third device is my phone using USB tethering), however the first one is "UNCLAIMED"
lspci -v | grep -A20 Ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03) Subsystem: ASRock Incorporation Motherboard (one of many) Physical Slot: 0-3 Flags: bus master, fast devsel, latency 0, IRQ 31 I/O ports at a800 [size=256] Memory at cfeff000 (64-bit, prefetchable) [size=4K] Memory at cfef8000 (64-bit, prefetchable) [size=16K] Expansion ROM at f7be0000 [disabled] [size=128K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Endpoint, MSI 01 Capabilities: [ac] MSI-X: Enable- Count=4 Masked- Capabilities: [cc] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Virtual Channel Capabilities: [160] Device Serial Number [redacted] Kernel driver in use: r8168 Kernel modules: r8168 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 02) Subsystem: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller Physical Slot: 0-2 Flags: bus master, fast devsel, latency 0, IRQ 11 I/O ports at b800 [size=256] Memory at f7cff000 (64-bit, non-prefetchable) [size=4K] Memory at cfff0000 (64-bit, prefetchable) [size=64K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Endpoint, MSI 01 Capabilities: [ac] MSI-X: Enable- Count=2 Masked- Capabilities: [cc] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [140] Virtual Channel Capabilities: [160] Device Serial Number [redacted]
It has loaded the kernel module for the first card, however it hasn't done anything for the second card.
lsmod
Module Size Used by intel_powerclamp 20480 0 snd_hda_codec_realtek 114688 1 coretemp 20480 0 snd_hda_codec_generic 77824 1 snd_hda_codec_realtek kvm_intel 241664 0 ledtrig_audio 16384 2 snd_hda_codec_generic,snd_hda_codec_realtek kvm 647168 1 kvm_intel snd_hda_intel 49152 5 irqbypass 16384 1 kvm snd_hda_codec 135168 3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek snd_hda_core 86016 4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek rndis_host 20480 0 snd_hwdep 20480 1 snd_hda_codec ni_pcimio 73728 0 cdc_ether 20480 1 rndis_host ni_tiocmd 16384 1 ni_pcimio mite 20480 2 ni_tiocmd,ni_pcimio snd_pcm 102400 4 snd_hda_intel,snd_hda_codec,snd_hda_core usbnet 45056 2 rndis_host,cdc_ether comedi_pci 16384 2 mite,ni_pcimio intel_cstate 20480 0 mii 16384 1 usbnet ni_routing 299008 2 ni_tiocmd,ni_pcimio input_leds 16384 0 ni_tio 20480 2 ni_tiocmd,ni_pcimio comedi_8255 16384 1 ni_pcimio snd_seq_midi 20480 0 snd_seq_midi_event 16384 1 snd_seq_midi comedi 73728 5 mite,comedi_pci,ni_tiocmd,ni_pcimio,comedi_8255 snd_rawmidi 36864 1 snd_seq_midi snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event gpio_ich 16384 0 snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi snd_timer 36864 2 snd_seq,snd_pcm snd 86016 19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi serio_raw 20480 0 soundcore 16384 1 snd i5500_temp 16384 0 lpc_ich 24576 0 i7core_edac 24576 0 mac_hid 16384 0 sch_fq_codel 20480 3 parport_pc 36864 0 ppdev 24576 0 lp 20480 0 parport 53248 3 parport_pc,lp,ppdev ip_tables 32768 0 x_tables 40960 1 ip_tables autofs4 45056 2 nouveau 1871872 20 hid_generic 16384 0 video 49152 1 nouveau i2c_algo_bit 16384 1 nouveau ttm 102400 1 nouveau mxm_wmi 16384 1 nouveau drm_kms_helper 180224 1 nouveau syscopyarea 16384 1 drm_kms_helper sysfillrect 16384 1 drm_kms_helper psmouse 151552 0 sysimgblt 16384 1 drm_kms_helper usbhid 53248 0 fb_sys_fops 16384 1 drm_kms_helper hid 126976 2 usbhid,hid_generic drm 483328 10 drm_kms_helper,ttm,nouveau firewire_ohci 40960 0 pata_acpi 16384 0 ahci 40960 0 firewire_core 65536 1 firewire_ohci r8168 528384 0 pata_via 16384 0 libahci 32768 1 ahci crc_itu_t 16384 1 firewire_core wmi 28672 2 mxm_wmi,nouveau
5th line from the end is the driver for the RTL8111 card, and I don't know if this is actually useful for you at all.
lspci -nn
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 03) 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet Controller [10ec:8136] (rev 02)
-
Boris Hamanov over 4 yearsYou're using both a netplan and a NewtorkManager definition, and in both you've assigned the same IP address to both ethernet cards. Can't do that. Are you running on a desktop or server installation?
-
Will Hardiman over 4 yearsThis is a desktop installation. I should have clarified, although I've assigned the same IP to them both, I only have one network cable, so only one of them is plugged in at any time. Furthermore, the network only allows whitelisted IPs and hostnames, so I have to use the IP I've been assigned for this computer. Once I've got the hardware working on this computer, one of the cards will be used for a separate network to connect to a piece of lab hardware. Regardless, that doesn't change the fundamental problem that one of the devices is "UNCLAIMED" according to lshw, whatever that means.
-
Boris Hamanov over 4 yearsWhere did you get enp2s0 from? lshw is not properly identifying the RTL810xE. Maybe it needs a firmware update? Do you know what the network info for the lab-connected hardware needs to be? We need to start over with your network config files. My answer will depend your answers to my above questions.
-
Will Hardiman over 4 yearsThe problem was the driver for the second card. I have now fixed it, thanks for trying to help.
-
Boris Hamanov over 4 yearsPlease give me more details on your fix.
-
Will Hardiman over 4 yearsAll the details are in my edit to the original post: I installed an r8101 driver from github.com/ghostrider-reborn/realtek-r8101-linux-driver
-
Boris Hamanov over 4 yearsInteresting. The r8169 driver was supposed to drive both cards. You know, of course, that the 2nd card is not a gigi-bit card. You also need to change your .yaml file for NM.
-
Boris Hamanov over 4 yearsAh, I just noticed that you're using the r8168 driver, not the r8169. I wonder if that's why the 2nd card didn't work? Please show me
lspci -nn
. -
Will Hardiman over 4 yearsI've put the relevant lines in my original post
-
Boris Hamanov over 4 yearsYes. The standard r8169 driver should drive both cards. You can see this with
modinfo r8169 | grep 8136
. If you wish, you could remove the 8101 driver, and the r8168-dkms driver, reboot, and both cards should work, out of the box. Amongst other things, it would make for faster software updates when the kernel gets updated. -
Boris Hamanov over 4 yearsstatus please...
-
Bruni over 4 yearsThe standard r8169 is almost unusable on the RTL810xE. Thank you for sharing the link! You saved my day.
-