What to do about Realtek RTL8125 RTL8126 RTL8127 drivers
-
@snowstruk The stock XCP 8.3 r8125 driver works for my 8125 and 8126 devices. I have not tried it a 5G, so it's possible the 8126 is not working at 5G (I don't see it advertised) with the current driver.
I have run the current dedicated realtek 8125 driver and it works but I have not tried the 8126 driver. I don't know how many people are using the 8126 chipset (I guess not many).
If your device is not working at >1G then it sees to be a hardware incompatibility issue. You could try loading the new 8126 firmware to see if that helps.
Here's the output about my test 8126 card (attached to a 2.5G switch):
# lspci -v -s 04:00.0 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller (rev 01) Subsystem: Realtek Semiconductor Co., Ltd. Device 0123 Flags: bus master, fast devsel, latency 0, IRQ 18 I/O ports at 3000 [size=256] Memory at e0d00000 (64-bit, non-prefetchable) [size=64K] Memory at e0d10000 (64-bit, non-prefetchable) [size=16K] Expansion ROM at e0d20000 [disabled] [size=64K] 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=32 Masked- Capabilities: [d0] Vital Product Data Capabilities: [100] Advanced Error Reporting Capabilities: [148] Virtual Channel Capabilities: [170] Device Serial Number 01-00-00-00-b4-b3-c9-88 Capabilities: [180] #19 Capabilities: [190] Transaction Processing Hints Capabilities: [21c] Latency Tolerance Reporting Capabilities: [224] L1 PM Substates Capabilities: [234] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?> Kernel driver in use: r8125 Kernel modules: r8125
# ethtool -i eth1 driver: r8125 version: 9.012.04-NAPI-PTP-RSS firmware-version: rtl8126a-2_0.0.2 02/01/24 expansion-rom-version: bus-info: 0000:04:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no
# ethtool eth1 Settings for eth1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseX/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseX/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseX/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 2500Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes
-
I've had this thread in my TODO list for long.
I'm not sure what the different options we have mean for users.
As
r8125-module
is installed by default, we'll want to avoid breaking it for existing users. Would using the new code risk causing regressions? Maybe that's what you meant but I'm not sure. Does our currentr8125
driver support both 8125 and 8126, and not 8127? Or just 8125?If we can't update the driver without causing regressions, then can we offer an alternate driver based on the new code for each chip (8125, 8126, 8127), and what amount of work might this represent?
The target would be XCP-ng 8.3. In XCP-ng 9.0 we'll have a newer kernel and newer drivers anyway.
CCing @Team-Hypervisor-Kernel for their opinion.
-
@stormi Unless new Dom0 is Kernel 6.15 or newer (with updates), this will be an ongoing problem to support the newest hardware as they seem to keep updating the chips (you can't stop progress).
The current
r8125
driver in 8.2/8.3 supports the 8125 and some 8126 chips, but not 8127. Other than supporting the new hardware versions of the chips, I have not seen any real complaints posted about the currentr8125
driver (may be there are some Vates tickets?)While the risk on the new driver is low, it is different (not just an update). I agree that it would be best to have
r8125-module-alt
for the new code and thenr8126-module
andr8127-module
.Note, that the new
r8126-module
driver should not be installed without ther8125-module-alt
as the existingr8125-module
would conflict with the newr8126-module
driver.The work is already done (compiled and running)... I'm just waiting for Realtek to fix some issues with the new code before it's worth fully testing the drivers (issues already acknowledged by Realtek).
-
I am experiencing an issue with the RTL8125 Rev5 2.5G 4 port. My xcp-ng (8.3) host (Lenovo M720q) shows the NICs under 'Display NICs' and shows connected when I plug in an RJ45 cat6, but my router will only give out an IPV6 address, not IPV4 when looking at the DHCP scopes. (IPV4 is enabled on the router and works with everything else, including the onboard Intel Gigabit e1000e).
'ethtool -i eth4' shows 'driver:r8125' and 'version:9.016.01-NAPI-PTP-RSS' with 'firmware-version: rtl8125b-2_0.0.2 07/13/20'. (I installed your r8125-module-alt from your website)
I have not done a firmware update yet so might that help?
This is a completely fresh install of xcp-ng so I can purge it and re-install or ty any suggestions
-
@antalig There's no firmware update for the RTL812x cards. It's loaded by the driver and Realtek as not released any newer updates (from what XCP already has).
I have had issues with some multi-port cards in XCP 8.2. I have not tested them again with XCP 8.3
Does it work (or even show up) without the updated alt driver?
Try a static IPv4 assignment and see if it works.
Try booting newer Linux (like Debian 13) and see if it works.
Post alspci
-
@Andrew Ah fair enough re firmware & not testing with 8.3, appreciate the assistance :)ping
Without the alt driver it showed up as 'driver:r8125' and 'version:9.012.04-NAPI-PTP-RSS' with 'firmware-version: rtl8125b-2_0.0.2 07/13/20' when running 'ethtool -i eth4'.
static IPv4 made no difference, the static assigns but cannot ping gateway or external 8.8.8.8
I had an ubuntu 24.04 to hand and while the network adapter shows up there it also does not seem to work... would purchasing an I225-V or i226 afford me better luck?
lspci:
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07) 00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 07) 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) 00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10) 00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0) 00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0) 00:1f.0 ISA bridge: Intel Corporation 300 Series Chipset Family LPC Controller (rev 10) 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) 00:1f.5 Serial bus controller: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10) 01:00.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 02:01.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 02:02.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 02:03.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 02:04.0 PCI bridge: Pericom Semiconductor PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05) 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05) 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05) 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05) 07:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 08:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
-
@antalig As Ubuntu also fails it could be some problem with the card hardware design.
Yes, the i225 chips have better drivers.
-
Ouch, indeed if it's also broken with Ubuntu, it might be the card itself.
-
@Andrew Cheers
Trying this
https://www.amazon.co.uk/dp/B0CBX9MNXXAnd will give this a go which other people seem to have success with!
https://www.aliexpress.com/item/1005008790660980.html -
@olivierlambert Great to know it's not something I was doing wrong! Hopefully these other cards I have ordered will afford me more luck! Cheers