Score:0

RTL8125 2.5GbE Controller only using 1Gb/s, how can I use the full 2.5Gb/s? 20.04 LTS

cn flag

I'm using a PCIe extension card with a RTL8125 2.5GbE Controller on it. I've installed the Realtek driver r8125-9.007.01 from here successfully, but when I run # lshw -class network I see capacity: 1Gbit/s.

  *-network
       description: Ethernet interface
       product: RTL8125 2.5GbE Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:28:00.0
       logical name: enp40s0
       version: 04
       serial: e0:e1:a9:57:80:94
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8125 driverversion=9.007.01-NAPI latency=0 link=no multicast=yes port=twisted pair
       resources: irq:38 ioport:d000(size=256) memory:fcb10000-fcb1ffff memory:fcb20000-fcb23fff memory:fcb00000-fcb0ffff

I've tried the following commands so far but they don't change anything:

  • # ethtool -s enp40s0 autoneg on advertise 0x80000000002f
  • # ethtool -s enp40s0 speed 2500 duplex full autoneg on

This ethernet port is connected to a Windows PC (that also has a 2.5GbE adapter) which shows 2.5Gb/s in the control panel correctly.

I tried copying a large file via samba and it works but only at 1Gb/s speeds. Any help is appreciated! It shouldn't be this hard to use a NIC at its advertised speed.

EDIT: After digging around some more sudo ethtool enp40s0 gives me:

sudo ethtool enp40s0
Settings for enp40s0:
        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: No
        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: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

which looks good to me but the file transfer speed is still very slow for a 2.5Gb/s connection. Any alternative way to test the speed you can think of?

Edit2: Screenshot of iperf test Looks like the performance is only capped at 1Gb/s in one direction! Only when Ubuntu is the receiver I get slow speeds. If Ubuntu is the sender I get the full 2.5Gb/s. It can't be the cable at this point.

Lars Skaug avatar
bd flag
Did you figure this out? I have the same problem...
Score:0
in flag

Try running insmod ./src/r8125.ko speed=SPEED_MODE duplex=DUPLEX_MODE autoneg=NWAY_OPTION while in the directory where you built the driver.

em1s4r avatar
cn flag
I did that as well `sudo insmod ./src/r8125.ko speed_mode=2500 duplex=1 autoneg=1` returns: insmod: ERROR: could not insert module ./src/r8125.ko: File exists Then I tried: `sudo rmmod r8125` followed by `sudo insmod ./src/r8125.ko speed_mode=2500 duplex=1 autoneg=1` which makes it appear in `lsmod` again. But it still shows only 1Gbps. Maybe I need to restart some service?
em1s4r avatar
cn flag
`cat /sys/class/net/enp40s0/speed` returns `2500` but the file transfer speeds are still in the 1Gbps range...
in flag
Can you try switching out the ethernet cable, that might be what is limiting your transfer speeds.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.