本帖最后由 guoqingli1123 于 2016-10-12 11:39 编辑
最近在调试MINI-STM32的DHCP。一开始调试的挺顺利,用家里的路由器很快就调试成功了。但后来在公司换了个路由器调试怎么都获取不了IP地址。电脑可以正常获取IP地址。很郁闷。网上也没有找到答案。不能DHCP的路由器是D-LINK,非常老的路由器,我又找了个路由器磊科的,比较新,试了一下很快获取了IP地址。很纳闷。为啥电脑用D-LINK,磊科的都可以,而STM32-MINI板不行。于是进行了抓包
如下所示
以上为DLINK的。可以看到DLINK提供的offer包,BOOTP标志为0x0000, 单播
此时STM32-MINI板没有发出Request包,获取DHCP失败
而电脑并没有按照单播的要求进行回复,而是直接回复了广播包,一下就获取到了IP地址
然后对磊科的路由器进行抓包如下
发现磊科路由器提供的offer包,bootp标志为0x8000, 组播
此时STM32-MINI板能够正确获取到IP地址。
我试了几个路由发现只要发出的是0x0000的都获取不到IP地址。0x8000的都能正确获取。猜测lwip不支持0x0000模式????
怎么修改还没有解决方案。原子哥。。。求助。。。。
ENC28J60初始化的问题。
一周热门 更多>