记一次EMC影响千兆网口的问题
说明
就是一个YT8531DH的千兆phy,很常用的,然后是客户画的底板。
原理图:

现象
网口断电重启正常通讯,reboot之后就会网络不通,ping不通。
排查步骤
先看ifconfig命令下的RXTX包怎么样?

很明显是有问题的。
然后先怀疑的是phy的RST脚,怕是复位有问题,看了下是有点小问题,RST脚拉低的时间有点短。10ms以上更好,我是2ms的。但是这个无所谓的。
然后示波器抓电源,看看是不是电源上电顺序的问题,也不是。
使用arp -n命令发现mac地址都没有收到,也不确定是不是发出去了,说明是网络链路层的问题了。
然后远程客户的电脑,在现场的板子上使用ethtool配置为百兆,就正常了。很奇怪啊,那就不是源码的问题了。
ethtool -s eth0 speed 100 duplex full autoneg off
千兆是8根线,百兆是4根线。想是不是信号问题。于是拿USB3.0的U盘和hub直接在千兆网口那儿一直复制大文件,然后发现ping的时候会丢包,就觉得有戏。
然后让客户把其他的电源都拔掉,只开板子,发现网口一直好的,然后一开其他的设备,reboot千兆网口就不行了。
然后我找硬件的人分析发现他们的网口变压器的地,没有和外壳连接,只和网口接口,网线的屏蔽线连接。
如图:

网口外壳要与大地相连,起到泄放干扰源通道作用。
总结
实在没想到啊是这种问题,还是得对自己的代码要有信心。
本文来自博客园,作者:杨旭0324,转载请注明原文链接:https://www.cnblogs.com/allalonewithyou/p/22623971,个人邮箱:yaonie4444@foxmail.com

浙公网安备 33010602011771号