Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PPPoS_PPPoE
请教lwip+ppp拨号无法成功问题
发布于 2013-06-05 13:31:11 浏览:9074
订阅该版
我使用rtt系统+lwip+ppp组件进行gprs模块的ppp拨号,gprs模块使用的是sim900a,使用联通的手机卡。现在已经可以拨号出去并且从系统打印的log来看联通的服务器已经给我分配了ip及dns地址了,但是再进一步协商处理时,最终连接过程还是被Terminate掉了。现在不太明白中间的问题出来哪里。下面附上我在控制台打印出来的系统log方便大家帮忙查看和方腊问题! ``` lcp_init: xmit_accm=0 0 0 0 upap_init: 0 pppOverSerialOpen: unit 0: Connecting pppStart: unit 0 ppp_set_xaccm[0]: outACCM=0 0 0 0 ppp_send_config[0]: outACCM=FF FF FF FF ppp_recv_config[0]: inACCM=0 0 0 0 lcp_lowerup: asyncmap=0 0 0 0 LCP: lowerup state 0 (LS_INITIAL) -> 2 (LS_CLOSED) auth_reset: 0 lcp_addci: L opt=2 0 lcp_addci: L opt=5 52181044 lcp_addci: opt=7 lcp_addci: opt=8 pppWrite[0]: len=47 fsm_sdata(LCP): Sent code 1,1,20. LCP: sending Configure-Request, id 1 LCP: open state 2 (LS_CLOSED) -> 6 (LS_REQSENT) pppStart: finished ppp connecting... SDCard File System initialized! pppInProc[0]: got 63 bytes pppInput[0]: LCP len=14 fsm_input(LCP):4,1,14 fsm_rconfnakrej(LCP): Rcvd id 1 state=6 (LS_REQSENT) lcp_rejci: long opt 5 rejected lcp_rejci: void opt 7 rejected lcp_rejci: void opt 8 rejected lcp_addci: L opt=2 0 pppWrite[0]: len=28 fsm_sdata(LCP): Sent code 1,2,10. LCP: sending Configure-Request, id 2 pppInput[0]: packet processed pppInProc[0]: got 4 bytes pppInProc[0]: got 25 bytes pppInput[0]: LCP len=10 fsm_input(LCP):2,2,10 fsm_rconfack(LCP): Rcvd id 2 state=6 (LS_REQSENT) lcp_acki: Ack pppInput[0]: packet processed pppInProc[0]: got 1 bytes pppInProc[0]: got 26 bytes pppInProc[0]: got 8 bytes pppInput[0]: LCP len=14 fsm_input(LCP):1,1,14 fsm_rconfreq(LCP): Rcvd id 1 state=7 (LS_ACKRCVD) lcp_reqci: ASYNCMAP=A0000 PAP (C023) lcp_reqci: returning CONFACK. pppWrite[0]: len=35 fsm_sdata(LCP): Sent code 2,1,14. ppp_send_config[0]: outACCM=0 0 A 0 ppp_recv_config[0]: inACCM=0 0 0 0 link_established: unit 0; Lowering up all protocols... upap_lowerup: init 0 clientstate s=0 IPCP: lowerup state 0 (LS_INITIAL) -> 2 (LS_CLOSED) upap_authwithpeer: 0 user=none password=none s=1 pppWrite[0]: len=21 pap_sauth: Sent id 1 pppInput[0]: packet processed pppInProc[0]: got 2 bytes pppInProc[0]: got 19 bytes pppInput[0]: PAP len=13 pap_rauthack: Rcvd id 1 s=3 Remote message: Login OK ``` 这里已经登录成功 ``` auth_withpeer_success: 0 proto=C023 pppWrite[0]: len=36 fsm_sdata(IPCP): Sent code 1,1,28. IPCP: sending Configure-Request, id 1 IPCP: open state 2 (LS_CLOSED) -> 6 (LS_REQSENT) pppInput[0]: packet processed IPCP: timeout resending Config-Request state=6 (LS_REQSENT) pppWrite[0]: len=37 fsm_sdata(IPCP): Sent code 1,1,28. IPCP: sending Configure-Request, id 1 pppInProc[0]: got 3 bytes pppInProc[0]: got 26 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=6 (LS_REQSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK pppWrite[0]: len=17 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed pppInProc[0]: got 7 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):4,1,10 fsm_rconfnakrej(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) pppWrite[0]: len=29 fsm_sdata(IPCP): Sent code 1,2,22. IPCP: sending Configure-Request, id 2 pppInput[0]: packet processed pppInProc[0]: got 5 bytes pppInProc[0]: got 25 bytes pppInput[0]: IPCP len=22 fsm_input(IPCP):3,2,22 fsm_rconfnakrej(IPCP): Rcvd id 2 state=8 (LS_ACKSENT) local IP address 10.194.146.217 primary DNS address 210.21.196.6 secondary DNS address 221.5.88.88 ``` 模块已经分配到了ip ``` pppWrite[0]: len=29 fsm_sdata(IPCP): Sent code 1,3,22. IPCP: sending Configure-Request, id 3 pppInput[0]: packet processed pppInProc[0]: got 12 bytes pppInProc[0]: got 6 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK ``` 本来上面已经分配得到了ip了,我以为这算是拨号成功得了,但是这里为什么持续重复出现了几个这样的过程,192.200.1.21 应该是联通服务器的ip地址? ``` pppWrite[0]: len=18 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed pppInProc[0]: got 6 bytes pppInProc[0]: got 12 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK pppWrite[0]: len=18 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed IPCP: timeout resending Config-Request state=8 (LS_ACKSENT) pppWrite[0]: len=29 fsm_sdata(IPCP): Sent code 1,3,22. IPCP: sending Configure-Request, id 3 pppInProc[0]: got 12 bytes pppInProc[0]: got 6 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK pppWrite[0]: len=18 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed pppInProc[0]: got 6 bytes pppInProc[0]: got 12 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK pppWrite[0]: len=18 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed IPCP: timeout resending Config-Request state=8 (LS_ACKSENT) pppWrite[0]: len=30 fsm_sdata(IPCP): Sent code 1,3,22. IPCP: sending Configure-Request, id 3 pppInProc[0]: got 10 bytes pppInProc[0]: got 8 bytes pppInput[0]: IPCP len=10 fsm_input(IPCP):1,1,10 fsm_rconfreq(IPCP): Rcvd id 1 state=8 (LS_ACKSENT) ipcp_reqci: ADDR 192.200.1.21 ipcp_reqci: returning Configure-ACK pppWrite[0]: len=18 fsm_sdata(IPCP): Sent code 2,1,10. pppInput[0]: packet processed pppInProc[0]: got 5 bytes pppInProc[0]: got 26 bytes pppInProc[0]: got 28 bytes pppInput[0]: LCP len=32 fsm_input(LCP):5,2,32 fsm_rtermreq(LCP): Rcvd id 2 state=9 (LS_OPENED) ``` 这里我感觉是被联通发过来的指令给中断了连接了。 ``` LCP terminated by peer (20007654) link_down: 0 upap_lowerdown: 0 s=4 IPCP: lowerdown state 8 (LS_ACKSENT) -> 1 (LS_STARTING) IPCP: close reason=LCP down state 1 (LS_STARTING) -> 0 (LS_INITIAL) pppLinkDown: unit 0 pppRecvWakeup: unit 0 read_abort ppp_send_config[0]: outACCM=FF FF FF FF ppp_recv_config[0]: inACCM=0 0 0 0 pppWrite[0]: len=18 fsm_sdata(LCP): Sent code 6,2,4. pppInput[0]: packet processed pppInProc[0]: got 1 bytes LCP: timeout sending Terminate-Request state=5 (LS_STOPPING) link_terminated: 0 Connection terminated. pppLinkTerminated: unit 0 pppRecvWakeup: unit 0 read_abort pppLinkTerminated: unit 0: linkStatusCB=08000d99 errCode=0 We have lost connection pppLinkTerminated: finished. ``` 连接已经失败 恳请懂的童鞋大侠解答啊! -------------------------------------------------------------- 2013-06-06 补充说明:硬件平台使用stm32f407.代码是直接使用art上的工程, 由于art的工程里面没有ppp的源码,我是从realtouch的工程里面 把ppp的源码拉过来的。 -------------------------------------------------------------- -------------------------------------------------------------- 2013-06-07 结贴,发现是我串口先太长误码率太高原因产生。把串口线弄短, 现在已经拨号成功啦!可以ping通外网了,感谢群里及论坛的热血帮助! --------------------------------------------------------------
查看更多
14
个回答
默认排序
按发布时间排序
lashw
2013-06-05
这家伙很懒,什么也没写!
群里版主bernard建议我从git上更新lwip官方最新的ppp源码。我尝试了,依旧是出现这个问题。
bernard
2013-06-06
这家伙很懒,什么也没写!
这个可能得仔细对照着PPP的协议来看看为什么了
hejiang177
2013-06-06
这家伙很懒,什么也没写!
MARK
iwillbeback008
2013-07-16
这家伙很懒,什么也没写!
我也在做GPRS的应用,我的模块是MG2639,也是遇到PPP协议这里, 我原以为PPP协议部分应该模块自己处理了,现在不知道该怎样处理PPP协议
chenza
2013-11-29
这家伙很懒,什么也没写!
串口线太长,可以降低波特率,弄不明白减小串口线长度就可以通过?
hejiang177
2013-12-03
这家伙很懒,什么也没写!
不错,好东东,留个记号
ljt8015
2013-12-04
这家伙很懒,什么也没写!
sim900a好像集成tcp ip ppp协议栈的吧
bernard
2013-12-04
这家伙很懒,什么也没写!
>sim900a好像集成tcp ip ppp协议栈的吧 --- 一般模块内部的协议栈像渣一样,出了问题,外面的应用程序没办法知道出现了什么情况。
aozima
2013-12-04
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>>sim900a好像集成tcp ip ppp协议栈的吧 > >--- > > > >一般模块内部的协议栈像渣一样,出了问题,外面的应用程序没办法知道出现了什么情况。 --- 好不容易想办法绕过了问题。 过两天换模块了 [s:193] 协议全换了 [s:166]
ljt8015
2013-12-05
这家伙很懒,什么也没写!
>>sim900a好像集成tcp ip ppp协议栈的吧 > >--- > > > >一般模块内部的协议栈像渣一样,出了问题,外面的应用程序没办法知道出现了什么情况。 --- 有没有集成协议栈做的比较好的模块呢?
撰写答案
登录
注册新账号
关注者
0
被浏览
9.1k
关于作者
lashw
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
用EC200S 做ppp-device遇到的BUG 像遇到了内存的BUG?
2
CONNECT之后,调用ppp_connect之后,回调不到对应的接口函数
3
ppp组件拨号成功后必须同时插着网线才能ping通外网
4
使用4G模块,PPP拨号无法获取IP地址,但是打开PPPDebug后就可以。
5
基于LWIP的PPPOS实现CAT-1模组的FTP客户端
6
请问关于IPV6下的PPP连接
7
运行PPP拨号后,串口接收能力变差
8
CMUX数据帧多次重复检验,无法实现ppp连接
9
4G模组 PPP软件包 接收数据问题
10
STM32+4G+LWIP,无法PING,也无法连接TCP.
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部