amd-xgbe: CL73 autoneg never completes on 10GBASE-T port (ASUSTOR AS6804T), forced 10G works

From: V3C14-Embed dead <hidden>
Date: 2026-09-28 13:21:31
Also in: lkml

Hi,

On an ASUSTOR Lockerstor 4 Gen3 (AS6804T) running Proxmox VE with
kernel 7.0.14-19-pve (a downstream kernel, I have not tested
mainline), the two AMD XGMAC 10GbE ports never link up with
autonegotiation enabled. Forcing the speed works.

Hardware / firmware:
- ASUSTOR AS6804T, BIOS V1.23
- 2x AMD XGMAC 10GbE [1022:1458], driver amd-xgbe
  (enp233s0f2 / enp233s0f3), firmware-version 19.118.48
- Link partner: Netgear GS110EMX switch, fixed RJ45 10GBASE-T port

Symptoms:
1. Autoneg on: ethtool reports Supported ports: TP and advertises
   1000/2500/10000baseT/Full, but "Link detected: no" on both ports.
   Same result when advertising only 10G (advertise 0x1000) or only
   1G (advertise 0x20).
2. Autoneg off, forced speed:
     ethtool -s enp233s0f2 autoneg off speed 10000 duplex full
   with the interface up gives "Speed: 10000Mb/s, Link detected:
   yes" ("Link is Up - 10Gbps/Full" in dmesg).
3. /sys/class/net/enp233s0f2/phydev points to the driver's own MDIO
   bus (mdio_bus/0000:e9:00.2/0000:e9:00.2:00) with phy_id
   0x00000000, so no external PHY is identified by phylib.

Log with dynamic debug (echo 'module amd_xgbe +p' > .../control),
after ip link set down/up (prefix "amd-xgbe 0000:e9:00.2" omitted):

[ 2206.375463] enp233s0f2: starting PHY
[ 2206.375466] enp233s0f2: starting I2C
[ 2207.390072] enp233s0f2: firmware mailbox command did not complete
[ 2207.390147] enp233s0f2: firmware mailbox reset performed
[ 2207.390162] enp233s0f2: 10GbE KR mode set
[ 2207.428875] enp233s0f2: firmware mailbox not ready for command
[ 2207.428945] enp233s0f2: firmware mailbox reset performed
[ 2207.430443] enp233s0f2: 1GbE SGMII mode set
[ 2207.430454] enp233s0f2: CL73 AN initialized
[ 2207.430805] enp233s0f2: CL73 AN enabled/restarted
[ 2207.990892] enp233s0f2: CL73 AN Incompatible-Link
[ 2207.990909] enp233s0f2: CL73 AN result: No-Link
[ 2207.990913] enp233s0f2: CL73 AN Ready
[ 2212.583519] enp233s0f2: AN link timeout
[ 2212.583855] enp233s0f2: AN PHY configuration

The last block (timeout, reconfiguration, Incompatible-Link) repeats
every ~5 seconds and the link never comes up.

I looked at the recent amd-xgbe work on netdev (RX adaptation with AN
disabled, MAC_AUTO_SW in CL37 AN, the pending "synchronize KR
training with device operations" series) and none of it seems to
cover this case; the last one is not present in my running module.

Questions:
- Is CL73 AN expected on a 10GBASE-T port on this platform, or
  should the port mode come out differently from the BIOS/ACPI
  properties?
- I saw ASUSTOR users being pointed to AMD's Ryzen Embedded V3000
  Linux driver package, which carries extra amd-xgbe patches. Are
  those meant to go upstream?

Happy to provide more logs or run further tests on request.

Thanks,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help