This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:为什么 RMII phy 链接到 cpsw9g、但无法 ping 到主机?

Guru**** 2013580 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1188332/tda4vm-why-rmii-phy-has-link-to-cpsw9g-but-cannot-ping-to-host

器件型号:TDA4VM

尊敬的专家

我使用 RMII phy 与 cpsw9g 连接。 使用   外部参考时钟的 Phy、这是图。

这是我 的"RMII_REF_CLK"引脚多路复用配置。

  

Fullscreen
1
2
3
4
root@j7-evm:~# devmem2 0x0011c0ac
/dev/mem opened.
Memory mapped at address 0xffff90a6c000.
Read at address 0x0011C0AC (0xffff90a6c0ac): 0x00050005
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

使用"ethtool -t"和"/opt/vx_app_arm_remote_log.out "收集统计数据

Fullscreen
1
2
3
4
5
6
root@j7-evm:~# ethtool -t eth1
The test result is PASS
The test extra info:
RPMSG Ping test 0
RPMSG Read reg 0
RPMSG Dump stat 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@j7-evm:~# /opt/vx_app_arm_remote_log.out
[MCU2_0] 15588.688913 s: CIO: Init ... Done !!!
[MCU2_0] 15588.689001 s: ### CPU Frequency = 1000000000 Hz
[MCU2_0] 15588.689046 s: APP: Init ... !!!
[MCU2_0] 15588.689074 s: SCICLIENT: Init ... !!!
[MCU2_0] 15588.689355 s: SCICLIENT: DMSC FW version [8.4.1--v08.04.01 (Jolly Jellyfi]
[MCU2_0] 15588.689413 s: SCICLIENT: DMSC FW revision 0x8
[MCU2_0] 15588.689450 s: SCICLIENT: DMSC FW ABI revision 3.1
[MCU2_0] 15588.689487 s: SCICLIENT: Init ... Done !!!
[MCU2_0] 15588.689516 s: UDMA: Init ... !!!
[MCU2_0] 15588.690984 s: UDMA: Init ... Done !!!
[MCU2_0] 15588.691062 s: MEM: Init ... !!!
[MCU2_0] 15588.691111 s: MEM: Created heap (DDR_LOCAL_MEM, id=0, flags=0x00000004) @ d9000000 of size 16777216 bytes !!!
[MCU2_0] 15588.691192 s: MEM: Created heap (L3_MEM, id=1, flags=0x00000000) @ 3600000 of size 262144 bytes !!!
[MCU2_0] 15588.691256 s: MEM: Init ... Done !!!
[MCU2_0] 15588.691282 s: IPC: Init ... !!!
[MCU2_0] 15588.691347 s: IPC: 6 CPUs participating in IPC !!!
[MCU2_0] 15588.691400 s: IPC: Waiting for HLOS to be ready ... !!!
[MCU2_0] 15601.485555 s: IPC: HLOS is ready !!!
[MCU2_0] 15601.501634 s: IPC: Init ... Done !!!
[MCU2_0] 15601.501713 s: APP: Syncing with 5 CPUs ... !!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

在上面的日志中,连接到 Port4的 phy(tja1101)已链接。 ("Cpsw_handleLinkUp:端口4:链路上行:100Mbps 全双工")

但无法 ping 通连接到 tda4板的主机 PC。

使用以下命令从 A72运行 ping PC

Ping -c 10.  

Fullscreen
1
2
3
4
5
6
7
root@j7-evm:~# ifconfig eth1 192.168.1.3
root@j7-evm:~# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
^C
--- 192.168.1.2 ping statistics ---
13 packets transmitted, 0 packets received, 100% packet loss
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

使用"ethtool -t"和"/opt/vx_app_arm_remote_log.out "收集统计数据

Fullscreen
1
2
3
4
5
6
root@j7-evm:~# ethtool -t eth1
The test result is PASS
The test extra info:
RPMSG Ping test 0
RPMSG Read reg 0
RPMSG Dump stat 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@j7-evm:~# /opt/vx_app_arm_remote_log.out
[MCU2_0] Function:CpswProxyServer_registerIpv4MacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:70:ff:76:1d:92:c1 IPv4Addr:192.168.1.3
[MCU2_0] 320.372720 s:
[MCU2_0] SNo. IP Address MAC Address
[MCU2_0] 320.372765 s: ------ ------------- -----------------
[MCU2_0] 320.372805 s: 1 192.168.1.3 70:ff:76:1d:92:c1
[MCU2_0] 320.374398 s: Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:1:0:5e:0:0:fc, vlanId:0, FlowIdx:172, FlowIdOffset:0
[MCU2_0] 320.376468 s: Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:1:0:5e:0:0:fb, vlanId:0, FlowIdx:172, FlowIdOffset:0
[MCU2_0] 384.444576 s: Function:CpswProxyServer_regrdHandlerCb,HostId:0, RegAddr:c000000
[MCU2_0] 384.444890 s: Function:CpswProxyServer_regrdHandlerCb,HostId:0, RegAddr:c020000
[MCU2_0] 384.445128 s: Function:CpswProxyServer_clientNotifyHandlerCb,HostId:0,Handle:38acb7e6,CoreKey:a39890a4,NotifyId:RPMSG_KDRV_TP_ETHSWITCH_CLIENTNOTIFY_DUMPSTATS,NotifyLen
[MCU2_0] 384.445262 s:
[MCU2_0] 384.445338 s: 0: Vlanid: 012c, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445402 s: RAW:[0 212c1f
[MCU2_0] 384.445447 s: f1 ff0001ff]
[MCU2_0] 384.445578 s: 1: Vlanid: 0190, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445650 s: RAW:[0 21901f
[MCU2_0] 384.445697 s: f1 ff0001ff]
[MCU2_0] 384.445761 s: 2: Vlanid: 0191, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445819 s: RAW:[0 21911f
[MCU2_0] 384.445861 s: f1 ff0001ff]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

4.  使用以下命令从 PC 到 A72运行 ping 命令

Ping -c 10.

使用"ethtool -t"和"/opt/vx_app_arm_remote_log.out "收集统计数据

Fullscreen
1
2
3
4
5
6
root@j7-evm:~# ethtool -t eth1
The test result is PASS
The test extra info:
RPMSG Ping test 0
RPMSG Read reg 0
RPMSG Dump stat 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@j7-evm:~# /opt/vx_app_arm_remote_log.out
[MCU2_0] Function:CpswProxyServer_registerIpv4MacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:70:ff:76:1d:92:c1 IPv4Addr:192.168.1.3
[MCU2_0] 320.372720 s:
[MCU2_0] SNo. IP Address MAC Address
[MCU2_0] 320.372765 s: ------ ------------- -----------------
[MCU2_0] 320.372805 s: 1 192.168.1.3 70:ff:76:1d:92:c1
[MCU2_0] 320.374398 s: Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:1:0:5e:0:0:fc, vlanId:0, FlowIdx:172, FlowIdOffset:0
[MCU2_0] 320.376468 s: Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a39890a4,CoreKey:38acb7e6, MacAddress:1:0:5e:0:0:fb, vlanId:0, FlowIdx:172, FlowIdOffset:0
[MCU2_0] 384.444576 s: Function:CpswProxyServer_regrdHandlerCb,HostId:0, RegAddr:c000000
[MCU2_0] 384.444890 s: Function:CpswProxyServer_regrdHandlerCb,HostId:0, RegAddr:c020000
[MCU2_0] 384.445128 s: Function:CpswProxyServer_clientNotifyHandlerCb,HostId:0,Handle:38acb7e6,CoreKey:a39890a4,NotifyId:RPMSG_KDRV_TP_ETHSWITCH_CLIENTNOTIFY_DUMPSTATS,NotifyLen
[MCU2_0] 384.445262 s:
[MCU2_0] 384.445338 s: 0: Vlanid: 012c, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445402 s: RAW:[0 212c1f
[MCU2_0] 384.445447 s: f1 ff0001ff]
[MCU2_0] 384.445578 s: 1: Vlanid: 0190, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445650 s: RAW:[0 21901f
[MCU2_0] 384.445697 s: f1 ff0001ff]
[MCU2_0] 384.445761 s: 2: Vlanid: 0191, UTagged: 1ff, Mult: 1ff, UMult: 0, Member: 1ff
[MCU2_0] 384.445819 s: RAW:[0 21911f
[MCU2_0] 384.445861 s: f1 ff0001ff]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

6.在上述序列中,使用以下命令从 PC 和 A72收集 tcpdump 日志。
#tcpdump -I  -xx

我使用 PC ping A72、下面是图片和日志

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@j7-evm:~# tcpdump -i eth1 -xx
[ 707.880418] device eth1 entered promiscuous mode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
09:18:29.555451 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 70:ff:76:1d:92:c1 (oui Unknown), length 288
0x0000: ffff ffff ffff 70ff 761d 92c1 0800 45c0
0x0010: 013c 0000 0000 4011 78f2 0000 0000 ffff
0x0020: ffff 0044 0043 0128 26a3 0101 0600 baf8
0x0030: c39c 02c1 0000 0000 0000 0000 0000 0000
0x0040: 0000 0000 0000 70ff 761d 92c1 0000 0000
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我使用 A72对 PC 执行 ping 操作。  PC 未接收数据包。