我必须在Linux中编写以太网PHY回送测试.我以前从未做过,也不知道从哪里开始.经过研究后,我提出了测试计划,我想知道是否有人可以帮助我进行验证并为我的问题提供一些指导.
这是一个外部环回设置.它为以太网交换芯片上的每个内部PHY连接TX /-到RX /-引脚.
因此,回送高级数据包路径如下:
CPU-> PHY0(芯片)->以太网交换机(芯片)的内部PHY-> PHY0(芯片)-> CPU
对于这项测试,我打算
>使用特定的MAC地址在以太网交换机上配置内部PHY,
>使用CPU的MAC地址作为源地址并
在步骤1中配置为目标地址的MAC地址,
>发送并等待接收测试数据包,
>比较发送和接收的数据模式.
有什么建议么?另外,我想知道Linux中是否可以使用这些函数来生成步骤2的数据包,并发送步骤3的数据包.
非常感谢你.
解决方法:
大多数物理可以切换到测试模式.我们使用引导加载程序直接写入
Phy并切换到测试模式.
还有一个取自documentation / networking / phy.txt的ioctl
Ethtool便利功能.
int phy_mii_ioctl(struct phy_device * phydev,
struct mii_ioctl_data * mii_data,int cmd);
MII ioctl.请注意,此功能将完全破坏状态
机器,如果您编写诸如BMCR,BMSR,ADVERTISE之类的寄存器.
仅用于写入非标准的寄存器,并且不要启动
重新谈判.