linux下使用PPP协议栈(GPRS模块的外部协议栈)遇到的问题
ARM+Linux平台,使用PPP协议栈,Linux内核已经添加对ppp协议的支持,拨号软件使用ppp-2.4.4,ppp-2.4.7都使用过。遇到的问题是:使用pppd call gprs拨号,有时能拨通,有时又拨号不成功。如果能拨号成功后,能ping通,使用socket连接收发数据都正常。请大家帮忙看看是什么原因?
拨号失败时的报文如下:
root@ZAXM170905V1:~# pppd call gprs
timeout set to 15 seconds
abort on (DELAYED)
abort on (BUSY)
abort on (ERROR)
abort on (NO DIALTONE)
abort on (NO CARRIER)
abort on (NO ANSWER)
timeout set to 30 seconds
send (^MAT^M)
expect (OK)
^M
OK
-- got it
send (ATD*99#^M)
expect (CONNECT)
^M
CONNECT
-- got it
Script /usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat finished (pid 541), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS4
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x17cc9260> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth pap> <magic 0xd0ffb1e7> <pcomp> <accomp>]
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <auth pap> <magic 0xd0ffb1e7> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x17cc9260> <pcomp> <accomp>]
sent [PAP AuthReq id=0x1 user="cmnet" password=<hidden>]
rcvd [LCP DiscReq id=0x1 magic=0xd0ffb1e7]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [LCP TermReq id=0x3]
LCP terminated by peer
sent [LCP TermAck id=0x3]
Connection terminated.
Modem hangup