Realtek 2.5Gbit network interface drivers?

jeppe

New Member
Mar 14, 2022
18
2
3
52
Hi,

While investigating stability issues with my Proxmox installation, I have looked into the Realtek R8125B interface I use. It seems to use the wrong driver.

My UniFi switch often “auto-negotiates“ the ethernet speed on the switch port to Fast Ethernet (10/100mbit) instead of 1 gigabit (max for the switch) - maybe caused by the driver? And the whole node sometimes freezes.

Output from ethtool:

Code:
 ~ $ sudo ethtool -i enp2s0
driver: r8169
version: 5.15.83-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
 ~ $

The driver used is r8169, but I believe it should be r8125? How do I check (and change) drivers in Proxmox? And should I? :)

/Jeppe
 
please have a look on internet what the driver r8169 mean. No change for prox about that, but you can clone the repo driver from the chip maker and change the code to have a different label is you need.
 
You're using the driver that's part of the kernel. That's the one you should use in almost all cases.
If you have issues, try kernel 6.1 to see if it fixes those.
 
You're using the driver that's part of the kernel. That's the one you should use in almost all cases.
If you have issues, try kernel 6.1 to see if it fixes those.

Thanks, Mira!

Until now I have only used the official “current” proxmox repositories and apt dist-upgrade to keep my install up to date. How do I change to kernel 6.1 (and how do I revert to “current”) the right way in Proxmox?

Regards,
Jeppe
 
  • Like
Reactions: jeppe
I am also having Realtek 2.5Gbit NIC problems. Mine negotiates speed fine but crashes periodically. For example, here is an excerpt from the syslogs:
Code:
Jan 18 13:48:39 proxmox kernel: r8169 0000:0d:00.0 enp13s0: Link is Down
Jan 18 13:48:39 proxmox kernel: vmbr2: port 1(enp13s0) entered disabled state
Jan 18 13:49:21 proxmox kernel: r8169 0000:0d:00.0 enp13s0: Link is Up - 2.5Gbps/Full - flow control rx/tx
Jan 18 13:49:21 proxmox kernel: vmbr2: port 1(enp13s0) entered blocking state
Jan 18 13:49:21 proxmox kernel: vmbr2: port 1(enp13s0) entered forwarding state

Per Mira's suggestion I upgraded to the new kernel yesterday and restarted but as you can see from the log above it still crashes. Here is the output of ethtool, it seems like the updated kernel doesn't contain more updated firmware for this device:
Code:
root@proxmox:~# ethtool -i enp13s0
driver: r8169
version: 6.1.2-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:0d:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

What can I do to try and fix this? Is there a way to determine why the interface is crashing?
 
Based on the output above the link comes up and the bridge is in the state you want it it to be in.
Are there perhaps other lines in the logs mentioning actual errors?

Is your BIOS running the latest version? A colleague had issues with the following NIC on kernel 6.1.2 because of an older BIOS version:
Code:
0d:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Gigabyte Technology Co., Ltd RTL8125 2.5GbE Controller [1458:e000]
    Kernel driver in use: r8169
    Kernel modules: r8169
 
2.5g nic are very bad as 3 hardware version do exist and the first 2 version are very problematic. Start using it in win10 and see how it do work and what version you have. driver implemented in all kernel is from 2 yrs ago, forget linux or just get a 10g card.
 
Based on the output above the link comes up and the bridge is in the state you want it it to be in.
Are there perhaps other lines in the logs mentioning actual errors?

Is your BIOS running the latest version? A colleague had issues with the following NIC on kernel 6.1.2 because of an older BIOS version:
Code:
0d:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Gigabyte Technology Co., Ltd RTL8125 2.5GbE Controller [1458:e000]
    Kernel driver in use: r8169
    Kernel modules: r8169

Thanks for following up @mira - I did not have the newest BIOS firmware, but I have now upgraded - this could fix the stability issues I’ve had (crossing my fingers), and I’ll leave the driver alone for now.

The firmware for the Realtek NIC reported by ethtool is unchanged by the BIOS update, though. Which version does your colleague see now his/her issue is fixed?

Regards,
Jeppe
 
Since we have the same mainboard and mine uses an older BIOS version (newer than his previous one with issues), I'll post my ethtool output below:
Code:
ethtool -i enp13s0
driver: r8169
version: 6.1.2-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:0d:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
It uses the same firmware version as yours does.
 
  • Like
Reactions: jeppe
Unfortunately this does not help you, but I can say, that the following NIC works 24/7 since around 2 years without a problem (including few bios/UEFI- and all the kernel-updates since then):

Bash:
09:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
        Subsystem: Gigabyte Technology Co., Ltd RTL8125 2.5GbE Controller [1458:e000]
        Kernel driver in use: r8169
        Kernel modules: r8169
Bash:
driver: r8169
version: 6.1.2-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:09:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
 
