LS1012a SDK linux eth0 ping fail

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1012a SDK linux eth0 ping fail

1,744 Views
haff
Contributor III

Hello,

I am working on custom ls1012a board with two ethernet ports. I based my work on the RDB and FRDM sources from the latest available SDK. Connection to PHYs is almost the same as on the FRDM board and I have both ports working in U-Boot. Negotiation goes ok, ping goes through both ports.

But on the Linux I have only eth1 working properly. Both ports are recognized and both negotiate properly. But I have ping only through eth1, not eth0. On eth0 I only get a series of "Destination Host Unreachable". Looks like case when pfe isn't stopped in u-boot, but it is and eth1 works ok.

What am I missing? My dts configuration pretty much the same as in FRDM, the only difference is phy-id for. Any ideas?

Would be very grateful for any pointers.

 

P.S boot log is attached

Original Attachment has been moved to: dmesg.log.zip

0 Kudos
6 Replies

1,076 Views
Pavel
NXP Employee
NXP Employee

What happens if "ping 192.168.0.51" command is executed?


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,076 Views
haff
Contributor III

To the interface itself I see successful pings. To the router (192.168.0.1) - no.

root@ls1012ardb:~# ping 192.168.0.51
PING 192.168.0.51 (192.168.0.51) 56(84) bytes of data.
64 bytes from 192.168.0.51: icmp_seq=1 ttl=64 time=0.089 ms
64 bytes from 192.168.0.51: icmp_seq=2 ttl=64 time=0.048 ms
...
root@ls1012ardb:~# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.50 icmp_seq=1 Destination Host Unreachable
From 192.168.0.50 icmp_seq=2 Destination Host Unreachable
...

By the way, for the purity of experiments, I mostly perform it at one interface at a time. Like this:
1. plug in only eth0
2. boot
3. try getting ip over DHCP using 'udhcpc -i eth0'
3a. if DHCP fails - set static IP with 'ip addr add, ip link set up'.
4. ping interface
5. ping router
6. repeat for eth1

So this way in my current configuration only eth1 gets IP from DHCP and able to ping both interface and router.
For eth0 both DHCP fails and static IP is not able to ping the router. Though able to ping interface.

New information. By try and error, I have found that after:
1. commenting out control write register in SERDES configuration somewhy helps to get DHCP
2. disabling phy_start() procedure

(diff is attached).
both eth0 and eth1 are working now. Acquiring IP from DHCP and able to ping the router.
I would have thought that if commenting out phy_start() helps this way that means the problem is in the generic PHY driver. But then why eth1 works from the start? Both PHYs are identical DP83867.

Any ideas?

Best regards,
Lavnikevich Dmitry

0 Kudos

1,076 Views
Pavel
NXP Employee
NXP Employee

What message dump happens for the "ifconfig -a" command?

 


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,076 Views
haff
Contributor III

Attached. First right after boot, then after static configuration.

0 Kudos

1,076 Views
Pavel
NXP Employee
NXP Employee

Is PPA firmware loaded on your board?

See the Section 4.4.5.7 of NXP SDK 2.0-1703 documentation:

http://www.nxp.com/docs/en/supporting-information/QORIQ-SDK-2.0-IC-REV0.pdf


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,076 Views
haff
Contributor III

Thanks for the reply,

yes. I have PPA from RDB written at 0x500000. Tried also PPA from FRDM yocto build just in case. Though I understand that PPA is SoC-specific, not board-specific. Correct me if I'm wrong.

Plus if PPA would be wrong wouldn't it cause pings to fail in u-boot as well?

0 Kudos