Chip-Set: Realtek RTL8111G not working

_fu_

New Member
Apr 17, 2022
5
0
1
Hi there,

I got a PCIe Quad card (link) which has a Chip-Set: Realtek RTL8111G and it doesn't work with proxmox. I am getting a "r8169 rtl_rxtx_empty_cond" error. The mobo Aorus elite B550m elite comes with an onboard ethernet (also realtek), which alone works. I disabled the internal in the hope to get the quad eth working, but no luck :( Any idea how I can make this work?

What I did so far:


Cheers

.f
 
Since I try some stuff, I figure I write stuff down so people don't need to do the googling again :)

Getting rid of r8169 driver and installing r8168-8.049.02

get driver from here
GBE Ethernet LINUX driver r8168 for kernel up to 5.68.049.02

unpack, go to src and add dkms.conf

Code:
PACKAGE_NAME="r8168"
PACKAGE_VERSION="8.049.02"
BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="YES"
REMAKE_INITRD="YES"

now create folder on proxmox and copy the src folder into it

Code:
mkdir /usr/src/r8168-8.049.02

scp -r src/* root@<proxmox-ve-ip>:/usr/src/r8168-8.049.02/

Install dkms
Code:
apt-get install -y dkms

Update source.list and get pve-headers
Code:
nano /etc/apt/sources.list
and add those elements:
Code:
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

Then install headers
Code:
apt install pve-headers-5.13.19-2-pve

Adding new driver to kernel
Code:
dkms add -m r8168 -v 8.049.02
dkms build -m r8168 -v 8.049.02
dkms install -m r8168 -v 8.049.02

remove old 8169
Code:
modprobe -r r8169

will not work as
Code:
lspci -vv | grep r81

Still shows Kernel driver in use is r8169, although both are available


blacklist r8169
Code:
nano /etc/modprobe.d/blacklist.conf
and add
Code:
blacklist r8169

still shows 8169 in use

Updating initrd.img
Code:
update-initramfs -u

finally r8168 is used! Yea!
Code:
root@pve:~# lspci -vv | grep r81
pcilib: sysfs_read_vpd: read failed: Input/output error
pcilib: sysfs_read_vpd: read failed: Input/output error
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168
pcilib: sysfs_read_vpd: read failed: Input/output error
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168
pcilib: sysfs_read_vpd: read failed: Input/output error
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168
pcilib: sysfs_read_vpd: read failed: Input/output error
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168
    Kernel driver in use: r8168
    Kernel modules: r8169, r8168

setting vmbr0 to new network card (enp5s0) does however not work :/

Code:
ip neigh

Shows dev vmbr0 FAILED
Any ideas?
 
Having the same problem with Delock PCI Express x4 Card 4 xRj45 Gigabit LAN RTL8111. After distro upgrade, it stopped working.
Did you have any success in your case?

 
I'm also looking to move to 8168 and got dev vmbro0 failed after following the instructions above...
 
Since I try some stuff, I figure I write stuff down so people don't need to do the googling again :)

Getting rid of r8169 driver and installing r8168-8.049.02

My box has this NIC Chipset on-board - and I have been fighting with getting this working for about a week. Going absolutely nuts. I would try and install the Proxmox installer and would notice that the on-board NIC would have no lights after the initial Proxmox screen came up. Yet, it would be in the list of controllers to choose as the management port, but would not have a valid IP Address. Even giving it one would not work.

I then decided I would install Debian and get everything fully working there and try the Proxmox install there. Same issue in Debian 11 - the NIC would have no lights after the OS began its installation process. Even through it would list the controller as:
( Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) )

on the screen after getting to the end of the install - there would be no lights on the NIC, and doing an "ip a" it would have no address. When you would do

lspci | grep Ether

It would show that the r8169 was being used - I found an article on how to blacklist the r8169 and install the Debian 11 r8168-dkms. This would work perfectly until I would run the Proxmox installation. Then the NIC no longer worked. Lots of back and forth in another message here - about the KERNAL version in Proxmox....but according to the nots in the r8168-dkms, it would handle a change like that (see below):

[ = from https://unixblogger.wordpress.com/2...realtek-rtl8111rtl8168-working-updated-guide/
This can be easily done with the following command:

sudo apt-get install r8168-dkms

The procedure will take some time, depending on your CPU because the driver will be build for your working Kernel. The good side is, that if any Kernel update happens on your machine, the kernel will be rebuild against the new Kernel automatically after the update because of the use of dkms.


Well it lies.... LOL even re-running that line after installing Proxmox would not fix it.

Then I found your instructions...and it was like the weight was lifted. Here is what I did:
 
Getting rid of r8169 driver and installing r8168-8.050.03 (I had to adjust some of the lines as I have PVE 7.2.7)

*** I am no LINUX expert, but I am good at following directions and 'tweaking' as needed ;) ***

I went here to get the package files: https://packages.debian.org/bullseye-backports/source/r8168

unpack, go to src and add the following to a file “dkms.conf”


Code:
PACKAGE_NAME="r8168"
PACKAGE_VERSION="8.050.03"
BUILT_MODULE_NAME[0]="$PACKAGE_NAME"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="YES"
REMAKE_INITRD="YES"


now create folder on proxmox and copy the src folder into it

Code:
mkdir /usr/src/r8168-8.050.03

scp -r src/* root@proxmox:/usr/src/r8168-8.050.03


Install dkms

Code:
apt-get install -y dkms

Update source.list and get pve-headers

Code:
nano /etc/apt/sources.list

and add those elements:

Code:
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

Then install headers

Code:
apt install pve-headers-5.15.*

Adding new driver to kernel

Code:
dkms add -m r8168 -v 8.050.03
dkms build -m r8168 -v 8.050.03
dkms install -m r8168 -v 8.050.03

remove old 8169

Code:
modprobe -r r8169

will not work as

Code:
lspci -vv | grep r81

Still shows Kernel driver in use is r8169, although both are available

blacklist r8169

Code:
sudo sh -c 'echo blacklist r8169 >> /etc/modprobe.d/blacklist.conf'

or

nano /etc/modprobe.d/blacklist.conf

and add  
blacklist r8169

still shows 8169 in use

Updating initrd.img

Code:
update-initramfs -u


finally r8168 is used! Yea!

Code:
lspci -v 

and looking through the list:

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Flags: bus master, fast devsel, latency 0, IRQ 30
I/O ports at e000 [size=256]
Memory at fe900000 (64-bit, non-prefetchable) [size=4K]
Memory at f8800000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [170] Latency Tolerance Reporting
Kernel driver in use: r8168
Kernel modules: r8168


After all of that and a final REBOOT. I had to edit the /etc/network/interfaces and make sure that all the adapters were there. Then I could create my LINUX BRIDGE adapters.
 
  • Like
Reactions: Thorvi
Hi bearhntr, I have the exact same problem as you with my eth adapter on a freshly installed proxmox. I followed your instructions, it was difficult to install the dkms package and the pve-headers as my ethernet adapter fails quickly before the end of download from apt-get , but after several reboot I could make it download them.

I'm at the step of dkms build command, but I ave this error :

Code:
Kernel preparation unnecessary for this kernel.   Skipping...

Building module:
cleaning build area...
make-j4 KERNELRELEASE=5.15.30-2-pve-C/lib/modules/5.15.30-2-pve/buildM=/var/1ib/dkms/r8168/8.050.03/build.........
.ko failed for: 5.15.30-2-pve (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/r8168/8.050.03/build/ for more information.

in the /var/lib/dkms/r8168/8.050.03/build/make.log, here is what I have :
Code:
DKMS make.log for r8168-8.050.03 for kernel 5.15.30-2-pve (x86_64)
Wed 04 Jan 2023 12:29:58 AM CET
make: Entering directory "/usr/src/linux-headers-5.15.30-2-pve'
CC [M] /var/1ib/dkms/r8168/8.050.03/build/r8168_n.0
CC [M] /var/lib/dkms/r8168/8.050.03/build/r8168_asf.0
CC [M] /var/lib/dkms/r8168/8.050.03/build/rtl_eeprom.o
CC [M] /var/lib/dkms/r8168/8.050.03/build/rtltool.o
LD [M] /var/11b/dkms/r8168/8.050.03/build/r8168.0
MODPOST /var/lib/dkms/r8168/8.050.03/build/Module.symvers
CC [M] /var/lib/dkms/r8168/8.050.03/build/r8168.mod.o
LD [M] /var/lib/dkms/r8168/8.050.03/build/r8168.k0
make: Leaving directory /usr/src/linux-headers-5.15.30-2-pve'

I tried with last version of PVE, I had the same issue.

Do you have any idea, or anybody can help me ?

Thanks a lot

Matz
 
Finally, I found this article https://community.hetzner.com/tutorials/installing-the-r8168-driver and followed Option B with minor modifications :

1. The adapter works at the reboot for few minutes, allowing me to get online ressources needed : realtek driver + pve-headers. I noticed that if I make a "ping -c 2 8.8.8.8" after a reboot make the driver stable more time. Why ? Don't know :)

2. At the beginning, in file /etc/apt/sources.list, add the no-subscription info :
Code:
nano /etc/apt/sources.list

Add lines :

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

After that, execute :
apt-get update

3. Then just follow the Option B of the article : worked very well
 

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!