Re: rge(4) RTL8126 simple testing

Adrian Chadd <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <CAJ-VmonnAmHgUPp19qzxnnq3dj5yn7Pj5BFPwvsZaBN44Aa8Kg@mail.gmail.com>
me and when i poke the foundation about it :)


-a

On Thu, 5 Mar 2026 at 09:05, Sean C. Farley <[email protected]> wrote:
>
> On Wed, 4 Mar 2026, Adrian Chadd wrote:
>
> > That's all good to know; if the vendor driver / linux driver can't
> > negotiate 2.5g then we can try poking realtek directly for help.
> > They're more likely to help if reproducible in these drivers.
> >
> > -a
>
> Just to make sure this is not lost:  Who does the poking and prodding?
> While I can do it, I have no idea where.  :)
>
> Sean
> --
> [email protected]
>
>
> > On Wed, 4 Mar 2026 at 13:02, Sean C. Farley <[email protected]> wrote:
> >>
> >> 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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.