[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAN9vWDK=36NUdTtZhPMu7Yh15kGv+gkE35A93dU0qg01z5VkbA@mail.gmail.com>
Date: Thu, 13 Nov 2025 18:30:51 +0100
From: Michael Zimmermann <sigmaepsilon92@...il.com>
To: Heiner Kallweit <hkallweit1@...il.com>, nic_swsd@...ltek.com,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: RTL8127AF doesn't get a link over SFP+ DAC
Hi,
I have a RT8127AF card from DIEWU:
https://24wireless.info/diewu-txa403-and-txa405 .
The card is detected just fine:
[125201.683763] r8169 0000:08:00.0 eth1: RTL8127A, xx:xx:xx:xx:xx:xx,
XID 6c9, IRQ 143
[125201.683770] r8169 0000:08:00.0 eth1: jumbo features [frames: 16362
bytes, tx checksumming: ko]
[125201.688543] r8169 0000:08:00.0 enp8s0: renamed from eth1
[125201.715519] Realtek Internal NBASE-T PHY r8169-0-800:00: attached
PHY driver (mii_bus:phy_addr=r8169-0-800:00, irq=MAC)
[125202.277034] r8169 0000:08:00.0 enp8s0: Link is Down
This is what ethtool shows:
Settings for enp8s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
10000baseT/Full
2500baseT/Full
5000baseT/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
10000baseT/Full
2500baseT/Full
5000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: unknown
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: Unknown
Supports Wake-on: pumbg
Wake-on: d
Link detected: no
and `ip a`:
10: enp8s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc
fq_codel state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
altname enxXXXXXXXXXXXX
And that's it, the link never comes up. The 10G Mikrotik switch on the
other side sees that the module is inserted on its side, but doesn't
show any change when I plug in the RTL8127AF.
It works in Windows 11 and it also works with the r8127 Linux driver
downloaded from Realteks website:
https://www.realtek.com/Download/List?cate_id=584 :
[129318.976134] r8127: This product is covered by one or more of the
following patents: US6,570,884, US6,115,776, and US6,327,625.
[129318.976175] r8127 Copyright (C) 2025 Realtek NIC software team
<nicfae@...ltek.com>
This program comes with ABSOLUTELY NO WARRANTY; for
details, please see <http://www.gnu.org/licenses/>.
This is free software, and you are welcome to
redistribute it under certain conditions; see
<http://www.gnu.org/licenses/>.
[129318.988293] r8127 0000:08:00.0 enp8s0: renamed from eth1
[129318.997092] enp8s0: 0xffffd49ec9140000, xx:xx:xx:xx:xx:xx, IRQ 137
[129319.421629] r8127: enp8s0: link up
ethtool with realteks driver shows something quite interesting:
Settings for enp8s0:
Supported ports: [ TP ]
Supported link modes: 1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 1000baseT/Full
10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes
auto-negotiation is off, even though it's enabled on my Mikrotik
switch. "ethtool -s enp8s0 autoneg on" (or off) on the realtek driver
succeeds but doesn't change what ethtools status shows. "ethtool -s
enp8s0 autoneg off" on the mainline driver does fail with:
netlink error: link settings update failed
netlink error: Invalid argument
So while I have no idea why things are not working, my best theory is
that auto-negotiation isn't supported (properly) and the mainline
driver doesn't support disabling it.
Thanks
Michael
Powered by blists - more mailing lists