Hello Yiping
This is a complementary information that I can run Ethernet/IP communicating for 3 days. After 3 days, Ether driver seems to be crashed. I tried again your suggested commands. It seems ping works and link status on.
U-Boot 2015.01+SDKv1.9+geb3d4fc (Feb 23 2018 - 15:49:52)
CPU: Freescale LayerScape LS1021, Version: 2.0, (0x87001120)
Clock Configuration:
CPU0(ARMV7):1000 MHz,
Bus:300 MHz, DDR:800 MHz (1600 MT/s data rate),
Reset Configuration Word (RCW):
00000000: 0608000a 00000000 00000000 00000000
00000010: 20000000 00403900 60025a00 21046000
00000020: 00000000 00000000 00000000 18000000
00000030: 00000000 4b1b7340 00000000 00000000
Board: LS1021UMAC
CPLD: V1.0
PCBA: V2
CPLD8: RC68 WC63
I2C: ready
DRAM: 1 GiB
Using SERDES1 Protocol: 32 (0x20)
The regulator (MC34VR500) does not exist. The device does not support deep sleep.
Flash: 0 Bytes
MMC: FSL_SDHC: 0
EEPROM: Invalid ID (b9 f8 01 cf)
PCIe1: Root Complex no link, regs @ 0x3400000
PCIe2: Root Complex no link, regs @ 0x3500000
In: serial
Out: serial
Err: serial
SATA link 0 timeout.
AHCI 0001.0300 1 slots 1 ports ? Gbps 0x1 impl SATA mode
flags: 64bit ncq pm clo only pmp fbss pio slum part ccc
scanning bus for devices...
Found 0 device(s).
SCSI: Net: eTSEC1 is in sgmii mode.
Phy 2 not found
PHY reset timed out
eTSEC1, eTSEC3 [PRIME]
Error: eTSEC3 address not set.
Hit any key to stop autoboot: 0
=> mdio list
FSL_MDIO:
0 - Generic PHY <--> eTSEC3
2 - Generic PHY <--> eTSEC1
=> mdio read eTSEC3 1
Reading from bus FSL_MDIO
PHY at address 0:
1 - 0x786d
=> mdio read eTSEC1 1
Reading from bus FSL_MDIO
PHY at address 2:
1 - 0xffff
=> setenv ipaddr 192.168.0.200
=> setenv netmask 255.255.255.0
=> ping 192.168.0.171
Speed: 100, full duplex
*** ERROR: `eth1addr' not set
Speed: 1000, full duplex
Using eTSEC1 device
ping failed; host 192.168.0.171 is not alive
=> setenv eth1addr 00:00:0A:12:34:56
=> ping 192.168.0.171
Speed: 1000, full duplex
Using eTSEC1 device
ping failed; host 192.168.0.171 is not alive
=> setenv ethact eTSEC3
=> ping 192.168.0.171
Speed: 100, full duplex
Using eTSEC3 device
host 192.168.0.171 is alive
=> ping 192.168.0.230
Speed: 100, full duplex
Using eTSEC3 device
host 192.168.0.230 is alive
=>
Speed: 100, full duplex
Using eTSEC3 device
host 192.168.0.230 is alive
=> mii info
PHY 0x00: OUI = 0x0885, Model = 0x16, Rev = 0x01, 100baseT, FDX
PHY 0x1F: OUI = 0x0000, Model = 0x00, Rev = 0x00, 10baseT, HDX
=> mii dump 0 0
0. (3100) -- PHY control register --
(8000:0000) 0.15 = 0 reset
(4000:0000) 0.14 = 0 loopback
(2040:2000) 0. 6,13 = b01 speed selection = 100 Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0000) 0.11 = 0 power-down
(0400:0000) 0.10 = 0 isolate
(0200:0000) 0. 9 = 0 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0000) 0. 7 = 0 collision test enable
(003f:0000) 0. 5- 0 = 0 (reserved)
=> mii dump 0 1
1. (786d) -- PHY status register --
(8000:0000) 1.15 = 0 100BASE-T4 able
(4000:4000) 1.14 = 1 100BASE-X full duplex able
(2000:2000) 1.13 = 1 100BASE-X half duplex able
(1000:1000) 1.12 = 1 10 Mbps full duplex able
(0800:0800) 1.11 = 1 10 Mbps half duplex able
(0400:0000) 1.10 = 0 100BASE-T2 full duplex able
(0200:0000) 1. 9 = 0 100BASE-T2 half duplex able
(0100:0000) 1. 8 = 0 extended status
(0080:0000) 1. 7 = 0 (reserved)
(0040:0040) 1. 6 = 1 MF preamble suppression
(0020:0020) 1. 5 = 1 A/N complete
(0010:0000) 1. 4 = 0 remote fault
(0008:0008) 1. 3 = 1 A/N able
(0004:0004) 1. 2 = 1 link status
(0002:0000) 1. 1 = 0 jabber detect
(0001:0001) 1. 0 = 1 extended capabilities
=> mii dump 0 2
2. (0022) -- PHY ID 1 register --
(ffff:0022) 2.15- 0 = 34 OUI portion
=> mii dump 0 3
3. (1561) -- PHY ID 2 register --
(fc00:1400) 3.15-10 = 5 OUI portion
(03f0:0160) 3. 9- 4 = 22 manufacturer part number
(000f:0001) 3. 3- 0 = 1 manufacturer rev. number
=> mii dump 0 4
4. (81e1) -- Autonegotiation advertisement register --
(8000:8000) 4.15 = 1 next page able
(4000:0000) 4.14 = 0 (reserved)
(2000:0000) 4.13 = 0 remote fault
(1000:0000) 4.12 = 0 (reserved)
(0800:0000) 4.11 = 0 asymmetric pause
(0400:0000) 4.10 = 0 pause enable
(0200:0000) 4. 9 = 0 100BASE-T4 able
(0100:0100) 4. 8 = 1 100BASE-TX full duplex able
(0080:0080) 4. 7 = 1 100BASE-TX able
(0040:0040) 4. 6 = 1 10BASE-T full duplex able
(0020:0020) 4. 5 = 1 10BASE-T able
(001f:0001) 4. 4- 0 = 1 selector = IEEE 802.3
=> mii dump 0 5
5. (cde1) -- Autonegotiation partner abilities register --
(8000:8000) 5.15 = 1 next page able
(4000:4000) 5.14 = 1 acknowledge
(2000:0000) 5.13 = 0 remote fault
(1000:0000) 5.12 = 0 (reserved)
(0800:0800) 5.11 = 1 asymmetric pause able
(0400:0400) 5.10 = 1 pause able
(0200:0000) 5. 9 = 0 100BASE-T4 able
(0100:0100) 5. 8 = 1 100BASE-X full duplex able
(0080:0080) 5. 7 = 1 100BASE-TX able
(0040:0040) 5. 6 = 1 10BASE-T full duplex able
(0020:0020) 5. 5 = 1 10BASE-T able
(001f:0001) 5. 4- 0 = 1 selector = IEEE 802.3
=> mii dump 0 6
The MII dump command only formats the standard MII registers, 0-5.
=>
Thanks,
Yasushi