|
用主MCU对modem拨CMWAP时,在LCP,PAP,NCP(IPCP)协商结束时,调用ipcp_up函数失败,看代码跑到ipcp.c的[52RD.com]
static void ipcp_up(fsm *f)[52RD.com]
{[52RD.com]
u32_t mask;[52RD.com]
ipcp_options *ho = &ipcp_hisoptions[f->unit];[52RD.com]
ipcp_options *go = &ipcp_gotoptions[f->unit];[52RD.com]
ipcp_options *wo = &ipcp_wantoptions[f->unit];[52RD.com]
[52RD.com]
np_up(f->unit, PPP_IP);[52RD.com]
IPCPDEBUG(LOG_INFO, ("ipcp: up\\n"));[52RD.com]
[52RD.com]
if (!ho->neg_addr) //得不到服务器IP,选择默认?[52RD.com]
ho->hisaddr = wo->hisaddr;[52RD.com]
[52RD.com]
if (ho->hisaddr == 0) { //就在这退出了.ipcp_wantoptions在初始化IP是0[52RD.com]
LWIP_DEBUGF(DBG_ON, ("Could not determine remote IP address\\n"));[52RD.com]
ipcp_close(f->unit, "Could not determine remote IP address");[52RD.com]
return;[52RD.com]
}[52RD.com]
.......以下略[52RD.com]
}[52RD.com]
看数据包,在IPCP中,服务器没有告诉modem它的IP.发了一个包7E,FF,03,80,21,01,00,00,04,DC,ED,7E;[52RD.com]
modem回包是7E,FF,03,80,21,02,00,00,04,11,C8,7E;就是请求包内容为空,回应确认OK.[52RD.com]
然后modem请求动态IP,服务器给modem分配了一个IP,是对的.这样算协商通过吗?? 所以ipcp_wantoptions应该初始化成移动网关?(在PPP源码是初始化为0).[52RD.com]
请哪位知道的指导一下.谢谢 |
|