Ethernet Compliance Test

Hello,
we are using iMx7 Colibri Module with LAN9512 on our Carrier Board for a sencond ethernet interface.
I wan’t to execute an ethernet compliance test with our LeCroy test suite. I’ve read this article Ethernet Compliance Testing bei Toradex and have a list of the register values that will set the KSZ8041NL and the LAN9512 into test mode.
https://ww1.microchip.com/downloads/en/Appnotes/AN2686-Ethernet-Compliance-Test-10BASET-100BASETX-1000BASET.pdf
How can I write these values into those PHY registers from my serial interface(SSH) on my Ubuntu PC?

Many thanks in advance!

Hi @Roger-G.O.A.T. !

Sorry for the delay.

You can use the mii-tool from this net-tools repository.

Best regards.

Just a clarification: SSH connection with the module is done over ethernet and serial connection is done over a serial interface (UART). They are different types of connections :slight_smile:

Sorry, I got that wrong. The board is connected via UART.

Hi, can you give me an example how to configure the LAN9512 for 100BaseT tests with mii-tool?

Many thanks in advance!

I tried miitool GitHub - kontron/miitool: Handy tool to manipulate PHY registers. in the meanwhile and executed the following command in the serial console.

miitool w eth0 00 0x2100
miitool w eth0 1F 0xA000

After executing those commands I could not observe that the KSZ8041 PHY on the colibri is sending any scrambled idles. I received these messages from the colibri.

Out of the top of my head (and with a little Wikipedia help :p), after disabling the Auto-MDIX you would get scrambled messages if the ethernet connection is done with another device that is MDI.

So, supposing that I’m right, I have some questions:

  • Are you connecting the module directly to some MDI device, so the messages would be scrambled?
  • If you’re connecting directly to your computer (which should be MDI, or even MDI/MDI-X), did you also disabled the Auto-MDIX on your computer’s NIC?

On the other hand, if I’m understanding the problem/use-case wrong, can you explain it better?
And also show how you’re doing your connections?

Hi, we want to do ethernet compliance testing with our carrier board design. We’ve got the two follwoing ethernet interfaces:

  1. eth0 - Colibri iMX7 on board PHY KSZ8041NL

  2. eth1 - LAN9512 ETH/USB Hub on carrier board

We have the LeCroy QualiPHY test setup in our lab. https://teledynelecroy.com/options/productseries.aspx?mseries=252&groupid=140 The RJ45 ports of the Carrier Board will be connected to this passive measurement board. See picture attached.
The steps of testing are described by LeCroy and Microchip. https://ww1.microchip.com/downloads/en/Appnotes/AN2686-Ethernet-Compliance-Test-10BASET-100BASETX-1000BASET.pdf
But I need to find a wait to set the PHYs in the appropriate test state.
At the moment it doesn’t work and no waveforms are displayed on the scope.

BR achim
enet_tf-enet-b_lg

Hi, @Roger-G.O.A.T

Maybe you can also try with another tool: the ethtool

Best regards

May you connect me with Andrija Stojkovic, the author of Ethernet Compliance Testing bei Toradex . He did exactly what I’m trying to do. He should know exactly what has to be done

Hi @Roger-G.O.A.T

Andrija is not currently working at Toradex.

Can you inform if you are using Reference Image (Minimal or Multimedia) or TorizonCore and the exact version?

Best regards,