Hello, team, I have two Jetson Xavier NX emmc modules(Jetson Linux Release 32.7.2 ) to connect each other by ethernet eth0 interface, and run following test script on one module (actually ifconfig down/up eth0 ):
n=0
while true;do
n=`expr $n + 1`
echo "test: $n"
ifconfig eth0 down;
sleep 2;
ifconfig eth0 up
sleep 15
ethtool eth0 | grep Speed
ethtool eth0 | grep "Link detected"
[ `ethtool eth0 | grep 1000Mb/s -c` -ne 1 ] \
|| [ `ethtool eth0 | grep "Link detected: yes" -c` -ne 1 ] \
&& break
done
Here is the result of test:
test: 1530
Speed: 1000Mb/s
Link detected: yes
test: 1531
Speed: 1000Mb/s
Link detected: yes
test: 1532
Speed: 1000Mb/s
Link detected: yes
test: 1533
Speed: 10Mb/s
Link detected: no
root@w:~#
root@w:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: no
root@w:~# cat /sys/class/net/eth0/carrier
0
root@w:~#
root@w:~# ifconfig eth0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 48:b0:2d:5f:c7:9f txqueuelen 1000 (Ethernet)
RX packets 860 bytes 48026 (48.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3245 bytes 485395 (485.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 37
root@w:~#
root@w:~# sh phy_dump.sh
Page:0, Reg:0 0x1040
Page:0, Reg:1 0x79ad
Page:0, Reg:2 0x001c
Page:0, Reg:3 0xc916
Page:0, Reg:4 0x0de1
Page:0, Reg:5 0xcde1
Page:0, Reg:6 0x006d
Page:0, Reg:7 0x2801
Page:0, Reg:8 0x4006
Page:0, Reg:9 0x0200
Page:0, Reg:10 0x4800
Page:0, Reg:11 0000
Page:0, Reg:12 0000
Page:0, Reg:13 0x4007
Page:0, Reg:14 0x0006
Page:0, Reg:15 0x2000
Page:0xa42, Reg:16 0xffff
Page:0xa42, Reg:17 0xffff
Page:0xa42, Reg:18 0xffff
Page:0xa42, Reg:19 0xffff
Page:0xa42, Reg:20 0xffff
Page:0xa42, Reg:21 0xffff
Page:0xa42, Reg:22 0xffff
Page:0xa42, Reg:23 0xffff
Page:0xa43, Reg:24 0xffff
Page:0xa43, Reg:25 0xffff
Page:0xa43, Reg:26 0xffff
Page:0xa43, Reg:27 0xffff
Page:0xa43, Reg:28 0xffff
Page:0xa43, Reg:29 0xffff
Page:0xa43, Reg:30 0xffff
Page:0xa43, Reg:31 0xffff
Page:0xa46, Reg:20 0xffff
Page:0xd04, Reg:16 0xffff
After several times, eth0 negotiate failed to 10M half, and can not dectect the link any more (but the LEDs of RJ45 are on), even unplug and replug the ethernet cable.
root@w:~# cat /sys/class/net/eth0/carrier
0
And dmesg doesnot show any details about the issue:
root@w:~# dmesg | tail
[ 9394.252658] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 9394.254073] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 9396.852786] gpio tegra-gpio wake20 for gpio=52(G:4)
[ 9396.857707] net eth0: get_configure_l3v4_filter →
[ 9396.862408] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9401.066151] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 9401.067561] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 9404.324667] gpio tegra-gpio wake20 for gpio=52(G:4)
[ 9404.326756] net eth0: get_configure_l3v4_filter →
[ 9404.327596] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
root@w:~#
root@w:~# uname -a
Linux w 4.9.253-tegra #1 SMP PREEMPT Sun Apr 17 02:37:44 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux
root@w:~# cat /etc/nv_tegra_release
#R32 (release), REVISION: 7.2, GCID: 30192233, BOARD: t186ref, EABI: aarch64, DATE: Sun Apr 17 09:53:50 UTC 2022
please help me to solve the problem, thanks
here is the bootlog
bootlog-xavier-nx.txt (95.8 KB)