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
通過(guò)查看 MAC 統(tǒng)計(jì)信息可以了解 DUT 和鏈路伙伴之間是否存在錯(cuò)誤,從而驗(yàn)證以太網(wǎng)數(shù)據(jù)包的基本發(fā)送和接收是否成功。請(qǐng)注意,即使發(fā)生了數(shù)據(jù)包的基本發(fā)送和接收,也可能存在限制網(wǎng)絡(luò)吞吐量的錯(cuò)誤。本節(jié)將討論一些錯(cuò)誤和解決方案。
通過(guò)查看 MAC 統(tǒng)計(jì)信息可以了解發(fā)送、接收的數(shù)據(jù)包數(shù)以及因錯(cuò)誤而丟棄的數(shù)據(jù)包數(shù)。請(qǐng)注意,MAC 統(tǒng)計(jì)信息是直接在接口上監(jiān)視數(shù)據(jù)包的結(jié)果。
檢查接口統(tǒng)計(jì)信息時(shí)無(wú)需分析單個(gè)數(shù)據(jù)包的粒度。需要注意的主要行為是 RX 和 TX 正常幀計(jì)數(shù)遞增,以及確認(rèn)未檢測(cè)到 CRC、對(duì)齊等錯(cuò)誤。
遞增 TX 和 RX 正常幀統(tǒng)計(jì)信息寄存器表明在 MAC 和 PHY 之間發(fā)送和接收數(shù)據(jù)包的行為正常。這也表明 MAC-PHY TX 和 RX 時(shí)鐘的行為正常。
如果 MAC 統(tǒng)計(jì)信息錯(cuò)誤計(jì)數(shù)器不斷增加,則表明數(shù)據(jù)包在接口上不斷丟棄。例如,RX CRC 錯(cuò)誤計(jì)數(shù)器為非零值表明接收到的數(shù)據(jù)包具有 CRC 校驗(yàn)和錯(cuò)誤,因此在接口上丟棄了這些數(shù)據(jù)包。
以下 MAC 統(tǒng)計(jì)信息適用于 TI EVM 直接連接另一電路板(通過(guò)在兩個(gè)鏈路伙伴之間連接以太網(wǎng)電纜)的情況。兩個(gè)鏈路伙伴的任一鏈路都沒(méi)有運(yùn)行 DHCP 服務(wù)器來(lái)動(dòng)態(tài)分配 IP 地址。如節(jié) 3所述,無(wú)需獲取 IP 地址即可檢查數(shù)據(jù)包流量。在檢查此層級(jí)的流量時(shí),關(guān)鍵在于確定在基本數(shù)據(jù)包發(fā)送和接收期間沒(méi)有觀察到錯(cuò)誤。
一旦檢測(cè)到接口上有鏈路為 up 狀態(tài)并初始化了 MAC 驅(qū)動(dòng)程序,便會(huì)啟動(dòng)網(wǎng)絡(luò)通信以嘗試獲取 IP 地址。以下 TX 和 RX 就是此網(wǎng)絡(luò)通信的結(jié)果,表示已發(fā)送和接收的數(shù)據(jù)包數(shù)量。
具體來(lái)說(shuō),MAC 統(tǒng)計(jì)信息中的 TX 數(shù)據(jù)包數(shù)量的示例信息片段是兩個(gè)鏈路伙伴之間連接以太網(wǎng)電纜的結(jié)果。一旦檢測(cè)到接口上有鏈路為 up 狀態(tài),Linux 內(nèi)核便會(huì)嘗試獲取 IP 地址。tx_broadcast_frames 統(tǒng)計(jì)信息中報(bào)告的一些幀是來(lái)自 DUT 的 DHCP 請(qǐng)求幀,用于獲取 IPv4 地址。此外,如果 tx_good_frames 統(tǒng)計(jì)信息在遞增,這充分表明數(shù)據(jù)包已從 DUT 的 MAC 發(fā)送到線路上。
A portion of an example ethool -S <interface> output showing the TX MAC statistics:
tx_good_frames: 19
tx_broadcast_frames: 2
tx_multicast_frames: 17
根據(jù) MAC 統(tǒng)計(jì)信息中的以下 RX 結(jié)果可以看出,在連接以太網(wǎng)電纜后也接收到數(shù)據(jù)包。這些特定統(tǒng)計(jì)信息表明 MAC 正確接收了一些數(shù)據(jù)包。在此示例中,沒(méi)有為平臺(tái)分配 IP 地址。在此層級(jí),使用的實(shí)際以太網(wǎng)協(xié)議并不重要。主要目標(biāo)是確認(rèn)未接收到損壞的數(shù)據(jù)包以及正確發(fā)送了數(shù)據(jù)包。
A portion of an example ethtool -S <interface name> output showing RX MAC statistics:
rx_good_frames: 104
rx_broadcast_frames: 10
rx_multicast_frames: 94
下一個(gè)示例詳細(xì)介紹了 MAC 統(tǒng)計(jì)信息中的 RX 錯(cuò)誤結(jié)果。這里沒(méi)有檢測(cè)到錯(cuò)誤。但是,如果這些錯(cuò)誤統(tǒng)計(jì)信息在遞增,則表明存在導(dǎo)致數(shù)據(jù)包在接口上被丟棄的特定錯(cuò)誤。對(duì)于用作 DUT 的德州儀器 (TI) 處理器,每個(gè) MAC 統(tǒng)計(jì)信息計(jì)數(shù)器的定義可在特定處理器的相應(yīng)技術(shù)參考手冊(cè) (TRM) 中找到。
Portion of sample ethtool -S <interface name> showing RX error statistics:
rx_crc_errors: 0
rx_align_code_errors: 0
rx_oversized_frames: 0
rx_jabber_frames: 0
rx_undersized_frames: 0
調(diào)試建議:
章節(jié)摘要:
ethtool -S <interface name> 結(jié)果提供了有關(guān)發(fā)送和接收過(guò)程的數(shù)據(jù)。ethtool 查看,無(wú)需獲取 IP 地址。