Eye diagram for ethernet

I tried to use mii under uboot generate eye diagram
but it will freeze after I access register
What should I do next?

Tegra186 (P2771-0000-500) # mii device
MII devices: 'ethernet@2490000'
Current device: 'ethernet@2490000'
Tegra186 (P2771-0000-500) # mii info 0x0
ERROR: MDIO not idle at entry
at /dvs/git/dirty/git-master_linux/3rdparty/u-boot/drivers/net/dwc_eth_qos.c:380/eqos_mdio_read()
Tegra186 (P2771-0000-500) # mdio list
Tegra186 (P2771-0000-500) # mdio read 0x0
Reading from bus ethernet@2490000
PHY at address 0:
ERROR: MDIO not idle at entry
at /dvs/git/dirty/git-master_linux/3rdparty/u-boot/drivers/net/dwc_eth_qos.c:380/eqos_mdio_read()

Ethernet SI check require waveform generate tool from Broadcom.
Broadcom provided a programing guide to get patterns from Broadcom Ethernet chips. Need contact Broadcom.
The P/N is BCM54610C1IMLG Ethernet PHY.

Hi Jim
Broadcom gave us what register and value we have to change.
But I can not change value under uboot though mii tool.
My target board is nvidia tx2’s carrier board.

Still please contact Broadcom for this, it is out of our range.

hi yi.chen,
have you solve this problem?
could you share information to me?


Don’t know what to do…

Hi Trumany
I also have the same problem.
I got the register from Broadcom like below:
mwrite 00 0140
mwrite 09 3b00
I change it to MII/MDIO command write to TX2
mii write eth0 0x00 0x0140
mii write eth0 0x09 0x3b00
but it is not work, in uboot system will crash.

We ask Broadcom again, but they said:

The software command line is handled by CPU, not PHY.
Please ask your CPU vendor to provide the software.

Could you help this issue, we need it to make ethernet enter test mode.


Just speculation, perhaps there is big-endian/little-endian conversion where upper and lower bytes must be exchanged.

Dear Linuxdev
Thanks your information.
But even I use command “mii info 0x0” to read register 0 data, uboot don’t have any response, just like yi.chen reported on the top

Hi Rick,

Need some check here. Will update to you ASAP.


btw, what is the purpose of using this in u-boot? Can this be done after kernel is up?

This tool can change phy’s register.
It can or can not be done after kernel is up…
You should try yourself.
Because our company do this job under uboot.
Seems like jetson’s mii-tool doesn’t work.

Where available you might try the newer ethtool instead of mii-tool (this is of course after Linux is already booted…not sure what is possible in U-Boot).


Sorry for my previous comment… Just want to make sure if there is an alternative solution for your case.
I did’t mean to ask your help on kernel.

Sorry for what?
If there is an alternative solution I will not ask on this forum…

Is this problem resolved? I have the same problem.
Broadcom give the register to be modified, but I don’t know how to write value to the register.
Any update?



If you want to change it in uboot, then it is still not fixed since our uboot does not support mdio.

However, uboot is open source and you could try to add it from 3rdparty.