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:CPSW9G ETH 网络不工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1131844/tda4vm-cpsw9g-eth-network-is-not-working

器件型号:TDA4VM

大家好、

以下是客户提出的问题、可能需要您的帮助:

在 SDK 中运行测试演示时、有2个问题:

1)主 F5 Core0和 A72 eth1无法使用 DHCP 服务、插入到公司 LAN 电缆时、R5服务器和 A72 eth1无法正确获取 IP (R5服务器 IP 为0、0、0、0、ETH1没有 IP)。

2)对于静态 IP、R5服务器和 A72 eth1被授予 IP、使用端口3连接到 PC、所有这些都无法从 A72端和同一 LAN 下的 PC 端 ping 通。 也无法 ping R5服务器。

他们参考了以下2个文档:

测试日志如下:

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    主机端口似乎没有接收到数据包。 要检查此假设、我们必须在 ping 前后检查统计寄存器。

    此脚本将打印 cpsw 的一些统计信息:

    #!/bin/bash
    
    # change the value of port variable for the MAC port which you are facing issue on
    port=2
    
    port=$(( $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 执行以下步骤来运行测试:

    1. 为 EVM 和 PC 分配 IP (如果未分配)
    2. 运行脚本
    3. 从 EVM Ping PC
    4. 运行脚本
    5. 从 PC Ping EVM
    6. 运行脚本

    请提供您在 TDA4VM Linux 控制台上看到的任何输出。

    此致。
    Tanmay

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

    您好 Tanmay、

    感谢您的支持。

    以下是使用脚本的电路板测试结果:

    首次运行脚本:

    从 TDA4VM Linux 端的 EVM Ping PC:

    从 PC ping Linux:

    谢谢、此致、

    樱桃

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

    您好、Cherry、

    我非常抱歉、但我提供的脚本中有错误。 您能否使用此新脚本重新运行测试。

    #!/bin/bash
    
    # change the value of port variable for the MAC port which you are facing issue on
    port=2
    
    oport=$(( $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?

    此致、
    Tanmay

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

    您好  Tanmay、

    [引用 userid="498482 " URL"~/support/processors-group/processors/f/processors-forum/1131844/tda4vm-cpsw9g-eth-network-is-not-working/4210769 #4210769">此外、您能否确认您正在使用 CPSW 的 MAC 端口2连接到 PC。 [/报价]

    CPSW9G 中的端口3当前已连接、如图所示:  

    SDK 版本:8.1.

    新的脚本测试日志如下所示:(由于使用了 port3,因此将脚本中的 port=2修改为 port=3)

    第一次运行:

    Ping PC:

    Ping EVM:

    谢谢、此致、

    樱桃

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

    您好!

    我是否可以知道有任何更新?  

    谢谢、此致、

    樱桃

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

    您好、Cherry、

    数据不会累加。  

    在上一个测试用例中、当我们对 EVM 执行 ping 操作时、端口3 Rx 正常帧不会递增、这是第一个应递增的寄存器。 但 Tx 正常帧正在增加。

    似乎有一些后台进程通过端口3发送附加数据。  

    就 Ping 而言、在两个方向上都没有观察到来自 PC 的数据包。 链路和/或 PC 中可能存在问题。 您能否重新检查一次设置。 请在 PC 和 EVM 上共享`ifconfig -a`的输出。

    您能否在 PC 上获取 Wireshark 跟踪以从 EVM ping PC。

    此致、
    Tanmay

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

    您好 Tanmay、

    ifconfig 的结果打印在 PC 端、如下所示:  

    EVM 侧:

    从 Wireshark 跟踪的数据包捕获中、PC 似乎没有从 EVM 接收到数据包:

    谢谢、此致、

    樱桃

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

    您好、Cherry、

    问题似乎出在 PC 端。 CPSW 能够将流量发送出去(我们看到 POR3 Tx 正常帧递增)、但 PC 未接收数据包。

    您是否可以在不同的 PC 上尝试此操作、或者如果可能、在两个 EVM 之间尝试此操作。

    此致、
    Tanmay

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

    您好  Tanmay、

    [引用 userid="498482 " URL"~/support/processors-group/processors/f/processors-forum/1131844/tda4vm-cpsw9g-eth-network-is-not-working/4362801 #4362801"]您是否可以使用不同的 PC 或在可能的情况下在两个 EVM 之间尝试此操作。

    客户尝试过不同的 PC 和网线,结果与以前相同。  

    他们还尝试使用主板上的原始网络端口、通信正常、问题应该出在 CPSW9G 扩展板上。

    谢谢、此致、

    樱桃  

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

    您好、Cherry、

    在这种情况下、您是否可以尝试分离 GESI 卡、清理引脚 A 并重新连接 GESI 卡。 我发现 GESI 卡有时连接不正确、并导致问题。

    此致、
    Tanmay