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:
- 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).
-
Disable ASPM and check MSI interrupts. These onboard Atheros parts share bugs with power management: boot with
pcie_aspm=offand tryethtool -K enp1s0 gro off/ checkcat /proc/interrupts | grep atl1cfor 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. -
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.
-
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.