Ethernet communication does not work between two boards with an iMX8M Plus Quad, when manually lowered to 10 MBit. It also does not work if just one verdin board is connected to a GBit network. It works without any issue (no Tx/Rx errors, ca. 95 MByte/s in GBit mode) when manually switched back to 1 GBit or 100 MBit.
1 GBit (works fine)
ethtool -s eth0 speed 1000 duplex full
100 MBit (works fine)
ethtool -s eth0 speed 100 duplex full
10 MBit (does not work anymore, no ping, no TCP, Linux just reports that the link is up)
ethtool -s eth0 speed 10 duplex full autoneg off
ethtool -s eth0 speed 10 duplex half autoneg off
ethtool -s eth0 speed 10 duplex full autoneg on
ethtool -s eth0 speed 10 duplex half autoneg on
According to the Ethernet PHY (KSZ9131) documentation 10 MBit should also be supported. ethtool also reports that 10baseT/Half 10baseT/Full are both supported. Anyone any idea what the issue could be?
At the moment not critical at all, more about how we advertise the devices we are going to sell. But in case there would be a workaround for the software or the hardware, we are still in a phase, where it would be less a problem to change someting (especially regarding the hardware).
Hello @thomasstauffer,
do you consider having 10Mbit Ethernet a requirement for your application? The reason that I ask is it seems to me that this speed is almost not used anymore these days.
Of course, we will be glad to know if there’s an application that requires it, as it will make it easier for us to prioritize the effort we put into trying to find a fix for this issue.
Hello Rafael
We have the same issue. Our device implements the Verdin iMX8MP SoC and exposes ETH0. In our customers application 10Mbit Ethernet configuration is essential. Is there in the meantime a known fix for that issue?
We’re in contact with NXP about this. It may be impossible to support 10Mbit Ethernet on the Verdin iMX8MP because of the combination of an SoC errata and the PHY we include on the SoM.
We are still waiting for confirmation on this, and I’ll try to update the information here as soon as we get a result.
After some internal communication with NXP, we could find a workaround that requires some changes on an undocumented registry on the Microchip PHY chip.
Find a Patch file attached that you can use to work this issue around. You will also find more information on the comments of the file itself
Let us know if the issue is solved after this implementation.
We could test the patch, but it is not working stable.
For around 10 minutes ethernet communication with 10MB is possible. But the connections breaks and Port1 is gone. Only a SoM reset resolves that Port 1 is reachable again.
Do you have any hint or can you show us where the patch was tested (which branch in the toradex git repo)?
did you see any error messages when the connection failed? Any output in dmesg?
I just started a new test today, with longer duration. So far, it has been running for more than 1 hour without any problems.
The setup is the Verdin iMX8MP in the Verdin Development Board, connected directly to a laptop via cable. I just installed Verdin-iMX8MP_Reference-Multimedia-Image 7.4.0+build.10, applied the patch and updated the kernel. After reboot, I forced the ethernet speed to 10baseT:
root@verdin-imx8mp-15007159:~# ethtool -s end0 speed 10
root@verdin-imx8mp-15007159:~# ethtool end0
Settings for end0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Full
100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 10Mb/s
Duplex: Full
Auto-negotiation: on
master-slave cfg: preferred slave
master-slave status: master
Port: Twisted Pair
PHYAD: 7
Transceiver: external
MDI-X: on (auto)
Supports Wake-on: ug
Wake-on: d
Current message level: 0x0000003f (63)
drv probe link timer ifdown ifup
Link detected: yes
Then I set up a static IP address on both the laptop and the Verdin, and started a ping test both ways.