Starting a new thread as requested by silviawang when I posted on
https://community.nxp.com/message/835277?commentID=835277&et=watches.email.thread#comment-835277
My original message was:
I seem to have eth1 working happily under a recent build of the fsl community code. When I try to use eth0 and eth2 they do not seem to send or receive any packets. I must have a weird bit of config somewhere causing this.
I can use ifconfig to assign IP addresses to any interface. I can take eth1 and eth2 up and down and see messages such as (when a cable is connected):
root@ls1021atwr:/# ifconfig eth2 up
root@ls1021atwr:/# libphy: mdio@2d24000:01 - Link is Up - 1000/Full
Remove cable from eth2 and plug it into eth1
libphy: mdio@2d24000:01 - Link is Down
libphy: mdio@2d24000:00 - Link is Up - 1000/Full
Remove cable from eth1 and plug into eth0
# libphy: mdio@2d24000:00 - Link is Down
libphy: mdio@2d24000:02 - Link is Up - 1000/Full
I have checked that SW3[5] is off.
Silvia replied asking that I:
Please check whether eTSEC1, eTSEC2 and eTSEC3 can work under u-boot?
If no, please provide u-boot log including RCW.
If yes, please provide Linux Kernel git adress(commit ID), dts and Kernel configuration file.
Do you use LS1021 CPU 1.0 or 2.0?
Please check whether eTSEC1, eTSEC2 and eTSEC3 can work under u-boot?
I am not sure how best to do that. Here is my attempt, which I think shows eTSEC1 failing but eTSEC2 and eTSEC3 working.
=> mdio list FSL_MDIO: 0 - AR8031/AR8033 <--> eTSEC2 1 - AR8031/AR8033 <--> eTSEC3 2 - AR8031/AR8033 <--> eTSEC1 => mdio read eTSEC1 1 Reading from bus FSL_MDIO PHY at address 2: 1 - 0x7949 => mdio read eTSEC2 1 Reading from bus FSL_MDIO PHY at address 0: 1 - 0x7949 => mdio read eTSEC3 1 Reading from bus FSL_MDIO PHY at address 1: 1 - 0x796d => ping 192.168.0.10 Speed: 1000, full duplex Using eTSEC3 device host 192.168.0.10 is alive => setend ethact eTSEC2 Unknown command 'setend' - try 'help' => setenv ethact eTSEC2 => ping 192.168.0.10 eTSEC2 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC2: No link. Speed: 1000, full duplex Using eTSEC3 device host 192.168.0.10 is alive => eTSEC3 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC3: No link. eTSEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC1: No link. Speed: 1000, full duplex Using eTSEC2 device host 192.168.0.10 is alive => Speed: 1000, full duplex Using eTSEC2 device host 192.168.0.10 is alive => Speed: 1000, full duplex Using eTSEC2 device host 192.168.0.10 is alive => ping 192.168.0.10 Speed: 1000, full duplex Using eTSEC2 device host 192.168.0.10 is alive => setenv ethact eTSEC1 => => => ping 192.168.0.10 eTSEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC1: No link. Speed: 1000, full duplex Using eTSEC2 device host 192.168.0.10 is alive => eTSEC2 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC2: No link. eTSEC3 Waiting for PHY auto negotiation to complete......... TIMEOUT ! eTSEC3: No link. Speed: 1000, full duplex Using eTSEC1 device ping failed; host 192.168.0.10 is not alive => Speed: 1000, full duplex Using eTSEC1 device ping failed; host 192.168.0.10 is not alive => ping 192.168.0.10 Speed: 1000, full duplex Using eTSEC1 device ping failed; host 192.168.0.10 is not alive
I will work on the U-Boot log and RCW post next.
I forgot to say that I moved the physical connection between each port as I tested them. If the port did not seem to work I moved the cable repeatedly until it did work or I ran out of ports to try. The
Waiting for PHY auto negotiation to complete
messages are an indication of my moving the connector to a new port.