记一次 designware 网卡网络故障问题的解决过程
问题现象
在给客户ddr3板卡适配SylixOS时,会出现ftp连接困难,telnet连接不正常,板卡作为iperf服务器测试正常,作为iperf客户端测试无法连接。
问题测试分析
- ddr3板卡问题可以稳定复现,在多个板卡上现象相同。
- 同样代码在ddr4的板卡可以正常运行。
- ddr3板卡跑原厂的Linux测试,网络状态良好。
初步可以判断是SylixOS系统上对网络的配置有某些不正确的地方
-
写c代码对板卡进行udp测试,tcp客户端和tcp服务端。测试时发现一切正常。(这个结果有些误导我,因为我写程序进行测试时,发送的每个数据包都是1000B以上的,所以网络问题没有暴露,导致我以为是这些ftp telnet某些处理有问题)
-
对ftp抓包测试分析,板卡跑SylixOS,做ftp的服务端,pc作为客户端去连接。对于ftp连接,可以正常抓取到tcp建立连接的握手包,而且每次都能正常抓到。但是ddr3板卡接下发送的136B的欢迎包PC很难收到。这个欢迎包会重发,只要PC接收到了,ftp服务就可以正常进行,传输文件过程中一切正常。telnet 和 iperf 测试也是类似,tcp建立连接的握手和断开连接的挥手通讯都正常。但是正常跑数据时就有些异常。
-
在做iperf测试时,将ddr3板卡作为服务器,使用PC做客户端进行速度测试,发现速度一切正常,网络带宽并无降低。&#x