ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
在两个链路伙伴之间建立以太网链路后,即可跟踪数据包从 DUT 发送到链路伙伴,然后从链路伙伴发送回 DUT 的步骤。仅当在链路两端都可以访问以太网 MAC 统计信息的情况下才有效。如果网络拓扑包含直接连接(如图 3-1 所示),还可以进一步简化。
如节 8 中所述,无需设置 IP 地址即可启动网络通信。如果在 DUT 上使用 TI 默认文件系统,则会在检测到链路后尝试获取 IP 地址。此网络通信足以跟踪是否成功接收到从 DUT 发送到链路伙伴的数据包。来自链路伙伴的广播数据包足以证明在 DUT 上未接收到损坏的数据包。
在 DUT 和链路伙伴之间连接以太网电缆之前,请使用 ethtool
验证以太网 MAC 统计信息中的 RX 和 TX 计数器是否为 0。建议在链路伙伴平台上使用 Linux® 操作系统 (OS)。这个平台可以是另一个正常工作的 EVM 或 Ubuntu PC。ethtool
仅适用于运行 Linux 操作系统的平台。
如图 9-1 所示,首先检查链路伙伴是否接收到从 DUT 发送的数据包,方法是在链路伙伴上使用 ethtool
并检查 RX 计数器。如果链路伙伴未运行于 Linux 操作系统上,则 ethtool
不可用。RX 计数器可以显示接收到多少个正常帧,更重要的是接收到多少个损坏的帧。如果接收到的数据包没有错误,则表示 DUT 发送路径可以正常工作。如果链路伙伴上的 RX 错误计数器为非零值(例如,RX CRC 错误),则可以得出结论:DUT 的发送路径存在问题,需要进行调查。
作为接收方的链路伙伴通常可以观察到两个问题:未接收到数据包或 CRC 错误。如果链路伙伴未接收到任何数据包,则表明从 DUT 发出的以太网帧受到了损坏,以至于 MAC 接口无法识别该帧。当未检测到数据包或检测到 CRC 错误时,需要更仔细地检查 DUT 上的 MAC 或 PHY 连接。
调试建议:
分析 DUT 接收路径与分析 DUT 发送路径的方式类似。观察 图 9-2 中的接收数据包计数和可能发生的一些错误。如前文所述,当错误计数器为零并且接收到的正常帧计数增加时,表示接收路径工作正常。在此层级,数据包的类型无关紧要,只接收数据包而不检测错误数据包。
当以太网 MAC 接收错误计数器不为零时,通常有两种可能的原因。最常见的原因是 PHY 接口模式为 RGMII 时的 RX 时钟时序不正确。第二常见的原因是硬件问题,例如不正确的内联电阻值或电路板布局布线问题。
如果分析 DUT 发送和接收路径的错误计数器为零,则表示基本以太网数据包的发送和接收没有错误。此时,可以添加 DHCP 服务器来为 DUT 动态分配 IP 地址,也可以在 DUT 上使用 ip addr add <ip address/subnet mask> dev <interface name>
来分配静态 IP 地址。但是,执行此步骤后,如果在检测到链路正常时仍然没有分配 IP 地址,并且以太网 MAC 统计信息没有显示任何错误,那么下一步是考虑可能存在网络原因。请查看节 10中的网络问题示例。
章节摘要: