Hello,
We are evaluating the KSZ9477 and ATAMA5D36 (with EVB-KSZ9477 UNG_8071 rev B).
Having a clean, stock build from this repository (kernel 4.9), we are having link issues when interconnecting development boards.
It is not consistently reproducible, nevertheless there is an easy way to trigger the issue:
PC - DEV1 - DEV2 - DEV3
Connect your interface to DEV1, random port. Link trough DEV2, random port. Link trough DEV3, random port.
Let PC generate some traffic (we broadcast some UDP packets).
Ping all development boards.
Repeatably disconnect and reconnect random links.
After a while (let's say 20 link toggles), suddenly one (or multiple, depends on which port is "broken") pings are not replied anymore.
When connecting to the "faulty board" we see at this broken port, by getting it's mib counters (e.g. cat /sys/class/net/eth0/sw3/3_mib) that tx_discards are increasing.
We haven't found a way recovering from this issue other than rebooting the board.
Things tried:
• Force power off/on toggle on PHY:
echo 0 > /sys/class/net/eth0/sw3/3_power
echo 1 > /sys/class/net/eth0/sw3/3_power
• Force new gigabit negotiation of PHY:
echo 1000 > /sys/class/net/eth0/sw3/3_speed
echo 0 > /sys/class/net/eth0/sw3/3_speed
• Toggle duplex (although this should have the same effect as speed):
echo 1 > /sys/class/net/eth0/sw3/3_duplex
echo 0 > /sys/class/net/eth0/sw3/3_duplex
• Toggle transmit:
echo 0 > /sys/class/net/eth0/sw3/3_tx
echo 1 > /sys/class/net/eth0/sw3/3_tx
(Unloading/loading the driver has not been tested yet)
We tried as well using the DSA driver and seemed not able to reproduce the issue.
So we might expect (and hope), it's somewhere a driver (software) issue?
Is it advisable to use the DSA driver? Is it complete? Is it possible to run PTP on the DSA lan interfaces?
Many thanks in advance!
Kind regards.