[TUTORIAL] Realtek 8125 NIC not working on Proxmox with X870E motherboard (no network)

I did a fresh install today, and its still failing:
Bash:
root@server5:~# uname -a
Linux server5 6.17.2-1-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.2-1 (2025-10-21T11:55Z) x86_64 GNU/Linux

Its a proxmox 9.1.1 install, freshly fetched from the website.

Here are my network interfaces

Bash:
root@server5:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: nic0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel master vmbr1 state DOWN group default qlen 1000
    link/ether 98:b7:85:22:a0:ee brd ff:ff:ff:ff:ff:ff
    altname enx98b78522a0ee
3: nic1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 98:b7:85:22:a0:ef brd ff:ff:ff:ff:ff:ff
    altname enx98b78522a0ef
4: nic2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 98:b7:85:22:a0:f0 brd ff:ff:ff:ff:ff:ff
    altname enx98b78522a0f0
5: nic3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 98:b7:85:22:a0:f1 brd ff:ff:ff:ff:ff:ff
    altname enx98b78522a0f1
6: nic4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master vmbr0 state UP group default qlen 1000
    link/ether 10:7b:44:45:8b:45 brd ff:ff:ff:ff:ff:ff
    altname enx107b44458b45
7: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 10:7b:44:45:8b:45 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.5/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::127b:44ff:fe45:8b45/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
8: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 98:b7:85:22:a0:ee brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::9ab7:85ff:fe22:a0ee/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
9: tap501i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master fwbr501i0 state UNKNOWN group default qlen 1000
    link/ether c2:73:fe:d1:fd:90 brd ff:ff:ff:ff:ff:ff
10: fwbr501i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether ca:16:b2:ef:ba:59 brd ff:ff:ff:ff:ff:ff
11: fwpr501p0@fwln501i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 46:91:18:6d:2d:30 brd ff:ff:ff:ff:ff:ff
12: fwln501i0@fwpr501p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr501i0 state UP group default qlen 1000
    link/ether ca:16:b2:ef:ba:59 brd ff:ff:ff:ff:ff:ff
13: tap501i1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master fwbr501i1 state UNKNOWN group default qlen 1000
    link/ether 56:be:02:24:bb:6c brd ff:ff:ff:ff:ff:ff
14: fwbr501i1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 5e:6c:c8:c9:83:fb brd ff:ff:ff:ff:ff:ff
15: fwpr501p1@fwln501i1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr1 state UP group default qlen 1000
    link/ether da:42:bc:7d:39:e4 brd ff:ff:ff:ff:ff:ff
16: fwln501i1@fwpr501p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr501i1 state UP group default qlen 1000
    link/ether 5e:6c:c8:c9:83:fb brd ff:ff:ff:ff:ff:ff


nic4 is on the motherboard, nic0, nic1,nic2,nic3 are coming from `H!Fiber 2.5Gbase-T PCIe NIC with Realtek RTL8125 Chip, 2.5Gb Network Card, 2500/1000/100 Mbps,Quad RJ45 Ports, PCIe X4, Ethernet Card for Windows/Windows Server/Linux`

Here is ethtool failing to get details of the interfacecs.


Bash:
root@server5:~# ethtool nic2
netlink error: failed to retrieve link settings
netlink error: No such device
netlink error: failed to retrieve link settings
netlink error: No such device
Settings for nic2:
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: no
root@server5:~# ethtool -i nic2
driver: r8169
version: 6.17.2-1-pve
firmware-version:
expansion-rom-version:
bus-info: 0000:07:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
root@server5:~# history | grep lspci
    9  lspci -nnv
   29  history | grep lspci

My lspci output


Bash:
root@server5:~# lspci -nnv
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:591f] (rev 05)
    Subsystem: ASUSTeK Computer Inc. Device [1043:8694]
    Flags: bus master, fast devsel, latency 0, IOMMU group 1
    Capabilities: [e0] Vendor Specific Information: Len=10 <?>
    Kernel driver in use: skl_uncore


.... <removed too long>


05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123]
    Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 13
    I/O ports at c000 [size=256]
    Memory at f7400000 (64-bit, non-prefetchable) [size=64K]
    Memory at f7410000 (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, IntMsgNum 1
    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

06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123]
    Flags: fast devsel, IRQ 18, IOMMU group 14
    I/O ports at b000 [size=256]
    Memory at f7300000 (64-bit, non-prefetchable) [size=64K]
    Memory at f7310000 (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, IntMsgNum 1
    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

07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123]
    Flags: fast devsel, IRQ 18, IOMMU group 15
    I/O ports at a000 [size=256]
    Memory at f7200000 (64-bit, non-prefetchable) [size=64K]
    Memory at f7210000 (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, IntMsgNum 1
    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

08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
    Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123]
    Flags: fast devsel, IRQ 18, IOMMU group 16
    I/O ports at 9000 [size=256]
    Memory at f7100000 (64-bit, non-prefetchable) [size=64K]
    Memory at f7110000 (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, IntMsgNum 1
    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

0a:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
    Subsystem: ASUSTeK Computer Inc. Onboard RTL8111H Ethernet [1043:8677]
    Flags: bus master, fast devsel, latency 0, IRQ 19, IOMMU group 17
    I/O ports at d000 [size=256]
    Memory at f7604000 (64-bit, non-prefetchable) [size=4K]
    Memory at f7600000 (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, IntMsgNum 1
    Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
    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
    Capabilities: [178] L1 PM Substates
    Kernel driver in use: r8169
    Kernel modules: r8169

Motherboard nic working fine, ethtool can get its details

Bash:
root@server5:~# ethtool -i nic4
driver: r8169
version: 6.17.2-1-pve
firmware-version: rtl8168h-2_0.0.2 02/26/15
expansion-rom-version:
bus-info: 0000:0a:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Just verified with a Win10 guest that the NIC is all fine, I passed every single nic to the Win10 guest, it detects and can use it to access network. Will experiment more with linux guests.




Update: Its all working with the following config

Bash:
root@server5:~# ethtool -i nic2
driver: r8169
version: 6.17.2-1-pve
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:07:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
root@server5:~# ethtool nic2
Settings for nic2:
    Supported ports: [ TP     MII ]
    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/Half 1000baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes


the stickers on my card was wrong, so i was constantly checking the wrong nic. After I made it work with windows, I realized that the stickers were wrong.... ethtool also does not show whether link is connected or not if the interface is not up. It works out of the box.
 
Last edited: