TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: CPSW9G ETH网络无法正常使用

Part Number:TDA4VM

Hi,Ti

在运行SDK文档中的测试demo时,我发现了以下问题:

  1. Main F5 Core0和A72 eth1均无法使用DHCP服务,插入公司局域网网线后,R5 server和和A72 eth1无法正确获取到ip,R5 server ip为 0,0,0,0,eth1 无ip。
  2. 使用静态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 之间操作下。

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: CPSW9G ETH网络无法正常使用
分享到: 更多 (0)