OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4126|回复: 18

lwip dhcp功能有的路由器能成功有的路由器不成功?

[复制链接]

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
发表于 2016-7-21 19:20:01 | 显示全部楼层 |阅读模式
1金钱
lwip dhcp功能有的路由器能成功有的路由器不成功,网上说是lwip dhcp的option不全,将电脑的dhcp的option添加进去就可以了,修改lwip的源码,但不知道怎么做,有前辈做过吗,或者遇到过这样的问题!!

最佳答案

查看完整内容[请看2#楼]

哥们。我解决了。 把ENC28J60初始化里 ENC28J60_Write(ERXFCON,ERXFCON_UCEN|ERXFCON_CRCEN|ERXFCON_PMEN); 改成 ENC28J60_Write(ERXFCON,ERXFCON_UCEN|ERXFCON_CRCEN|ERXFCON_PMEN|ERXFCON_BCEN); 这个即可。 不改的话,确实是有的路由器能够获取。有的路由无法获取。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-7-21 19:20:02 | 显示全部楼层
哥们。我解决了。
把ENC28J60初始化里

        ENC28J60_Write(ERXFCON,ERXFCON_UCEN|ERXFCON_CRCEN|ERXFCON_PMEN);
改成

        ENC28J60_Write(ERXFCON,ERXFCON_UCEN|ERXFCON_CRCEN|ERXFCON_PMEN|ERXFCON_BCEN);
这个即可。
不改的话,确实是有的路由器能够获取。有的路由无法获取。
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-11 19:18:23 | 显示全部楼层
我也遇见这个问题了。哥解决了吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-10-12 21:09:21 | 显示全部楼层
帮顶
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-10-12 21:09:22 | 显示全部楼层
帮顶
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 15:30:17 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 14:42
哥们。我解决了。
把ENC28J60初始化里

你怎么发现这个问题的?
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 15:33:20 | 显示全部楼层
hello_galaxy 发表于 2016-10-13 15:30
你怎么发现这个问题的?

你现在还没解决???
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 15:35:01 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 14:42
哥们。我解决了。
把ENC28J60初始化里

有具体的参考文档说明吗?
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 15:38:03 | 显示全部楼层
没时间看。按照这个改就是了。你别说拟解决了。也不在群里吼一声?
看无数贴子发现的。费劲。说是广播包禁止的问题。
但是为啥有的路由器能够收到???反正是改了确实好了。
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 15:39:47 | 显示全部楼层
还有个问题,就是如何判断有没有插网线???我想做个检测,没插网线不初始化enc28j60,插上,接着初始化。
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 15:43:18 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 15:38
没时间看。按照这个改就是了。你别说拟解决了。也不在群里吼一声?
看无数贴子发现的。费劲。说是广播包禁 ...

没有解决哦,我的方法是手动配置的,不过还没批量生产,现在都在测试w5500了(准备用在下一代产品上),w5500不存在这个问题。
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 15:49:43 | 显示全部楼层
改了就好了。。。试试吧,不用换W5500了。其实论坛里有人说这个问题了。
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 15:54:49 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 15:39
还有个问题,就是如何判断有没有插网线???我想做个检测,没插网线不初始化enc28j60,插上,接着初始化。

读取PHSTAT1寄存器
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 15:55:49 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 15:49
改了就好了。。。试试吧,不用换W5500了。其实论坛里有人说这个问题了。

我试了一下,确实是可以了,不过系统还要跑lwip,代码量有点大,所以还是要换模块
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 16:02:03 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 15:49
改了就好了。。。试试吧,不用换W5500了。其实论坛里有人说这个问题了。

还有一个问题,你是怎么抓包的啊,我看他们抓包很复杂,具体板子,电脑,路由器怎么连接?
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 16:06:11 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 15:39
还有个问题,就是如何判断有没有插网线???我想做个检测,没插网线不初始化enc28j60,插上,接着初始化。

肯定要先初始化模块的,没插网线不初始化enc28j60,插上,接着初始化,当然是最好的处理方式,没这样做过!
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 16:10:26 | 显示全部楼层
hello_galaxy 发表于 2016-10-13 16:06
肯定要先初始化模块的,没插网线不初始化enc28j60,插上,接着初始化,当然是最好的处理方式,没这样做过 ...

我试了,不插网线也能初始化。。。我只是想拿到那个网线插拔的事件。这样我可以在插上网线后,接着dhcp分到地址上网。
lwip和enc28j60没关系。你就算换w5500也需要lwip,或者uip,但是lwip明显强大多了。包括以后的dns都用得到。
回复

使用道具 举报

4

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-8-26
在线时间
31 小时
发表于 2016-10-13 16:11:50 | 显示全部楼层
hello_galaxy 发表于 2016-10-13 16:02
还有一个问题,你是怎么抓包的啊,我看他们抓包很复杂,具体板子,电脑,路由器怎么连接?

抓包用wireshark就行。广播包吗,搭个小局域网就OK了。很简单啊。
回复

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
 楼主| 发表于 2016-10-13 16:23:51 | 显示全部楼层
guoqingli1123 发表于 2016-10-13 16:10
我试了,不插网线也能初始化。。。我只是想拿到那个网线插拔的事件。这样我可以在插上网线后,接着dhcp分 ...

不插网线是能初始化模块成功,但是在不初始化模块之前判断不了网线是否插好啊,w5500芯片集成了tcp/ip协议,不用单片机跑lwip uip了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表