免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5263 | 回复: 5
打印 上一主题 下一主题

GPRS复用拨号失败 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-02 18:06 |只看该作者 |倒序浏览
将SIM300模块通过GSM0710协议复用后再使用pppd拨号经常拨不成功。


异常信息大概有以下几种:

1.  script connect failure

2.  sent   [LCP   ConfReq   id=0x1   <mru   xxx>   <magic   xxx>]  
     LCP:   timeout   sending   Config-Requests

3. modem能正常返回AT命令,不返回LCP请求。

其中1、2两种情况pppd拨号多次后可能恢复正常,第3种异常只能将modem手动复位。



pppd程序未使用gsm0710复用之前用物理串口拨通概率大概是95%以上。复用后大概在50%,而且还有modem假死的情况。


有大虾遇到类似的情况吗?请分享一下经验啊

论坛徽章:
0
2 [报告]
发表于 2009-11-03 16:29 |只看该作者
这个可能你需要跟踪一下ppp的驱动。
或者在pppd中添加打印,看看驱动中的ppp包是否传到了pppd中

论坛徽章:
0
3 [报告]
发表于 2009-11-04 16:06 |只看该作者

找到原因了

需要将modem的回显关闭。pppd脚本中的拨号命令回显会和应答包重叠在一起,导致gsm0710程序不能正常的解析到数据包。

论坛徽章:
0
4 [报告]
发表于 2009-11-05 11:15 |只看该作者

又调试了一天,还是有问题

使用的pppd脚本:

#!bin/bash
while true;
do
rm -rf /tmp/gprs.tmp

echo "
# Tell the ppp-daemon to accept mangled data
receive-all
# Give some debug info
debug
kdebug 7
# Print out all the option values which have been set.
#dump
#/dev/ttyS0
/dev/mux0
115200
#-crtscts  # With RTS/CTS
nocrtscts  # WO/  RTS/CTS
# Ignore carrier detect signal from the modem
local
# To keep pppd on the terminal
nodetach
# Accept the peer's idea of our local IP address
ipcp-accept-local
# Accept the peer's idea of its (remote) IP address
ipcp-accept-remote
0.0.0.0:0.0.0.0
-chap
# No ppp compression
novj
novjccomp
papcrypt
nodeflate
#No ppp magic number
nomagic
# no asyn cmap
asyncmap 0
# Add default route
defaultroute
# Connect script
connect /etc/ppp/connect-chat-gprs
# Disconnect script
disconnect /etc/ppp/disconnect-chat-gprs
" > /tmp/gprs.tmp
#read line < /tmp/ptsname ; echo $line >> /tmp/gprs.tmp
pppd file /tmp/gprs.tmp &
sleep 60
killall pppd
sleep 20
done

论坛徽章:
0
5 [报告]
发表于 2009-11-05 11:21 |只看该作者

发现的问题:(见调试信息)

运行:sh pppd.sh
终端输出:
Press CTRL-C to close the connection at any stage!
OK

OKChecking voltage...

OKChecking SIM card...

+CBC: 0,98,4180

OKCheck signal ...

460000330568572

OK
defining PDP context...

+CSQ: 29,0

OK

OK

OK

CONNECT
~
Serial connection established.
using channel 357
Using interface ppp0
Connect: ppp0 <--> /dev/mux0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0xc9 <mru 1600> <auth pap> <magic 0xc3c65c9> <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfRej id=0xc9 <magic 0xc3c65c9>]
rcvd [LCP ConfReq id=0xca <mru 1600> <auth pap> <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0xca <mru 1600> <auth pap> <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x0]
sent [PAP AuthReq id=0x1 user="test-desktop" password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0xc3c65c9]
rcvd [PAP AuthAck id=0x1 "TTP Com PPP - Password Verified OK"]
Remote message: TTP Com PPP - Password Verified OK
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0x31 80 fd 01 01 00 07 15 03 2f 1c]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <addr 10.14.214.17> <ms-dns1 211.136.17.107> <ms-dns3 211.136.20.203>]
sent [IPCP ConfReq id=0x2 <addr 10.14.214.17>]
rcvd [IPCP ConfReq id=0x38 <addr 10.0.0.1>]
sent [IPCP ConfAck id=0x38 <addr 10.0.0.1>]
rcvd [IPCP ConfNak id=0x2 <ms-dns1 211.136.17.107> <ms-dns3 211.136.20.203>]
sent [IPCP ConfReq id=0x3 <addr 10.14.214.17>]
rcvd [IPCP ConfNak id=0x3 <ms-dns1 211.136.17.107> <ms-dns3 211.136.20.203>]
sent [IPCP ConfReq id=0x4 <addr 10.14.214.17>]
rcvd [IPCP ConfAck id=0x4 <addr 10.14.214.17>]
not replacing existing default route via 192.168.1.1
Cannot determine ethernet address for proxy ARP
local  IP address 10.14.214.17
remote IP address 10.0.0.1
Script /etc/ppp/ip-up started (pid 6923)
Script /etc/ppp/ip-up finished (pid 6923), status = 0x0
Terminating on signal 15
Connect time 0.9 minutes.
Sent 0 bytes, received 0 bytes.
Script /etc/ppp/ip-down started (pid 6940)
sent [LCP TermReq id=0x2 "User request"]
rcvd [LCP TermAck id=0x2]
Connection terminated.

Sending break to the modem

PDP context detached
Serial link disconnected.
Script /etc/ppp/ip-down finished (pid 6940), status = 0x0
Press CTRL-C to close the connection at any stage!
OK

OKChecking voltage...

OKChecking SIM card...

+CBC: 0,98,4176

OKCheck signal ...

460000330568572

OK
defining PDP context...

+CSQ: 29,0

OK

OK

OK

CONNECT
~
Serial connection established.
using channel 358
Using interface ppp0
Connect: ppp0 <--> /dev/mux0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
rcvd [LCP]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP]
LCP: timeout sending Config-Requests
Connection terminated.

Sending break to the modem

PDP context detached
Serial link disconnected.
Modem hangup
pppd: no process killed

论坛徽章:
0
6 [报告]
发表于 2009-11-05 11:30 |只看该作者

回复 #5 wan_zilove 的帖子

其中上半部为成功的pppd拨号,在连续随机几十次pppd成功拨号后,GPRS开始出现异常(即下半部rcvd [LCP]开始接收不到数据),最终出现LCP: timeout sending Config-Requests。之后不论怎么人工重启进程均出现此异常,除非手工复位GPRS设备。


实在搞不懂了,请大虾帮忙
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP