TrueNAS Scale and RTL8125 rev 0c

Hi,

I have issue with network card not working on TrueNAS Scale 24.10.2 and 25.04-RC.1
I’m using Asus Prime B840M-A motherboard with RTL8125 rev 0c.
The strange part about it is that if I install PCIe RTL8125 2.5GbE rev 05 it works just fine.

Working NIC:
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
Flags: bus master, fast devsel, latency 0, IRQ 32, IOMMU group 13
I/O ports at e000 [size=256]
Memory at f6a00000 (64-bit, non-prefetchable) [size=64K]
Memory at f6a10000 (64-bit, non-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=32 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Virtual Channel
Capabilities: [168] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [178] Transaction Processing Hints
Capabilities: [204] Latency Tolerance Reporting
Capabilities: [20c] L1 PM Substates
Capabilities: [21c] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
Kernel driver in use: r8169
Kernel modules: r8169

non working NIC:
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 0c)
Subsystem: ASUSTeK Computer Inc. RTL8125 2.5GbE Controller
Flags: fast devsel, IRQ 34, IOMMU group 13
I/O ports at d000 [size=256]
Memory at f6800000 (64-bit, non-prefetchable) [size=64K]
Memory at f6810000 (64-bit, non-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=64 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Virtual Channel
Capabilities: [164] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [174] Transaction Processing Hints
Capabilities: [200] Latency Tolerance Reporting
Capabilities: [208] L1 PM Substates
Capabilities: [218] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
Kernel modules: r8169

Could you please advise if there are any way to fix onboard card? I’m trying to make this system as much power efficient as possible, hence I don’t want to install external NIC.

From what I found so far is that r8169 is not a correct driver for this NIC and while it can still work, it is better to have realtek-r8125-dkms driver instead. Any recommendations about it? Is it good idea or not?

Thanks!

Sorry, I don’t have any recommendations.

But I do have an explanation. For some hardware vendors, Linux is not considered a Tier 1 OS, like MS-Windows can be. So some hardware vendors do not release pre-sales hardware to Linux driver developers. Or develop the drivers themselves.

This sounds like the Linux “realtek-r8125-dkms” driver does not recognize the chips correctly. That can happen when a small identifying detail is changed.

As for if / when it will get fixed in TrueNAS SCALE, I would follow up with upstream Debian to see if they have a fix.


To put it bluntly, iX can’t fix all problems in the base OS. They do take responsibility for OpenZFS and other components that are critical for SCALE. But, drivers for chips that don’t exist in their own iX branded hardware can be difficult to deal with.

Good luck.

1 Like

This sounds like the Linux “realtek-r8125-dkms” driver does not recognize the chips correctly.

I don’t have this driver installed. I’m using out of the box TrueNAS. I was just wondering if this is good idea to try it since I saw mentioning that this driver works much better than r8169. However while installing it on vanila linux or system such as proxmox is stright foward, I’m not sure how to do it no TrueNAS and if it is good idea or not.

Not a good idea, since truenas is designed as an appliance os and it’s not recommended, nor supported to install driver yourself.

3 Likes

Just to close this look, I end up installing Proxmox with realtek-r8125-dkms driver and TrueNAS inside Proxmox.

So you provided the TrueNAS VM likely the vmxnet3 NIC and letting Proxmox perform the interfacing.

Glad you found a solution that works for you.

I too am having this issue with a 2.5Gb Realtek RTL8125B NIC.

1 Like

Hi @ll,
I have the same issue with the mainboard Gigabyte B850I AORUS PRO which have the Realtek r8125 network card. I see, please no discussion of cheap network card, most private users of TrueNAS have ITx Cases for NAS and no place for another intel nic (I use a Broadcom Card for storage) . I see, Debian also have problems with that driver, maybe the integration can be pushed. :100:

I will now also deploy proxmox - for me virtualization over TrueNAS would be enough, but I see no other way to get a final setup without any manual steps, which are not recommended (manual installation of DKMS Driver) :boom:

Thanks for TrueNAS! :heart:

Update:

I was testing TrueNAS Scale on Proxmox, but for me - Proxmox was totally overkill to run one TrueNAS VM.

So, now my r8125 is finally working. I know, its not supported, because TrueNAS is an appliance, but I want let you know what I did to solve the realtek driver issue:

IMPORTANT
THIS IS UNSUPPORTED BY TRUENAS AND MAYBE NOT NEEDED AFTER NEXT UPDATES - JUST A HOTFIX!
IMPORTANT

  1. Disable rootfs protection and activate apt/dpkg for dkms driver package install
/usr/local/libexec/disable-rootfs-protection
  1. Blacklist of r8169 realtek driver, because its loading wrong
echo "blacklist r8169" > /etc/modprobe.d/blacklist-r8169.conf
  1. Download latest debian dkms realtek driver package from github:
    Example:
    awesometic/realtek-r8125-dkms/releases/download/9.016.01-1/realtek-r8125-dkms_9.016.01-1_amd64.deb

  2. Installing dkms driver package + other dependencies (I got network up and running over USB-LAN Adapter)

dpkg -i realtek-r8125-dkms_9.016.01-1_amd64.deb
  1. Also required - because of the blacklist r8169 driver - initramfs update!
update-initramfs -u

Thats all - the cheap internal realtek card is finally working, also with 2,5GBIT:

root@truenas[~]# ethtool enp6s0
Settings for enp6s0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/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
                                2500baseT/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
                                             2500baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

Please note: This have to be done at every TrueNAS Upgrade! I will look also deeper, if there is a way to run a prehook script for the Driver.

Again: This is unsupported! Use at your own Risk!

2 Likes

Great work! unfortunately doesn’t work on v25, had to reinstall 24 and use it to enable proper ethernet. Hopefully my dropped network will be resolved.

Hi @adelzu,

As I was writing the Howto all was working finally with v25 - but as I now did my final setup, it stop working also.

Issue - Make log:

sudo: argv[2] mismatch

So, sudo isnt allowing it.

Build Issue from make.log:

Error! Bad return status for module build on kernel: 6.12.15-production+truenas (amd64)
Consult /var/lib/dkms/realtek-r8125/9.016.01/build/make.log for more information.

Here is - how this can be fixed:

Important: This change should be reverted after its done - because should not be allowed at TrueNAS in General!

From: Problems using "sudo su -" - #17 by letic

sudo visudo

Add:

Defaults !intercept_verify

and then run:

dpkg -i realtek-r8125-dkms_9.016.01-1_amd64.deb

Before also dont forget to run:

sudo apt-get update

packages list is missing at truenas because of appliance image.

Please revert the sudo change, when all is finally working. Thats it!
Maybe this helps also for you? :rocket:

Info: The updated howto is also available on my gh:

GitHub - torsten-online/truenas-realtek-r8125-dkms: A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE - useful for TrueNAS Scale (Debian) :technologist:

Can confirm this fixed my issue with the below motherboard on 25.04:
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: TUF GAMING X870-PLUS WIFI

On-board 2.5G interface wasn’t functional at all with the default driver. lspci would show the device, but the device it self wouldn’t load.

I received errors when running dpkg -i realtek-r8125-dkms_9.016.01-1_amd64.deb prior to running apt update && apt install --fix-broken.

I had to apt remove realtek-r8125-dkms before running dpkg -i realtek-r8125-dkms_9.016.01-1_amd64.deb again.

1 Like

Hi @torsten,

Thank you for the solution, to be honest I downgraded to v24, rebuilt my array and now everything is stable at last. No more random freezes on Network adapters, no more random reboots.

Will try this when it is time to move to v25 (if there is a reason to). Or by that time I would probably invest in some proper hardware for my home NAS.

I noticed that you updated your git repo with the fix. Thank you sir!

Hi,

I upgraded today to 25.10.0 (Goldeneye). The Realtek-r8125 is still missing and get mixed off again with r8169 (needs again be blacklisted)

For me, everything works fine - so my gh docs are updated. Simply run the steps again, also with external working network adapter.

2 Likes

Try to disable Hardware Offloading first!