1,板卡ping电脑,能通。
2,电脑ping板卡,不通。或者是偶尔憋半天,通几个包,延迟都是70000ms这种几十秒的延迟时间。
但是,当1和2同时进行的时候,两边都是通的。
板卡跑linux4.19
电脑是ubuntu
一根网线直连的。
请问是什么原因,应该从哪里入手?
MAC是stmmac
PHY是一个国产的
离线
防火墙?
我用的电脑是ubuntu的 ,iptables -L 查看过了,没有添加规则。
离线
用wireshark抓个包看看
板卡上移植tcpdump不太好移植,,,
我只在电脑上进行了抓包,这次是在windows上边抓的。
把图片拖到另外一个窗口,能看到清晰的图。
这个是电脑ping的过程
最近编辑记录 WM_CH (2021-12-08 20:31:48)
离线
然后一步一步往上查呢,
可以先用 iptable 的LOG target 看看报文收发的时间是否正确, 如果正确就可以集中看网卡驱动部分或者换个线 or 加个switch试试
我的板卡,移植iptables有点困难,,,
现在主要怀疑网卡驱动部分,老哥能指点一下这部分的吗
linux网卡驱动 是stmmac的那种的gmac。
离线
电脑和设备是直连的吗?
是直连的
离线
@真的是很烦
我现在调试发现GMAC的寄存器中,
host receiver descriptor address pointer 是随着电脑发送ping包,在不停变化的。
这个寄存器变化,意味着DMA是在不停的做收包操作的。(因为手册里面写道:这个寄存器在DMA有操作时更新)
既然DMA有操作,但gmac的网卡驱动中 stmmac_interrupt函数总是得不到执行,
其实原来的同事已经调过了,说是CPU的bug...
但是我想弄明白一点。
离线