看各位牛人都在,有个问题想请教一下,我现在用3g模块,在嵌入式linux上,用pppd拨号上网。
我首先在pc的ubuntu上测试了pppd拨号的脚本,是可以拨号成功的。但是同样的脚本,在嵌入式linux上,拨号就失败。
两个拨号的log如下:
ubuntu上成功的log:
send (ATDT*99#^M)
expect (CONNECT)
CONNECT
-- got it
Script /usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat-3gnet finished (pid 2911), status = 0x0
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/ttyACM2
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe31be07b> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe31be07b> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0xe31be07b]
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 EchoRep id=0x0 magic=0xf9c40c5f]
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
sent [IPCP ConfReq id=0x3 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
sent [IPCP ConfReq id=0x4 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfNak id=0x4 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
sent [IPCP ConfReq id=0x5 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfNak id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfRej id=0x5 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x6 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14>]
rcvd [IPCP ConfReq id=0x2 <addr 10.35.166.196>]
sent [IPCP ConfAck id=0x2 <addr 10.35.166.196>]
rcvd [IPCP ConfNak id=0x6 <addr 10.35.166.196> <ms-dns1 210.22.70.3> <ms-dns2 211.95.1.97>]
sent [IPCP ConfReq id=0x7 <addr 10.35.166.196> <ms-dns1 210.22.70.3> <ms-dns2 211.95.1.97>]
rcvd [IPCP ConfAck id=0x7 <addr 10.35.166.196> <ms-dns1 210.22.70.3> <ms-dns2 211.95.1.97>]
not replacing existing default route via 10.4.8.1
local IP address 10.35.166.196
remote IP address 10.35.166.196
primary DNS address 210.22.70.3
secondary DNS address 211.95.1.97
在嵌入式linux上,拨号失败的log:
send (ATDT*99#^M)
expect (CONNECT)
055004E00490043004F004D",2^M
^M
CONNECT
-- got it
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB2
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf9c40c5f> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x8c11ffb6> <pcomp> <accomp>]
LCP: timeout sending Config-Requests
Connection terminated.
abort on (OK)
abort on (BUSY)
abort on (DELAYED)
abort on (NO ANSWER)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (VOICE)
abort on (ERROR)
abort on (RINGING)
timeout set to 12 seconds
send (\\k\\k\\k\\d+++ATH^M)
expect (NO CARRIER)
^M
OK
-- failed
Failed (OK)
disconnect script failed
Modem hangup
从log看,是LCP这个过程失败了,失败原因是timeout。 不过,我发现,在ubuntu上,应答的magic是 <magic 0xe31be07b>,而在嵌入式linux上,应答的是<magic 0x8c11ffb6>
不知道是不是这个原因导致的错误。
还有,ubuntu的pppd 版本是2.4.5,嵌入式linux的是2.4.4
希望各位大侠给个调试思路。