Part Number:TDA4VM
Hi,Ti
在运行SDK文档中的测试demo时,我发现了以下问题:
- Main F5 Core0和A72 eth1均无法使用DHCP服务,插入公司局域网网线后,R5 server和和A72 eth1无法正确获取到ip,R5 server ip为 0,0,0,0,eth1 无ip。
- 使用静态ip,给R5 server和A72 eth1给定ip后,使用port3连接PC,三者在相同局域网下,从A72端和PC端均无法ping通,也无法ping通R5 server。
参考文档:
1. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_03_00_07/exports/docs/ethfw/docs/user_guide/demo_ethfw_combined_top.html
2. {sdk8.1007}/ti-processor-sdk-rtos-j721e-evm-08_01_00_13-docs_only/vision_apps/docs/user_guide/ETHFW_DEMOS.html
测试日志如图:
PING测试
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,链接如下,如有答复将尽快回复您,谢谢:
e2e.ti.com/…/tda4vm-cpsw9g-eth-network-is-not-working
,
Cherry Zhou:
您好,
主机端口好像没有接收到数据包。 要验证此假设,必须在 ping 前后检查统计寄存器。
以下脚本将打印 cpsw 的一些统计信息:
#!/bin/bash# change the value of port variable for the MAC port which you are facing issue on port=2port=$(( $port + $port ))offset="0x$port""00"var=$(( 16#$(devmem2 0x0c03A034 | tail -n1 -c9) )) echo "PORT0 good Tx frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a028 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port good Tx frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a028 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port good Rx frames= $var" var=$(( 16#$(devmem2 0x0c03A000 | tail -n1 -c9) )) echo "PORT0 good Rx frames= $var" var=$(( 16#$(devmem2 0x0c03A028 | tail -n1 -c9) )) echo "PORT0 ALE drop frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a028 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port ALE drop frames= $var"您必须更改所使用端口的变量端口的值。
建议您使用静态 IP 执行以下步骤来运行测试:
为 EVM 和 PC 分配 IP (如果未分配)
运行脚本
从EVM Ping PC
运行脚本
从PC Ping EVM
运行脚本然后请提供下在 TDA4VM Linux 控制台上看到的任何输出。
,
?? ?:
Hi,Cherry
多谢你的协助,这是我使用脚本在板卡上的测试结果。
第一次运行脚本
在TDA4VM Linux端ping PC
在PC端ping TDA4VM Linux
,
Cherry Zhou:
好的感谢您提供的信息,我们反馈给工程师看下。
,
Cherry Zhou:
抱歉,之前给您的脚本中有些错误,您能否再试下运行以下脚本,看下测试结果:
#!/bin/bash# change the value of port variable for the MAC port which you are facing issue on port=2oport=$(( $port + $port ))offset="0x$oport""00"var=$(( 16#$(devmem2 0x0c03A034 | tail -n1 -c9) )) echo "PORT0 good Tx frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a034 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port good Tx frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a000 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port good Rx frames= $var" var=$(( 16#$(devmem2 0x0c03A000 | tail -n1 -c9) )) echo "PORT0 good Rx frames= $var" var=$(( 16#$(devmem2 0x0c03A028 | tail -n1 -c9) )) echo "PORT0 ALE drop frames= $var" var=$(( 16#$(devmem2 $( printf "0x%X\n" $(( 0x0c03a028 + $offset )) ) | tail -n1 -c9) )) echo "PORT$port ALE drop frames= $var"请问您用的是CPSW 的 MAC 端口2连接到 PC吗?可以在 SDK 版本的 ethfw 用户指南中查看连接的详细信息。 请问您用的 SDK是?
,
?? ?:
目前连接的是CPSW9G中的port3端口,连接方式如图所示:
使用的SDK版本是8.1。
新的脚本测试日志如下:(因为使用的port3,所以我将脚本中的port=2修改为了port=3)
第一次运行:
Ping PC:
Ping EVM:
,
Cherry Zhou:
好的我们反馈给工程师看下。
,
Cherry Zhou:
您好,
数据不会累加。
在上一个test case中,当我们ping EVM 时,端口3 Rx 正常帧不会递增,这是第一个应递增的寄存器。 但 Tx 正常帧正在增加。
可能有一些后台进程通过端口3发送附加数据。
就 Ping 而言,在两个方向上都没有观察到来自 PC 的数据包。 链路和/或 PC 中可能有问题。 您再重新检查下设置看看?能分享下在 PC 和 EVM 上 ifconfig -a`的输出吗?
您能否在 PC 上获取 Wireshark trace来从 EVM ping PC?
,
?? ?:
Hi,Cherry
刚从假期中归来,也希望你十一长假愉快。
ifconfig的打印结果,PC端
EVM端
从Wireshark trace的抓包来看,pc好像没有收到来自EVM的数据包?
,
Cherry Zhou:
好的收到了,我们跟进给工程师看下哈。
,
Cherry Zhou:
您好,
问题可能出在 PC 端。 CPSW 能够将traffic发送出去(可以看到 POR3 Tx 正常帧递增),但 PC 未接收数据包。
您能不能试下在不同的 PC 上尝试此操作?或者如果可能的话,在两个 EVM 之间操作下。