i.MX8MP ethernet eqos+ksz9131 can link but ping fail at 10M

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX8MP ethernet eqos+ksz9131 can link but ping fail at 10M

跳至解决方案
2,091 次查看
changbaoma
Contributor III

Hello,NXP experts

Hardware: refer to i.MX8MP-EVK except PHYs
Software : imx_5.4.70_2.3.0

In our custom i.MX8MP board, we use two ksz9131 phys to connect to ethernet fec(eth0) and eqos(eth1) respectively in our schematic. MAC and PHY are connected with RGMII (rgmii-id in dts).

Ethernet interface fec(eth0) works well at 10/100/1000M both auto-negotiate mode and force mode.
Ethernet interface eqos(eth1) also works well at 100/1000M both auto-negotiate mode and force mode, but fail to ping at 10M whether it is auto-negotiate mode or force mode, link can indicate normally at 10M.

Here are my tries:

1. Force eqos(eth1) interface to 10M
root@IMX8MP:~# ethtool -s eth1 speed 10 duplex full autoneg on
[ 493.950628] imx-dwmac 30bf0000.ethernet eth1: Link is Down
[ 497.570535] imx-dwmac 30bf0000.ethernet eth1: Link is Up - 10Mbps/Full - flow control rx/tx

2. Ping PC through eqos(eth1) interface 
root@Router:~# ping -I 192.168.0.1 192.168.0.10
PING 192.168.0.10 (192.168.0.10) from 192.168.0.1 : 56(84) bytes of data.
From 192.168.0.1 icmp_seq=1 Destination Host Unreachable
From 192.168.0.1 icmp_seq=2 Destination Host Unreachable
From 192.168.0.1 icmp_seq=3 Destination Host Unreachable
From 192.168.0.1 icmp_seq=4 Destination Host Unreachable
Statistical data before and after this ping by 'ifconfig eth1', TX packets is increasing, RX packets remains unchanged.
And at PC end i can see ARP-Request broadcast from iMX8MP eqos(eth1) and ARP-Reply to i.MX8MP eqos(eth1) in Wireshark during ping.

3. Set eqos(eth1) interface to 10/100/1000M auto-negotiate mode and force PC end to 10M.

iMX8MP eqos(eth1) interface can link at 10M, but ping fail as step 2.

4. Modify operation mode of the PHY interface from rgmii-id to rgmii/rgmii-txid/rgmii-rxid doesn't make things better. Patch applied: https://git.toradex.com/cgit/linux-toradex.git/commit/drivers/net/phy/micrel.c?h=toradex_5.15-2.1.x-...

 

If there is anything else you want to know please let me know.

Any help are appreciated.

 

0 项奖励
1 解答
2,057 次查看
jimmychan
NXP TechSupport
NXP TechSupport

It is because the KSZ9131 removes all 7 bytes of the preamble. Please contact the PHY chip's company for how to enable 10Base-T preamble on PHY ksz9131. 

在原帖中查看解决方案

3 回复数
2,058 次查看
jimmychan
NXP TechSupport
NXP TechSupport

It is because the KSZ9131 removes all 7 bytes of the preamble. Please contact the PHY chip's company for how to enable 10Base-T preamble on PHY ksz9131. 

2,048 次查看
changbaoma
Contributor III

Thank you for you reply,@jimmychan 

We will check with PHY vendor.

Although eqos(eth1) +ksz9131 can not work at 10M, but ethernet interface fec(eth0) +ksz9131 works well at 10M speed.

Is it possible that the difference between eqos and fec caused this fail?

0 项奖励
2,045 次查看
jimmychan
NXP TechSupport
NXP TechSupport

Yes. For the details, please read the i.MX 8M Plus Mask Set Errata for Mask 1P33A about the ERR050694.