RTL8125 Chipset Options

Does anyone know where to get the technical documentation on RTL8125?

Back story I was having upload issues where it would burst to top speed and then slowly reduce to half. What I ended up finding is the RTL8125 chipset has options on the ports by default that seem to be causing this.

Using 'ethtools' I was able to see those options and full disable all of them. Now my connection doesn't burst and slow down anymore its steady and stable through full speed tests. Putting this out there for others using the Realtek chipsets as word on the street is they are more problematic than the intel options. Feel free to correct me if I did something wrong or there are specific settings these ports should have on that I have turned off.

I also have not found how to make 2500 advertised as well because each time I reboot the device I have to manually set the speed after it nego's 1Gbps. 'ethtool -s eth1 autoneg on speed 2500 duplex full'. The sister port on the same card doesn't have this issue with my Wifi AP so not sure why the Fiber ONT wont by default nego that speed.

ethtool -k eth1>

Features for eth1:
rx-checksumming: off
tx-checksumming: off
        tx-checksum-ipv4: off
        tx-checksum-ip-generic: off [fixed]
        tx-checksum-ipv6: off
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
scatter-gather: off
        tx-scatter-gather: off
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
        tx-tcp-segmentation: off
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: off
generic-segmentation-offload: off
generic-receive-offload: off
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]
rx-udp-gro-forwarding: off
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]

Looks more like ethtool -a/-A thing?

I tried to use that command yesterday and it locked up the port. I had to hard power cycle the device to get it back. Would you happen to know the syntax of the command I would use to make sure 2500 is by default advertised? Right now I just have a bot script that waits for eth1(LAN) "Up" then executes the command. Takes about 1.5 min for the port to come online and useable at 2.5Gbps after full boot of the device.

You might try the following as a workaround in the meantime:

 /etc/hotplug.d/iface/000-eth1:

[ ifup = "$ACTION" ] && [ "$DEVICE" = eth1 ] {
        ethtool -s eth1 autoneg on speed 2500 duplex full
}

What's the device? Perhaps the DTS needs tweaking.

Heh, it is in help text

ethtool -a wan
ethtool -A wan tx off rx off autoneg on
ethtool -r wan
ethtool -a wan
ethtool wan

Raspberry Pi 5 with the following HAT.

https://www.amazon.com/PCIE-2-5G-Ethernet-HAT-High-Speed/dp/B0CZHZJ89S

Do you have a good power supply headroom for hat?

Yes, 50W should be way more than enough.

Not sure why you are asking about the power to the unit?

Can you explain, "Perhaps the DTS needs tweaking." ?

Finally found what appears to be the solution to the advertising issue.

QA
if you're not the right speed, please check this command.

# https://forum.openwrt.org/t/realtek-8156b-2-5g-for-pi-4-and-openwrt-21-02-2/125102/11

ethtool -s eth1 autoneg on advertise 0x80000000002f

I might pull out the default RTL8169 driver and see if this specific driver from this repository shows any better performance.

1 Like