UDP RTL8211E wireshark能抓到数据,网口调试助手需要打开wireshark才能收到数据

项目场景:

用xilinx FPGA+RTL8211e 编写一套1000M UDP通讯通讯没有问题,后需求变更后变为100M,改代码后这时出现问题了。

问题描述

用chipscope和wireshark 抓取数据,发现协议、数据、和检验都没有问题,再打开网络调试助手也能收到数据。但关闭wireshark ,网络调试助手就收不到任何数据。

原因分析:

在网络上查找了一些资料,原因大致有一下几点:
1、防火墙拦截
2、网卡检验拦截,如下所示。网友建议关闭。
在这里插入图片描述
3、帧检验序列(FCS)
也就是我们所说的CRC32检验

解决方案:

第一步,我是按以上1,2两种方式关闭了防火墙,关闭网卡的硬件校验和功能。得到的结果是RBL,并未解决。
第二步,查CRC32结果,这下完犊子了,wireshark抓不到CRC32的校验数据。
于是只能在chipscope上抓取数据了。
CRC32校验工具,网上一搜索一大把。对比一下看看有没有问题。果然还真发现了问题。
在这里插入图片描述
虽然chipscope上抓取数据和在线计算的结果相同,但是,但是,发送顺数据的顺序不对。
应该先发送低八位,即将校验的结果F180FB8E 高低位颠倒顺序发送,即8E FB 80 F1
在这里插入图片描述
至此问题,想来问题都解决了。
但是但是。。。。。。。。。。。。。。。。。。。。。。。无语了,还是一样的问题。
第三步,那只能是发送模块的时序问题了。
只能查FPGA代码。果然优化了一下代码问题解决了。

总结:
出现wireshark打开时网络调试助手才能收到数据数据的情况,我这里主要是CRC32和发送时序的问题。我目前使用时也开启了硬件校验和功能未有任何影响。
另网上也有很多直接生成verilog hdl CRC32的代码,但是很多不能直接使用,会走很多弯路。
共勉,大家有什么问题可以留言,交流。

资源:
在线CRC计算网页:http://www.ip33.com/crc.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值