Problem with eth0 on Xavier NX


I have a Xavier NX with Jetpack 4.4.1 running on a custom carrier board. It has two ethernet port.
First port named ETHERNET0 goes directly to Xavier NX binds to “eth0”.
Second port named ETHERNET1 connected to NX with USB2.0 LAN7850 adapter binds to “eth1”.

I was using ETHERNET0, installing my apps and working as usual. I installed VLC, rebooted the NX and eth0 stopped working. I connect it to HDMI and NX is working normally. I cant find any errors in dmesg, syslog and kern.log about this. Purging VLC doesnt help.

“ethtool” says link is not connected. NX is not aware of any cable is plugged or unplugged to ETHERNET0 port. I tried to set eth0 speed to 100Mbps, changed ethernet cable, switch etc. nothing helps. Also same network setup with eth1 is working.

I reflashed NX using SDK Manager and eth0 got back working. But this issue happened twice.

Is there any updates or fixes with eqos driver?
How can I debug this?

Any help will be appreciated, thank you

Please move to jetpack 4.5.1 first. We always debug from the latest release.

When this error happens, will using ifconfig up/down the interface bring it back to life?

Since we develop all of our applications on Jetpack 4.4.1 at the moment, moving to Jetpack 4.5.1 will not be easy for us.

Unfortunately ifconfig up/down doesnt help.


Any new log coming out from dmesg after you do the ifconfig up/down?

No log shows up after down command:
ifconfig eth0 down

After up command:
ifconfig eth0 up

This log comes up in dmesg:
[ 2917.307672] gpio tegra-gpio wake20 for gpio=52(G:4)
[ 2917.309413] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

In ifconfig eth0, there is 0 RX & TX packages. But I see LED is on at switch side.

Also I have this strange error repeatedly in dmesg but I dont know if it is related to eth0 problem:

��ti2c_explain_err(5): Error status is 0x4000
ti2c_explain_err(5): Register dump...
ti2c_explain_err(5):   I2C_CNFG = 0x2c00
ti2c_explain_err(5):   I2C_PACKET_TRANSFER_STATUS = 0x0
ti2c_explain_err(5):   I2C_FIFO_CONTROL = 0x70000
ti2c_explain_err(5):   I2C_FIFO_STATUS = 0x800000
ti2c_explain_err(5):   I2C_INT_MASK = 0xed
ti2c_explain_err(5):   I2C_INT_STATUS = 0x2
ti2c_explain_err(5): msg->len - 1
ti2c_explain_err(5): is_msg_write - 1
ti2c_explain_err(5): next_msg->len - 1
ti2c_explain_err(5): is_next_msg_write - 0
ti2c_explain_err(5): buf_len - 0
��[ 1446.002189] bpmp: mrq 21 took 1004000 us
[ 1446.002299] i2c i2c-4: tegra_bpmp_i2c_req ret -5
[ 1446.002399] i2c i2c-4: --- message dump for debugging ---
[ 1446.002499] i2c i2c-4: addr 0x3c flags 0x0 len 1 data:
[ 1446.002601] i2c i2c-4:  13
[ 1446.002678] i2c i2c-4: 
[ 1446.002730] i2c i2c-4: addr 0x3c flags 0x1 len 1 data:
[ 1446.002822] i2c i2c-4:  13
[ 1446.002876] i2c i2c-4: 
[ 1446.002936] max77620-thermal max77620-thermal: Failed to read STATLBT: -5

I think you should still upgrade to latest release and debug.

It is just for debug purpose, I am not ask you to move all the things to rel-32.5.1 permanently. For example, if you have some drivers that can only work on rel-32.4.4, then this is not needed here. We only focus on ethernet issue.

Also, try to do the same steps on the NX devkit and see if you can reproduce issue. If not, then we can check from hardware aspect.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.