- 论坛徽章:
- 0
|
我用的开发板是FS2410,系统是arm-linux,内核是"2.4.18-rmk7-hzh-yaffs.tar.bz2"。
adsl modem是硬置modem,IP是192.168.1.1。我在原来内核的基础上添加了"ppp over Ethernet"这个选项,并且重新交叉编译后系统可以正常运行。自己在RH9下编写脚本只调用了pppd,pppoe,并且在可以上网。但当我把pppd,pppoe,pap-secrets等烧入到板子上时,发现它只能可以发包,却总是收不到adsl modem返回的PADO包。
找了一个抓包工具来看,发现PC与开发板所发送的PADI包是不同的,前者发送32个字节,而后者却发送了34个字节。以下是包的具体内容:
PC下:
FF FF FF FF FF FF 00 14 78 21 D5 DA 88 63 11 09
00 00 00 0C 01 01 00 00 01 03 00 04 62 0F 00 00
FS2410下:
FF FF FF FF FF FF 00 00 C0 FF EE 08 88 63 FF BF 11 09
00 00 00 0C 01 01 00 00 01 03 00 04 CC 03 00 00
不知是为什么,无缘无故的在FS2410下所发送的PADI包就会多出FF BF两个字节,而且是在包的中间。
我看了一下rp-pppoe-3.6源码,发现可能是所封装的以太网的包头有问题,但不知如何去改。我尝试着自己发送指定的PADI包,发现modem可以识别,并发送回确认信息。但进行第二次握手时,又会出现同样的问题(多发送两个字节)。
这个问题困扰了我很久了,始终无法解决,还望大家给我一些提示,我在这里先谢谢了!
[ 本帖最后由 txb777 于 2006-3-24 11:51 编辑 ] |
|