2011-11-09 32 views
3

我必須在Linux中編寫以太網PHY環回測試。我從來沒有做過,也沒有線索從哪裏開始。經過一番研究,我提出了測試計劃,我想知道有沒有人能幫助我驗證它,並給我一些問題的提示。編碼以太網PHY環回測試

這是一個外部環回設置。它爲以太網交換機芯片上的每個內部PHY連接TX +/-至RX +/-引腳。

所以環回高電平分組路徑是如下:

CPU-> PHY0(芯片) - >以太網交換機(芯片)的內部PHY-> PHY0(芯片) - > CPU

對於這個測試,我打算

  1. 配置以太網交換機具有特定MAC地址的內部的PHY,
  2. 收拾使用CPU的MAC地址作爲源地址和以太網測試分組的
    在步驟1中配置的MAC地址。作爲目標地址,
  3. 發送並等待接收測試數據包,
  4. 比較發送和接收的數據模式。

有什麼建議嗎?另外,我想知道在Linux中是否有函數可用於生成步驟2的數據包,併發送步驟3的數據包。

非常感謝。

+0

您想使用哪種語言進行此測試? –

+0

嗨,你最終做了在Linux或bootloader環回測試?謝謝 – ransh

回答

3

大多數Phys可以切換到測試模式。我們使用自舉程序直接寫入 Phy並切換到測試模式。

還有一個ioctl取自文檔/ networking/phy.txt Ethtool便利功能。

int phy_mii_ioctl(struct phy_device * phydev, struct mii_ioctl_data * mii_data,int cmd);

MII ioctl。請注意,如果您寫入BMCR,BMSR,ADVERTISE等寄存器,此功能將完全禁用機器狀態 。