打印

dm9000的内置udp checksum函数有bug....

[复制链接]
1616|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinanjj|  楼主 | 2011-1-20 01:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sinanjj 于 2011-1-20 02:08 编辑

tcp完全正常, udp全部错误.

经过我多次对比得到: udp的checksum和正确的值查了4, 然后udp协议标号和tcp协议标号差了11, 加起来正好是15, 就是F, 看来davicom的工程师处理tcp和udp的checksum用了一个伪头文件.











按说dm9000这芯片出货量这么大也不应该出现这种低级错误.


估计是因为这种错误太底层, 一般出现这种问题先会怀疑自己程序问题吧, 除此以外, linux内核有checksum函数, 一般都自算了, 没用它集成的.





把俺害苦了....

幸亏能设置成0表示不检查crc

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:In God We Trust 独立的个人,体赖科学技术工具提供针对个人的产品与服务,是通向幸福的唯一道路 工程师,设计师等可以个人创业的群体,将逐步瓦解官僚体制公司,成为中国中产。(重复劳动,工厂等,将逐步机械化) seacer.co

456

主题

6300

帖子

25

粉丝