Unfortunately this does not help you, but I can say, that the following NIC works 24/7 since around 2 years without a problem (including few bios/UEFI- and all the kernel-updates since then):

Bash:
09:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
        Subsystem: Gigabyte Technology Co., Ltd RTL8125 2.5GbE Controller [1458:e000]
        Kernel driver in use: r8169
        Kernel modules: r8169
Bash:
driver: r8169
version: 6.1.2-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:09:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Thanks, @Neobin - honestly it *does* help to know the NIC works very stable for others. I hope my updated BIOS firmware on the ASUS PN51-S1 does the trick for me

/Jeppe
 
  • Like
Reactions: Neobin
Sadly my server froze within the first 24 hrs - not necessarily caused by the NIC, though…
/Jeppe
 
It's a PN51? There's a thread dedicated to issues with that one.
Sadly no reliable solution has been found yet, although some reported that disabling the NIC helps, while others didn't have any luck.
 
So I have figured out that my problem probably isn't the NIC or the firmware. I swapped out my 2.5G Realtek for a 1G Intel and was experiencing the same problem. I'm having trouble figuring out why the link randomly goes down then comes back up about one minute later. It generally happens about twice a day. What kind of logs should I be looking at to find the source of the problem? I don't see anything in dmseg or journalctl.
 
...
The driver used is r8169, but I believe it should be r8125? How do I check (and change) drivers in Proxmox? And should I? :)

I was having some issues with using an RTL8125 card, and found a github repo with latest 8125 drivers, and reasonable instructions about how to install and configure it. I used the "dkms-install.sh" script after fixing some dependancies (pve-headers, dkms).

https://github.com/awesometic/realtek-r8125-dkms

It didn't exactly solve the problem, I suspect the card I purchased possibly is an earlier revision (guess). However I found another card that seemed to work without issue using the default r8169 driver

https://www.amazon.com.au/dp/B08VWQFQ5Z
 
I bought a very cheap 2.5 GBit/s network card with a Realteak 8125 chip and had crashes on Linux.
I had problems with that network card in Proxmox (installed on NVMe), Unraid AND Ubuntu (booted live from USB on bare metal); I haven't tested other distros, but I guess the problem is the same (seems to be depending on the kernel version though - could work on older kernels < 6.4).
I messed around with a lot of things. Installed r8168 (for my onboard NIC) and r8125 and blacklisted r8169 and so on. BUT: I undid all of these steps.

What I found out: It seems to be a problem with PCI express Active State Power Management (ASPM).

My solution: I start Linux with parameter pcie_aspm=off

Worked for me on all of the 3 distros!
So just boot into proxmox WITH that parameter (or with the NIC unplugged) and update these lines in your GRUB config file and you hopefully won't encounter any problems anymore. :)
 
This is very interesting, thanks for sharing, @synergy2k

I no longer run Proxmox on the machine, since I never got it stable… But I still have it lying around and may have to experiment with this setting to bring it back to life

Please update here if you learn anything new about the topic.

/Jeppe
 
I bought a very cheap 2.5 GBit/s network card with a Realteak 8125 chip and had crashes on Linux.
I had problems with that network card in Proxmox (installed on NVMe), Unraid AND Ubuntu (booted live from USB on bare metal); I haven't tested other distros, but I guess the problem is the same (seems to be depending on the kernel version though - could work on older kernels < 6.4).
I messed around with a lot of things. Installed r8168 (for my onboard NIC) and r8125 and blacklisted r8169 and so on. BUT: I undid all of these steps.

What I found out: It seems to be a problem with PCI express Active State Power Management (ASPM).

My solution: I start Linux with parameter pcie_aspm=off

Worked for me on all of the 3 distros!
So just boot into proxmox WITH that parameter (or with the NIC unplugged) and update these lines in your GRUB config file and you hopefully won't encounter any problems anymore. :)
How do I do this in Grub?
Please do the detailed walkthrough for a noob on Proxmox.
 
I bought a very cheap 2.5 GBit/s network card with a Realteak 8125 chip and had crashes on Linux.
I had problems with that network card in Proxmox (installed on NVMe), Unraid AND Ubuntu (booted live from USB on bare metal); I haven't tested other distros, but I guess the problem is the same (seems to be depending on the kernel version though - could work on older kernels < 6.4).
I messed around with a lot of things. Installed r8168 (for my onboard NIC) and r8125 and blacklisted r8169 and so on. BUT: I undid all of these steps.

What I found out: It seems to be a problem with PCI express Active State Power Management (ASPM).

My solution: I start Linux with parameter pcie_aspm=off

Worked for me on all of the 3 distros!
So just boot into proxmox WITH that parameter (or with the NIC unplugged) and update these lines in your GRUB config file and you hopefully won't encounter any problems anymore. :)
Sadly your solution still not working to me . I just bought an Asus PN53 with Realtek r8125, it stop working no matter i install new kernel module or downgrade kernel to 6.2 . It is so frustrated to make proxmox work
 

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!