Gigabit ethernet was always broken on Beelink GS1, at least on my box. Could never hold more than a few minutes of sustained load, dying with transmit queue watchdog timeout.
Spent some time investigating, it seems this marvel of Shenzhen AZW Technology Co. engineering requires some additional tx delay.
Code
/dts-v1/;
/plugin/;
/ {
compatible = "azw,beelink-gs1", "allwinner,sun50i-h6";
fragment@0 {
target = <&emac>;
__overlay__ {
allwinner,rx-delay-ps = <0>;
allwinner,tx-delay-ps = <200>;
};
};
};
Display More
I have absolutely no idea on how to tune the actual tx-delay-ps value properly.
200 seems to work, box survived overnight iperf3 test with 5 TiB transferred and no link drops or errors in eth0 stats.