ARM64 – Odroid C2 – Hack to Fix Ethernet Hangs..
I had been constantly frustrated by the Odroid C2 meson8b-dwmac Ethernet ‘hang’ problem, which has persisted over (at least..) eight different ‘patched kernel’ versions that I have tested.. The network link hung/stopped after a short time at full (1000Mbps) speed, and also – sometimes after a bit longer – at reduced (100Mbps) speed..
The driver does show some issues, when loading:
................... [ 328.680810] meson8b-dwmac c9410000.ethernet: no reset control found [ 328.684054] stmmac - user ID: 0x11, Synopsys ID: 0x37 [ 328.687734] Ring mode enabled [ 328.689457] DMA HW capability register supported [ 328.692650] Normal descriptors [ 328.694454] RX Checksum Offload Engine supported [ 328.697814] COE Type 2 [ 328.698934] TX Checksum insertion supported [ 328.701866] Wake-Up On Lan supported [ 328.704196] Enable RX Mitigation via HW Watchdog Timer ........................... [ 328.718634] libphy: stmmac: probed [ 328.718657] eth0: PHY ID 001cc916 at 0 IRQ POLL (stmmac-0:00) active [ 328.720164] eth0: PHY ID 001cc916 at 7 IRQ POLL (stmmac-0:07) ..................... [ 328.732305] eth0: device MAC address 00:1e:06:33:13:6e [ 328.801693] meson8b-dwmac c9410000.ethernet eth0: PTP support cannot init. ......................
After more testing (with the latest patched 4.9-rc1 Kernel), I tried turning off the flow control, to see if this made any difference.. At full speed, the network still hung, but at reduced speed the network link stayed up – although at a much reduced throughput, as expected..
After boot, I used # ethtool -s eth0 speed 100 duplex full autoneg off to get a working/slow network..
[ 346.559583] Link is Down [ 347.219302] meson8b-dwmac c9410000.ethernet eth0: Link is Down [ 350.291179] meson8b-dwmac c9410000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off [ 350.946577] Link is Up - 100/Full
Using this, I have managed to do a complete Fedora 24 – 25 Upgrade on the C2, over the network..
Robert Gadsdon. October 21, 2016.
Comments
ARM64 – Odroid C2 – Hack to Fix Ethernet Hangs.. — No Comments