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.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.