ZHCAEL2 October 2024 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A1-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中的網絡問題示例。
章節摘要: