awesometic / realtek-r8125-dkms

A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE.
GNU General Public License v2.0
343 stars 66 forks source link

Bandwidth Limited to 100Mbps #34

Closed truncs closed 1 year ago

truncs commented 1 year ago

I am using the r8125 driver for my Realtek 2.5Gigabit onboard LAN. Unfortunately it is not able to get speeds beyond 100Mbps on a 1Gbps connection with CAT7.

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
    Subsystem: Gigabyte Technology Co., Ltd Device e000
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 18
    Region 0: I/O ports at 4000 [size=256]
    Region 2: Memory at 75300000 (64-bit, non-prefetchable) [size=64K]
    Region 4: Memory at 75310000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: r8125
    Kernel modules: r8169, r8125

When setting using ethtool, the NIC is unable to get an ip address and fails to connect to the internet.

sudo ethtool -s enp4s0 speed 1000 duplex full autoneg off

I can see in modinfo that it does provide these speeds

$ modinfo r8125
filename:       /lib/modules/6.2.8-arch1-1/updates/dkms/r8125.ko.zst
version:        9.011.00-NAPI
license:        GPL
description:    Realtek RTL8125 2.5Gigabit Ethernet driver
author:         Realtek and the Linux r8125 crew <netdev@vger.kernel.org>
srcversion:     CBDA9F0B8BED66BA59DD3EB
alias:          pci:v000010ECd00005000sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008126sv*sd*bc*sc*i*
alias:          pci:v000010ECd00003000sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008162sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008125sv*sd*bc*sc*i*
depends:        
retpoline:      Y
name:           r8125
vermagic:       6.2.8-arch1-1 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         DKMS module signing key
sig_key:        2F:76:71:B7:24:87:18:44:59:FD:22:6D:FA:DE:46:FA:66:72:6F:23
sig_hashalgo:   sha512
signature:      76:7C:99:EF:18:7F:ED:14:94:86:14:B0:A3:BC:FA:8A:8E:96:01:4B:
        30:2D:DC:A0:E0:39:8C:CE:BF:2F:4C:F4:A7:97:73:C7:E4:4B:F8:D4:
        45:9D:23:D0:89:C2:AD:73:52:7F:FE:C0:68:B7:87:D8:3D:E3:5E:31:
        F4:07:CC:0F:E6:0A:F2:B3:A1:F3:72:00:15:8B:8F:39:F9:00:05:9A:
        9C:DD:0C:D4:6F:00:5F:7B:B6:ED:3D:29:17:6E:BC:25:BE:16:9A:B1:
        09:6A:E0:69:58:34:11:7F:AA:77:E8:00:8A:C6:82:D1:82:1A:EB:4E:
        7E:FB:2F:9A:72:AE:1C:86:50:1A:06:40:81:62:3A:40:78:4A:55:CD:
        D9:57:2B:76:AC:76:A8:8F:BE:13:F8:DF:E5:A2:05:D3:3E:10:9A:1F:
        7E:FF:D0:F1:D4:64:BC:F4:4B:4E:68:80:DB:16:4F:9F:99:12:A9:51:
        C9:8F:7A:76:86:F3:19:DE:DF:16:1D:91:4C:3B:51:7E:02:A7:88:8D:
        13:18:C2:83:64:7B:FF:B5:7B:1A:0C:DB:3D:C1:0B:5D:8E:27:B2:26:
        8C:08:32:26:6B:6A:E8:7C:08:27:44:81:67:EB:B5:81:6D:C6:DE:59:
        F5:6A:BD:E4:D0:E4:E5:51:D2:5C:FD:F7:EC:17:72:83
parm:           speed_mode:force phy operation. Deprecated by ethtool (8). (uint)
parm:           duplex_mode:force phy operation. Deprecated by ethtool (8). (uint)
parm:           autoneg_mode:force phy operation. Deprecated by ethtool (8). (uint)
parm:           advertising_mode:force phy operation. Deprecated by ethtool (8). (uint)
parm:           aspm:Enable ASPM. (int)
parm:           s5wol:Enable Shutdown Wake On Lan. (int)
parm:           s5_keep_curr_mac:Enable Shutdown Keep Current MAC Address. (int)
parm:           use_dac:Enable PCI DAC. Unsafe on 32 bit PCI slot. (int)
parm:           timer_count:Timer Interrupt Interval. (int)
parm:           eee_enable:Enable Energy Efficient Ethernet. (int)
parm:           hwoptimize:Enable HW optimization function. (ulong)
parm:           s0_magic_packet:Enable S0 Magic Packet. (int)
parm:           tx_no_close_enable:Enable TX No Close. (int)
parm:           enable_ptp_master_mode:Enable PTP Master Mode. (int)
parm:           disable_pm_support:Disable PM support. (int)
parm:           enable_double_vlan:Enable Double VLAN. (int)
parm:           debug:Debug verbosity level (0=none, ..., 16=all) (int)

I am using the following kernel

Linux earth 6.2.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 22 Mar 2023 22:52:35 +0000 x86_64 GNU/Linux
Online

Thoughts?

awesometic commented 1 year ago

Any messages on dmesg when you're trying to set the bandwidth using ethtool?

And, actually, I cannot help you with the problem the source itself has. If Realtek guys watch this repository, the error messages could help them fix this issue.

Or you can change the cable, in my experience there are some cables that act like .. :)