PC ping 开发板,能收到arp回复,却收不到 ICMP reply

发布于 2015-08-20 14:21:54    浏览:3168
PC ping 开发板,用wireshark查看 pc 端收包状况,发现能收到来自开发板的arp回复,却收不到 ICMP reply,求大神指点.

查看更多

7 个回答
aozima
aozima 2015-08-20
拒绝白嫖,拒绝键盘侠!
检查校验值是否正确?检查配置是否关闭了校验?
Eason
Eason 2015-08-20
This guy hasn't written anything yet
检查校验值是否正确?检查配置是否关闭了校验?

在 PC ping 开发板的时候,wireshark 抓的开发板回复的 arp 包的时候也报checksum(FCS Bad)错,但是在 arp 相关代码中并没看到有checksum 相关的代码,并且 arp 回复之后后续pc 再发送的 ICMP 包都没收到了貌似,感觉是因为arp建立链接的时候 checksum错误,导致后续无法正常接收了.
Eason
Eason 2015-08-20
This guy hasn't written anything yet
检查校验值是否正确?检查配置是否关闭了校验?

在 PC ping 开发板的时候,wireshark 抓的开发板回复的 arp 包的时候也报checksum(FCS Bad)错,但是在 arp 相关代码中并没看到有checksum 相关的代码,并且 arp 回复之后后续pc 再发送的 ICMP 包都没收到了貌似,感觉是因为arp建立链接的时候 checksum错误,导致后续无法正常接收了.

代码中 netif_add 中将 tcpip_input 赋给了 netif->input, ping 的时候不用 icmp_input 没关系吗?
Eason
Eason 2015-08-21
This guy hasn't written anything yet
检查校验值是否正确?检查配置是否关闭了校验?

在 PC ping 开发板的时候,wireshark 抓的开发板回复的 arp 包的时候也报checksum(FCS Bad)错,但是在 arp 相关代码中并没看到有checksum 相关的代码,并且 arp 回复之后后续pc 再发送的 ICMP 包都没收到了貌似,感觉是因为arp建立链接的时候 checksum错误,导致后续无法正常接收了.

代码中 netif_add 中将 tcpip_input 赋给了 netif->input, ping 的时候不用 icmp_input 没关系吗?

gdb 跟踪了下,先是 tcpip_input,再到 tcpip_thread,etharp_arp_input,最终调用 etharp_update_arp_entry 里面的etharp_send_ip, 并没有发现有关FCS的代码,正常情况,FCS校验代码应该在接收端做吧,发送端都做了什么呢?
aozima
aozima 2015-08-21
拒绝白嫖,拒绝键盘侠!
1. 检查 rtconfig中是否有关闭校验?
2. 硬件平台是什么?驱动程序或芯片硬件是否有开户校验?校验功能是否有BUG?
3. 驱动中dump出数据,并与电脑端对比校验。
Eason
Eason 2015-08-21
This guy hasn't written anything yet
问题已解决,是因为我在 bootloader 中设置了 IP,取消就好了 .

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
3.2k

发布
问题

分享
好友

手机
浏览

扫码手机浏览