Date: Wed, 4 Mar 2026 16:02:37 -0500 (EST) From: "Sean C. Farley" <scf@FreeBSD.org> To: freebsd-net@FreeBSD.org Subject: Re: rge(4) RTL8126 simple testing Message-ID: <8476fab9-91ca-ef23-e189-52d981af61b2@FreeBSD.org> In-Reply-To: <823b482e-ec8f-8738-0ea3-23778f558693@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
On Sat, 28 Feb 2026, Sean C. Farley wrote: > I recently upgraded my home network using a few BrosTrend 5Gb cards > (RTL8126) with 14-STABLE (1eb2beb3686c) and the latest commit > (3170b35) to the GitHub repo for if_rge. It was either these cards or > a couple of Intel X550-T2 cards, but less power and less heat were the > deciding factors. > > For the most part, they seem to work very well, except that they > cannot negotiate a 2500Base-T connection. They can negotiate > 1000baseT and 5000Base-T. This was with two different cards > connecting to two different devices. If manually set, they will try > for awhile than fall-back to 1000baseT. > > One other oddity is that rge0 has "ClockPM disabled", but I have not > looked into that. > > The networking hardware: > - 3 BrosTrend 5Gb NIC's[1] (5Gb) > - Zyxel NWA130BE[2] (2.5Gb port) > - TRENDnet TEG-S591[3] (connected the NIC to its 10Gb port) > - Nokia ONT XS-010X-Q[4] (10Gb port) > > ifconfig: > rge0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 > mtu 1500 > options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > capabilities=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > media: Ethernet autoselect (5000Base-T <full-duplex>) > status: active > supported media: > media autoselect > media 5000Base-T mediaopt full-duplex > media 5000Base-T > media 2500Base-T mediaopt full-duplex > media 2500Base-T > media 1000baseT mediaopt full-duplex > media 1000baseT > media 100baseTX mediaopt full-duplex > media 100baseTX > media 10baseT/UTP mediaopt full-duplex > media 10baseT/UTP > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > drivername: rge0 > rge1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> > metric 0 mtu 1500 > options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > capabilities=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > media: Ethernet autoselect (5000Base-T <full-duplex>) > status: active > supported media: > media autoselect > media 5000Base-T mediaopt full-duplex > media 5000Base-T > media 2500Base-T mediaopt full-duplex > media 2500Base-T > media 1000baseT mediaopt full-duplex > media 1000baseT > media 100baseTX mediaopt full-duplex > media 100baseTX > media 10baseT/UTP mediaopt full-duplex > media 10baseT/UTP > nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> > drivername: rge1 > rge2: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> > metric 0 mtu 1500 > options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > capabilities=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > media: Ethernet Other (1000baseT <full-duplex>) > status: active > supported media: > media autoselect > media 5000Base-T mediaopt full-duplex > media 5000Base-T > media 2500Base-T mediaopt full-duplex > media 2500Base-T > media 1000baseT mediaopt full-duplex > media 1000baseT > media 100baseTX mediaopt full-duplex > media 100baseTX > media 10baseT/UTP mediaopt full-duplex > media 10baseT/UTP > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > drivername: rge2 > > pciconf: > rge0@pci0:1:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x10ec > device=0x8126 subvendor=0x10ec subdevice=0x0123 > vendor = 'Realtek Semiconductor Co., Ltd.' > device = 'RTL8126 5GbE Controller' > class = network > subclass = ethernet > bar [10] = type I/O Port, range 32, base 0xe000, size 256, enabled > bar [18] = type Memory, range 64, base 0xf7600000, size 65536, enabled > bar [20] = type Memory, range 64, base 0xf7610000, size 16384, enabled > cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks enabled with 1 > message > cap 10[70] = PCI-Express 2 endpoint MSI 1 max data 256(512) RO > max read 512 > link x1(x1) speed 8.0(8.0) ASPM disabled(L0s/L1) ClockPM > disabled > cap 11[b0] = MSI-X supports 32 messages > Table in map 0x20[0x0], PBA in map 0x20[0x800] > cap 03[d0] = VPD > ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected > ecap 0002[148] = VC 1 max VC0 > ecap 0003[170] = Serial 1 01000000684ce000 > ecap 0019[180] = PCIe Sec 1 lane errors 0 > ecap 0017[190] = TPH Requester 1 > ecap 0018[21c] = LTR 1 > ecap 001e[224] = L1 PM Substates 1 > ecap 000b[234] = Vendor [1] ID 0002 Rev 4 Length 256 > rge1@pci0:4:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x10ec > device=0x8126 subvendor=0x10ec subdevice=0x0123 > vendor = 'Realtek Semiconductor Co., Ltd.' > device = 'RTL8126 5GbE Controller' > class = network > subclass = ethernet > bar [10] = type I/O Port, range 32, base 0xd000, size 256, enabled > bar [18] = type Memory, range 64, base 0xf7500000, size 65536, enabled > bar [20] = type Memory, range 64, base 0xf7510000, size 16384, enabled > cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks enabled with 1 > message > cap 10[70] = PCI-Express 2 endpoint MSI 1 max data 256(512) RO > max read 512 > link x1(x1) speed 8.0(8.0) ASPM disabled(L0s/L1) ClockPM > enabled > cap 11[b0] = MSI-X supports 32 messages > Table in map 0x20[0x0], PBA in map 0x20[0x800] > cap 03[d0] = VPD > ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected > ecap 0002[148] = VC 1 max VC0 > ecap 0003[170] = Serial 1 01000000684ce000 > ecap 0019[180] = PCIe Sec 1 lane errors 0 > ecap 0017[190] = TPH Requester 1 > ecap 0018[21c] = LTR 1 > ecap 001e[224] = L1 PM Substates 1 > ecap 000b[234] = Vendor [1] ID 0002 Rev 4 Length 256 > rge2@pci0:5:0:0: class=0x020000 rev=0x01 hdr=0x00 vendor=0x10ec > device=0x8126 subvendor=0x10ec subdevice=0x0123 > vendor = 'Realtek Semiconductor Co., Ltd.' > device = 'RTL8126 5GbE Controller' > class = network > subclass = ethernet > bar [10] = type I/O Port, range 32, base 0xc000, size 256, enabled > bar [18] = type Memory, range 64, base 0xf7400000, size 65536, enabled > bar [20] = type Memory, range 64, base 0xf7410000, size 16384, enabled > cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0 > cap 05[50] = MSI supports 1 message, 64 bit, vector masks enabled with 1 > message > cap 10[70] = PCI-Express 2 endpoint MSI 1 max data 256(512) RO > max read 512 > link x1(x1) speed 8.0(8.0) ASPM disabled(L0s/L1) ClockPM > enabled > cap 11[b0] = MSI-X supports 32 messages > Table in map 0x20[0x0], PBA in map 0x20[0x800] > cap 03[d0] = VPD > ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected > ecap 0002[148] = VC 1 max VC0 > ecap 0003[170] = Serial 1 01000000684ce000 > ecap 0019[180] = PCIe Sec 1 lane errors 0 > ecap 0017[190] = TPH Requester 1 > ecap 0018[21c] = LTR 1 > ecap 001e[224] = L1 PM Substates 1 > ecap 000b[234] = Vendor [1] ID 0002 Rev 4 Length 256 > > Sean > 1. https://www.brostrend.com/products/p2 > 2. https://www.zyxel.com/us/en-us/products/wireless/be11000-6-stream-wifi-7-triple-radio-nebulaflex-access-point-nwa130be > 3. https://www.trendnet.com/products/2_5g-10g-switches/9-port-multi-gig-switch-TEG-S591-v1 > 4. https://www.nokia.com/asset/210704/ I have spent awhile trying different things yet cannot get these to work at 2.5G. The Realtek vendor driver cannot negotiate at 2.5G nor can Linux 6.18 (Arch Linux). Important details: - FreeBSD dmesg chip rev: RTL8126_2 (0x64a00000) - Forcing them to advertise only at 2.5G on Linux using ethtool results in the NIC never connecting to the link partner. - Register dump from ethtool shows an interesting message: Unknown RealTek chip (TxConfig: 0x67a00f00) - lspci snippets: 05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller [10ec:8126] (rev 01) Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:0123] ... 05:00.0 0200: 10ec:8126 (rev 01) Subsystem: 10ec:0123 Flags: bus master, fast devsel, latency 0, IRQ 19 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: [170] Device Serial Number 01-00-00-00-68-4c-e0-00 Capabilities: [180] Secondary PCI Express 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: r8169 Kernel modules: r8169 - ethtool shows that the NIC claims to support and advertise 2500baseT/Full while the Link partner advertises it too. Do these cards need more handling in the driver? Can anyone report the RTL8126_2 as working for them at all supported speeds (at least 1G and above)? Is there anything else I can get developers from these NICs? Sadly, I am out of ideas. I am currently within the 30-day return so have to consider that. Otherwise, I do like them. Sean -- scf@FreeBSD.orghome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8476fab9-91ca-ef23-e189-52d981af61b2>
