linux pppd 拨号号成功 什么at指令

博客访问: 231239
博文数量: 65
博客积分: 1187
博客等级: 少尉
技术积分: 648
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
昨天把开发板的bootloader删了,没办法,只得在PC上调GPRS拨号了.先在windows下拨号成功,然后用工具看拨号时具体使用了哪些AT命令,再使用这些命令到linux下使用pppd来拨号,最后终于成功了,之前开发板上不能成功拨号极有可就是AT指令有问题,现在只有等开发板回来后再到ARM7上调了.& &下面贴一下拨号使用的几个脚本,GPRS模块是使用的华为的GTM900-B:1,&&/etc/ppp/peers/gprs:
代码:#/etc/ppp/peers/gprs# This is pppd script for China Mobile, used Huawei GTM900-B GPRS Module# Usage:& &root>pppd call gprs/dev/ttyS019200crtsctsmodem#noauthdebugnodetach#hide-passwordusepeerdnsnoipdefaultdefaultrouteuser "cmnet"0.0.0.0:0.0.0.0#ipcp-accept-local#ipcp-accept-remote#lcp-echo-failure&&12#lcp-echo-interval 3#noccp#novj#novjccomp#persistconnect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'#connect '/bin/chat -v -s -f /etc/ppp/gprs-connect-chat'#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'2,&&gprs-connect-chat:
代码:#/etc/ppp/gprs-connect-chat# chat script for China Mobile, used HuaWei GTM900-B GPRS module.TIMEOUT& && && &15ABORT& && && &&&"DELAYED"ABORT& && && &&&"BUSY"ABORT& && && &&&"ERROR"ABORT& && && &&&"NO DIALTONE"ABORT& && && &&&"NO CARRIER"TIMEOUT& && && &40''& && && && &&&\rATOK& && && && && & ATS0=0OK& && && && &&&ATE0V1OK& && && && &&&AT+CGDCONT=1,"IP","CMNET"OK& && && && &&&ATDT*99***1#CONNECT& && && &''3, 用于chap认证的密码文件:chap-secrets,由于移动的GPRS服务不需要用户名和密码,所以刚开始没设用户名和密码,结果在chap认证的时候总不能通过.后来在gprs里添加user "cmnet"和这个密码文件后就OK了.
代码:#/etc/ppp/chap-secrets#client& & server secret IP address "cmnet"& & *& &&&"cmnet"& & * 4, 另外还有个可选的,断开连接的脚本如下:
代码:ABORT& && &&&OKABORT& && &&&BUSYABORT& && &&&DELAYEDABORT& && &&&"NO ANSWER"ABORT& && &&&"NO CARRIER"ABORT& && &&&"NO DIALTONE"ABORT& && &&&VOICEABORT& && &&&ERRORABORT& && &&&RINGINGTIMEOUT& && &&&12""& && &&&\\k\\k\\k\\d+++ATH"使用: 将PC上的DNS删掉后运行如下:[root@localhost ppp]# pppd call gprstimeout set to 15 secondsabort on (DELAYED)abort on (BUSY)abort on (ERROR)abort on (NO DIALTONE)abort on (NO CARRIER)timeout set to 40 secondssend (^MAT^M)expect (OK)^M^MOK-- got itsend (ATS0=0^M)expect (OK)^MAT^MOK-- got itsend (ATE0V1^M)expect (OK)^MATS0=0^M^MOK-- got itsend (AT+CGDCONT=1,"IP","CMNET"^M)expect (OK)^MATE0V1^M^MOK-- got itsend (ATDT*99***1#^M)expect (CONNECT)^M^MOK^M^MCONNECT-- got itsend (^M)Serial connection established.using channel 42Using interface ppp0Connect: ppp0
/dev/ttyS0sent [LCP ConfReq id=0x1
]rcvd [LCP ConfRej id=0x1 ]sent [LCP ConfReq id=0x2
]rcvd [LCP ConfAck id=0x2
]rcvd [LCP ConfReq id=0x1
]sent [LCP ConfAck id=0x1
]rcvd [CHAP Challenge id=0x1 , name = ""]sent [CHAP Response id=0x1 , name = "cmnet"]rcvd [CHAP Success id=0x1 ""]CHAP authentication succeededsent [CCP ConfReq id=0x1
]sent [IPCP ConfReq id=0x1
]rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]rcvd [IPCP ConfReq id=0x1 ]sent [IPCP ConfAck id=0x1 ]rcvd [IPCP ConfRej id=0x1 ]sent [IPCP ConfReq id=0x2
]rcvd [IPCP ConfNak id=0x2
]sent [IPCP ConfReq id=0x3
]rcvd [IPCP ConfAck id=0x3
]local&&IP address 10.165.226.25remote IP address 221.177.160.163primary& &DNS address 211.137.64.163secondary DNS address 211.136.20.203再将这里的DNS给PC或作个连接到/etc/ppp/resolf.conf应该就OK了.有IP,网关,DNS之后就能上
阅读(3637) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。linux平台的ppp拨号上网,(注明:这里只谈命令行拨号,用linux就要习惯和熟练使用命令行)
在网上常见的有三种方式:1.使用智能的ppp拨号软件wvdial:参考案例:本博客的《使用wvdial启动ppp协议拨号上网》http://blog.chinaunix.net/u2/76263/showart_1227064.html2.使用3个脚本的方式:即ppp-on,ppp-on-dialer,ppp-off参考文档:linux-ppp-howto ( http://www.dcaccess.net/welcome/linux/PPP-HOWTO.html )、howto hook up ppp (http://www.theory.physics.ubc.ca/ppp-linux.html) 以及网上很多成功的案例注:以上两种方式各有自己的优缺点,第一种方式智能稳定,他不需要chat程序,使用集成的wvdial工具包直接连接ISP,安全稳定,可以断线自动重拨。第二方式,使用chat程序,但是很多的参数需要自己去配置,虽然比较灵活,但是如果遇到了拨号错误以后,你若不清ppp协议拨号实现的具体机制和每个参数的含义,你就会很吃力,也许运气好的时候,你运行的环境正好和本地的移动isp配置吻合,恭喜你能上网了,但是你遗憾的是没有学到东西,想了解 ppp机制的朋友,可以试试第2种方式,在了解大体了解ppp协议的前提下,观察思考/var/log/messages中的信息。&&3.使用命令pppd call somescript的方式:参考案例:http://blog.csdn.net/bouillisy/archive//436203.aspx我使用就是该方式,下面列出ppp拨号相关配置文件并作适当的解释;注意:我使用的gprs模块是HUAWEI GTM900A/B两种,不同的模块的内部设置有差异,所以配置文件中的某些参数配置有差异,另外还有自身的pc机或者arm开发板的环境以及所处的地点的信号,移动ISP都有关,在出现问题的时候要考虑这些潜在的可能因素。错误排查的过程是个枯燥难受的过程,但是反过来去看,这个过程之后会收获很多。默认情况在/etc/ppp/目录下建立文件gprs-connect-chat,内容如下(每个参数解释在ppp-howto中有详细解释。它是在ppp 底层会话的时候给chat进程的参数每行是一个&期望/发送&的组合序列。当出现一些经典的错误如: "LCP: timeout sending Config-Requests" ,"serial line is not 8 bit clean...",&serial line is looped back&等,去参看方式2提到的两个文档,或者google。注意,为什么不能确切地给出解决的方式,原因是打印出来的同一个错误信息,我称之为现象,同一现象可能是由很多种原因造成的,需要自己实地排查。)#/etc/ppp/gprs-connect-chatTIMEOUT&&&&&&&& 15ABORT&& '/nBUSY/r'&&&ABORT&& '/nNO ANSWER/r'&&&ABORT&& '/nRINGING/r/n/r/nRINGING/r' #'' AT&&#'OK-+++/c-OK' ATH0 TIMEOUT&&&&&&&& 40''&&&&&&&&&&&&& /rATOK&&&&&&&&&&&&& ATS0=0&&&&& #这些都是标准的at命令,建议查看随模块的at命令手册OK&&&&&&&&&&&&& ATE0V1OK&&&&&&&&&&&&& AT+CGDCONT=1,"IP","CMNET" #设置isp接入网关为中国移动的cmnet,如果你想 获得更多访问资源的话OK&&&&&&&&&&&&& ATDT*99***1#&& #中国移动gprs的接入号吗CONNECT&&&&&&&& ''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++建立文件/etc/ppp/peers/gprs,它的作用是给pppd进程提供配置参数(详见man 8 pppd的输出内容,如果出现问题这个将是非常重要的参考页),内容如下:
#/etc/ppp/peers/gprs# Usage:&& root&pppd call gprs/dev/s3c2410_serial1&& #改成自己的端口名115200&&& #改成自己串口波特率nocrtscts #可能你的串口是需要crtscts,硬件流控的,这是由你的串口决定的,一般嵌入式系统的串口没有带硬件流控,也不需要就加nocrtsctsmodem&& #这个参数使得pppd进程将等待模块发回的CD (Carrier Detect)信号,与local真好相反#noauthdebug #把调试信息输出到/var/log/messages,在调试成功后去掉它,以减少垃圾的产生。nodetach #hide-passwordusepeerdns #以下的3个参数一般不可少noipdefaultdefaultroute user smsong #设置接入的用户名,在chap-secrets或者pap-secets中使用0.0.0.0:0.0.0.0 #本地和远端的ip都设为0使得接入的isp分配本地的ip地址ipcp-accept-local #要求peer也就是isp给自己非配动态的IP地址#ipcp-accept-remote#lcp-echo-failure 12#lcp-echo-interval 3noccp #不需要压缩控制协议,有可能对端不需要,根据自己的isp的情况#novj#novjccomppersist #保证在连接断开的情况下不退出,并尝试重新打开连接connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat' #pppd调用chat会话进程接入对端isp,启动对端的pppd,然后本地pppd与对端的pppd一起进行协#商网络参数和chap/pap认证,成功后,再进行ncp层的ip的分配。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#/etc/ppp/chap-secets# Secrets for authentication using CHAP# client server secret&&& IP addresses####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############
smsong * 123456 *
有点地区的GPRS可能使用pap方式认证接入用户,所以在同一级目录下,创建pap-secets文件,内容与chap-secets类似有4项的内容第2和第4项一般不限制就用*(星号)代表。反正要你在/etc/ppp/下放着这两个文件就好。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在建立了ppp0连接以后可以使用ctrl+c或者下面的脚本程序ppp-off断开ppp连接
#/etc/ppp/ppp-off#!/bin/sh######################################################################## Determine the device to be terminated.#if [ "$1" = "" ]; thenDEVICE=ppp0elseDEVICE=$1fi
######################################################################## If the ppp0 pid file is present then the program is running. Stop it.if [ -r /var/run/$DEVICE.pid ]; then&&&&&&& kill -INT `cat /var/run/$DEVICE.pid`## If the kill did not work then there is no process running for this# pid. It may also mean that the lock file will be left. You may wish# to delete the lock file at the same time.&&&&&&& if [ ! "$?" = "0" ]; then&&&&&&&&&&&&&&& rm -f /var/run/$DEVICE.pid&&&&&&&&&&&&&&& echo "ERROR: Removed stale pid file"&&&&&&&&&&&&&&& exit 1&&&&&&& fi## Success. Let pppd clean up its own junk.&&&&&&& echo "PPP link to $DEVICE terminated."&&&&&&& exit 0fi## The ppp process is not running for ppp0echo "ERROR: PPP link is not active on $DEVICE"exit 1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++做好上面的配置以后,输入pppd call gprs命令,注意如果你的gprs这个文件不在/etc/ppp/peers/目录下,在给出标注路径给pppd
[root@localhost ppp_scripts]# pppd call gprstimeout set to 15 secondsabort on (/nBUSY/r)abort on (/nNO ANSWER/r)abort on (/nRINGING/r/n/r/nRINGING/r)timeout set to 40 secondssend (^MAT^M^M)expect (OK)^M^MOK-- got it
send (ATS0=0^M^M)expect (OK)^MAT^MOK-- got it
send (ATE0V1^M^M)expect (OK)^M^M^MOK-- got it
send (AT+CGDCONT=1,"IP","CMNET"^M^M)expect (OK)^MATS0=0^M^MOK-- got it
send (ATDT*99***1#^M^M)expect (CONNECT)^M^M^MOK^MATE0V1^M^MOK^M^MOK^M^MOK^M^MOK^M^MCONNECT-- got it
send (^M)Serial connection established.using channel 20Using interface ppp0Connect: ppp0 &--& /dev/ttyS0Warning - secret file /etc/ppp/pap-secrets has world and/or group accesssent [LCP ConfReq id=0x1 &asyncmap 0x0& &magic 0x60eeae90& &pcomp& &accomp&]rcvd [LCP ConfRej id=0x1 &magic 0x60eeae90&]sent [LCP ConfReq id=0x2 &asyncmap 0x0& &pcomp& &accomp&]rcvd [LCP ConfAck id=0x2 &asyncmap 0x0& &pcomp& &accomp&]rcvd [LCP ConfReq id=0x1 &asyncmap 0x0& &auth chap MD5& &pcomp& &accomp&]sent [LCP ConfAck id=0x1 &asyncmap 0x0& &auth chap MD5& &pcomp& &accomp&]rcvd [CHAP Challenge id=0x1 &9da6cccbfa763a6e206b1f1666a4cfd7e881cac88916&, name = ""]Warning - secret file /etc/ppp/chap-secrets has world and/or group accesssent [CHAP Response id=0x1 &da093b418f81ce6f49c4&, name = "smsong"]rcvd [CHAP Success id=0x1 ""]CHAP authentication succeededCHAP authentication succeededsent [CCP ConfReq id=0x1 &deflate 15& &deflate(old#) 15&]sent [IPCP ConfReq id=0x1 &compress VJ 0f 01& &addr 0.0.0.0& &ms-dns1 0.0.0.0& &ms-dns3 0.0.0.0&]rcvd [LCP ProtRej id=0x1 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]Protocol-Reject for 'Compression Control Protocol' (0x80fd) receivedrcvd [IPCP ConfReq id=0x1]sent [IPCP ConfNak id=0x1 &addr 0.0.0.0&]rcvd [IPCP ConfRej id=0x1 &compress VJ 0f 01&]sent [IPCP ConfReq id=0x2 &addr 0.0.0.0& &ms-dns1 0.0.0.0& &ms-dns3 0.0.0.0&]rcvd [IPCP ConfReq id=0x2]sent [IPCP ConfAck id=0x2]rcvd [IPCP ConfNak id=0x2 &addr 10.144.202.159& &ms-dns1 211.138.200.69& &ms-dns3 211.103.13.101&]sent [IPCP ConfReq id=0x3 &addr 10.144.202.159& &ms-dns1 211.138.200.69& &ms-dns3 211.103.13.101&]rcvd [IPCP ConfAck id=0x3 &addr 10.144.202.159& &ms-dns1 211.138.200.69& &ms-dns3 211.103.13.101&]Could not determine remote IP address: defaulting to 10.64.64.64local IP address 10.144.202.159remote IP address 10.64.64.64primary&& DNS address 211.138.200.69secondary DNS address 211.103.13.101Script /etc/ppp/ip-up started (pid 4578)Script /etc/ppp/ip-up finished (pid 4578), status = 0x0
使用ctrl+c可以断开连接,这样一般不太好测试是不是连接上了(遇有开发不上的控制台只有一个的原因),可以去掉/etc/ppp /peers/gprs文件中的nodetach参数,要用ping,你需要将eth0即网口给禁用掉,这样ping才会通过ppp0端口寻找路由连接外网。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++可以用命令tail -f /var/log/messages看到日志:
Mar 20 20:55:55 localhost pppd[4557]: pppd 2.4.4 started by root, uid 0Mar 20 20:55:56 localhost chat[4558]: timeout set to 15 secondsMar 20 20:55:56 localhost chat[4558]: abort on (/nBUSY/r)Mar 20 20:55:56 localhost chat[4558]: abort on (/nNO ANSWER/r)Mar 20 20:55:56 localhost chat[4558]: abort on (/nRINGING/r/n/r/nRINGING/r)Mar 20 20:55:56 localhost chat[4558]: timeout set to 40 secondsMar 20 20:55:56 localhost chat[4558]: send (^MAT^M^M)Mar 20 20:55:56 localhost chat[4558]: expect (OK)Mar 20 20:55:56 localhost chat[4558]: ^M^MMar 20 20:55:56 localhost chat[4558]: OKMar 20 20:55:56 localhost chat[4558]: -- got it Mar 20 20:55:56 localhost chat[4558]: send (ATS0=0^M^M)Mar 20 20:55:56 localhost chat[4558]: expect (OK)Mar 20 20:55:56 localhost chat[4558]: ^MMar 20 20:55:56 localhost chat[4558]: AT^MMar 20 20:55:56 localhost chat[4558]: OKMar 20 20:55:56 localhost chat[4558]: -- got it Mar 20 20:55:56 localhost chat[4558]: send (ATE0V1^M^M)Mar 20 20:55:56 localhost chat[4558]: expect (OK)Mar 20 20:55:56 localhost chat[4558]: ^MMar 20 20:55:56 localhost chat[4558]: ^M^MMar 20 20:55:56 localhost chat[4558]: OKMar 20 20:55:56 localhost chat[4558]: -- got it Mar 20 20:55:56 localhost chat[4558]: send (AT+CGDCONT=1,"IP","CMNET"^M^M)Mar 20 20:55:57 localhost chat[4558]: expect (OK)Mar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: ATS0=0^M^MMar 20 20:55:57 localhost chat[4558]: OKMar 20 20:55:57 localhost chat[4558]: -- got it Mar 20 20:55:57 localhost chat[4558]: send (ATDT*99***1#^M^M)Mar 20 20:55:57 localhost chat[4558]: expect (CONNECT)Mar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: ^M^MMar 20 20:55:57 localhost chat[4558]: OK^MMar 20 20:55:57 localhost chat[4558]: ATE0V1^M^MMar 20 20:55:57 localhost chat[4558]: OK^MMar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: OK^MMar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: OK^MMar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: OK^MMar 20 20:55:57 localhost chat[4558]: ^MMar 20 20:55:57 localhost chat[4558]: CONNECTMar 20 20:55:57 localhost chat[4558]: -- got it Mar 20 20:55:57 localhost chat[4558]: send (^M)Mar 20 20:55:57 localhost pppd[4557]: Serial connection established.Mar 20 20:55:57 localhost pppd[4557]: Using interface ppp0Mar 20 20:55:57 localhost pppd[4557]: Connect: ppp0 &--& /dev/ttyS0Mar 20 20:55:58 localhost pppd[4557]: Warning - secret file /etc/ppp/pap-secrets has world and/or group accessMar 20 20:56:00 localhost pppd[4557]: Warning - secret file /etc/ppp/chap-secrets has world and/or group accessMar 20 20:56:00 localhost pppd[4557]: CHAP authentication succeededMar 20 20:56:00 localhost pppd[4557]: CHAP authentication succeededMar 20 20:56:01 localhost kernel: PPP Deflate Compression module registeredMar 20 20:56:02 localhost pppd[4557]: Could not determine remote IP address: defaulting to 10.64.64.64Mar 20 20:56:02 localhost pppd[4557]: local IP address 10.144.202.159Mar 20 20:56:02 localhost pppd[4557]: remote IP address 10.64.64.64Mar 20 20:56:02 localhost pppd[4557]: primary&& DNS address 211.138.200.69Mar 20 20:56:02 localhost pppd[4557]: secondary DNS address 211.103.13.101
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[root@localhost ~]# ifconfigeth0&&&&& Link encap:Ethernet HWaddr 00:0A:EB:91:3B:C4 &&&&&&&&& UP BROADCAST MULTICAST MTU:1500 Metric:1&&&&&&&&& RX packets:0 errors:0 dropped:0 overruns:0 frame:0&&&&&&&&& TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&&&&&&&&& collisions:0 txqueuelen:1000 &&&&&&&&& RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)&&&&&&&&& Interrupt:209 Base address:0x4000
lo&&&&&&& Link encap:Local Loopback &&&&&&&&& inet addr:127.0.0.1 Mask:255.0.0.0&&&&&&&&& inet6 addr: ::1/128 Scope:Host&&&&&&&&& UP LOOPBACK RUNNING MTU:16436 Metric:1&&&&&&&&& RX packets:1240 errors:0 dropped:0 overruns:0 frame:0&&&&&&&&& TX packets:1240 errors:0 dropped:0 overruns:0 carrier:0&&&&&&&&& collisions:0 txqueuelen:0 &&&&&&&&& RX bytes:.9 MiB) TX bytes:.9 MiB)
ppp0&&&&& Link encap:Point-to-Point Protocol &&&&&&&&& inet addr:10.144.202.159 P-t-P:10.64.64.64 Mask:255.255.255.255&&&&&&&&& UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1&&&&&&&&& RX packets:5 errors:0 dropped:0 overruns:0 frame:0&&&&&&&&& TX packets:6 errors:0 dropped:0 overruns:0 carrier:0&&&&&&&&& collisions:0 txqueuelen:3 &&&&&&&&& RX bytes:62 (62.0 b) TX bytes:98 (98.0 b)
[root@localhost ~]# ifconfig eth0 down&&&&&& 禁用以太网接口eth0,使得不和ppp0接口使用时候的路由冲突[root@localhost ~]# ping 211.136.20.203PING 211.136.20.203 (211.136.20.203) 56(84) bytes of data.64 bytes from 211.136.20.203: icmp_seq=1 ttl=247 time=3379 ms64 bytes from 211.136.20.203: icmp_seq=2 ttl=247 time=2388 ms64 bytes from 211.136.20.203: icmp_seq=3 ttl=247 time=2892 ms64 bytes from 211.136.20.203: icmp_seq=4 ttl=247 time=1952 ms64 bytes from 211.136.20.203: icmp_seq=5 ttl=247 time=1692 ms64 bytes from 211.136.20.203: icmp_seq=6 ttl=247 time=2112 ms64 bytes from 211.136.20.203: icmp_seq=7 ttl=247 time=1492 ms64 bytes from 211.136.20.203: icmp_seq=8 ttl=247 time=1472 ms
--- 211.136.20.203 ping statistics ---9 packets transmitted, 8 received, 11% packet loss, time 7999msrtt min/avg/max/mdev = 2.525/.150 ms, pipe 4
这个时候如果你只能ping纯的ip地址,而不能解析域名,这个时候你可能需要将/etc/ppp/resolv.conf(内容被新获得的 dns取代)内容拷贝到/etc/resolv.conf中或者做一个到/etc/resolv.conf的链接。这样就可以ping域名和在浏览器中打开网页啦。
[root@localhost ~]# ping PING www. (202.108.22.5) 56(84) bytes of data.64 bytes from 202.108.22.5: icmp_seq=1 ttl=50 time=3142 ms64 bytes from 202.108.22.5: icmp_seq=2 ttl=50 time=3348 ms64 bytes from 202.108.22.5: icmp_seq=3 ttl=50 time=2796 ms64 bytes from 202.108.22.5: icmp_seq=4 ttl=50 time=3632 ms64 bytes from 202.108.22.5: icmp_seq=5 ttl=50 time=1936 ms64 bytes from 202.108.22.5: icmp_seq=7 ttl=50 time=909 ms64 bytes from 202.108.22.5: icmp_seq=6 ttl=50 time=1951 ms64 bytes from 202.108.22.5: icmp_seq=8 ttl=50 time=2839 ms64 bytes from 202.108.22.5: icmp_seq=9 ttl=50 time=1984 ms64 bytes from 202.108.22.5: icmp_seq=10 ttl=50 time=2404 ms64 bytes from 202.108.22.5: icmp_seq=11 ttl=50 time=1417 ms
--- www. ping statistics ---12 packets transmitted, 11 received, 8% packet loss, time 13806msrtt min/avg/max/mdev = 909.082/2.981/803.194 ms, pipe 4++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++另外,如果你希望一开机就可以自动拨号上网,只要在自己的开机启动脚本(我的开发板上是/etc/init.d/rcS,在pc上有好几个如:/etc /rc.local文件,做链接到cd /etc/rcN.d,N的选择看运行的级别)里面加上如下的语句,注意这个脚本里面的可执行程序给出的必须是据对路径,因为刚开机嘛,整个机子的环境变量还没有设置好。 还有不要在新加入的命令后面加&使得其变成后台进程,它会周期性执行,会出错!
添加的几条shell语句如下:&&&&&&&&&&&&&&&&& /etc/ppp/rmlock&& #简单的一个判断并删除无效的串口的lock文件,保证成功拨号&&&&&&&&&&&&&&&&& /usr/bin/pppd call gprs&&& #自动拨号&&&&&&&& /usr/bin/sleep 20&& #给它20s的拨号时间,看你的模块拨通的情况了。&&&&&&&&&&&&&&&&&&&&&&& /bin/qtopia & #这个是原来脚本里面有的,把它的顺序安排在这个位置,是为了在看到qt界面启&&& #动以后,真好gprs拨号已经建立号,也就可以上网了。&&&&&&&&&&&&&&&&&&&&& /sbin/ifconfig eth0 down #顺便开机禁用eth0网口
注:rmlock文件#/etc/ppp/rmlock file #!/bin/shif [ -f /var/lock/LCK..s3c2410_serial1 ]; then/bin/rm -f /var/lock/LCK..s3c2410_serial1&& fi
如何解决pppd 运行的段错误:当你手动中断ppp链接次数过多后,可能回出现pppd运行的段错误,
The suggestion from debian bug report solves this problem. It is pretty straightforward: Simply delete /var/run/pppd.tdb file (in my system, it is /var/run/pppd2.tdb).
总结:根据自己的环境和喜好选用其中一种拨号方式,wvdial的方式移植到arm开发板的时候,交叉编译的时候出错很多,可以试试,相对比较麻烦,而其它运行需要wvstreams的库的支持,占用空间大。第2中方式最常用,但是出错的可能性比较大,原因使其比较灵活,第3中跟第2中方式类似。在出错的时候可以到google上搜索同样的错误现象,参考并修改自己的参数,再分析尝试,只要坚持到底,才会真有收获!当时你要没有什么时间了也不想学习ppp的内部拨号机制,建议用windows把,那个封装的很好。稳定可靠!呵呵
祝:ppp&linux拨号的朋友好运!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:221916次
积分:2573
积分:2573
排名:第10631名
原创:25篇
转载:74篇
评论:26条
(9)(2)(3)(4)(1)(2)(2)(6)(2)(1)(2)(1)(10)(14)(2)(1)(18)(19)

我要回帖

更多关于 pppd拨号原理 的文章

 

随机推荐