Hello everyone.

I’m getting a hard time with Qualcomm Atheros AR8151 onboard LAN with Debian. It usually drops to 100Mb/s and freezes the network altogether

Settings for enp1s0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 0 Transceiver: internal MDI-X: Unknown Supports Wake-on: pg Wake-on: d Current message level: 0x0000003f (63) drv probe link timer ifdown ifup Link detected: yes [ 3.004591] atl1c 0000:01:00.0 enp1s0: renamed from eth0

[ 37.754972] atl1c 0000:01:00.0: atl1c: enp1s0 NIC Link is Up<100 Mbps Full Duplex></br> [ 45.071291] atl1c 0000:01:00.0: atl1c: enp1s0 NIC Link is Up<100 Mbps Full Duplex> [ 45.799689] atl1c 0000:01:00.0: atl1c: enp1s0 NIC Link is Up<100 Mbps Full Duplex>

any tips of what can be done around here? I’m using kernel 6.12.111+deb13-amd64

  • miaowoo_lw@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    8
    ·
    4 hours ago

    The AR8151 (atl1c driver) is a known-troublesome NIC, and what you’re seeing is a classic negotiation failure — it’s latching at 100Mb/s and then wedging under load. A few things worth trying, in order of effort:

    1. Force the speed on the driver side before suspecting hardware. atl1c has had years of bugs around gigabit autoneg; you can pin the link with ethtool in a systemd unit:
    [Service]
    ExecStart=/usr/sbin/ethtool -s enp1s0 speed 100 duplex full autoneg off
    

    If it stops freezing at a pinned 100Mb/s, you’ve confirmed it’s the gigabit negotiation path in the PHY, not a cabling/switch issue (though do swap the cable first — a marginal Cat5e can cause exactly this downshift-then-die pattern).

    1. Disable ASPM and check MSI interrupts. These onboard Atheros parts share bugs with power management: boot with pcie_aspm=off and try ethtool -K enp1s0 gro off / check cat /proc/interrupts | grep atl1c for interrupt storms. Frozen link with “Link detected: yes” often means the MAC thinks the link is up while the ring buffers have stopped being serviced.

    2. Try the newer atl1c from a backports kernel — Debian stable’s in-tree atl1c is old, and several link-stability fixes landed in later kernels. A live-USB of a recent distro is the fastest A/B test: if recent-kernel live media holds a gigabit link fine on the same hardware, it’s purely a driver version issue and a kernel upgrade fixes it.

    3. The pragmatic fix: these chips cost pennies to replace. A used Intel i210/i340 PCIe NIC (~¥30-50 / $5-10 on the second-hand market) is the standard selfhosted escape hatch — Intel NICs are bulletproof under Linux and you stop burning evenings on a consumer PHY. Most of us in this community eventually did exactly that.

    If it freezes even at 100Mb/s after the ethtool pin, that leans toward ASPM/power-management rather than negotiation, so do step 2 before buying hardware.