嵌入式linux下的GPRS拨号脚本

 
硬件平台:
s3c2440+G24
软件:嵌入式linux,在内核中添加ppp协议的支持,应用程序为pppd 和chat
拨号的命令为:
pppd call gprs-moto&
gprs-moto为拨号脚本,内容为:
#
# pppd options for the Motorola T260
# Replace the obvious lines with your username and modem device
#
# $Id: gprs-moto,v 1.1 2001/12/10 16:17:15 tjd21 Exp $
#Com2
/dev/ttyS0
# Serial port line speed and options
115200
debug
defaultroute
nodetach
#updetach
#-detach
#crtscts
noipdefault
modem
usepeerdns
persist
nodeflate
local
#mtu 1400
# Control character handling
asyncmap 0
#escape FF
novj
novjccomp
nopcomp
noaccomp
nobsdcomp
noauth
#lock
# Chat scripts
connect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/gprs-moto-connect"
可见,该命令最后会调用gprs-moto-connect脚本,其内容为:
 ABORT  'BUSY'
# ABORT  'NO ANSWER'
 ABORT  'NO CARRIER'
 ABORT  'ERROR'
# ABORT  '\nRINGING\r\n\r\nRINGING\r'
 SAY  "GPRS modem init: press <ctrl>-C to disconnect"
#
 TIMEOUT  30
# ''  'AT'
 ''  'ATE'
 TIMEOUT  30
#
 OK  'AT+CGDCONT=1,"IP","cmnet","010.000.000.172",0,0'
 SAY  "\n + defining PDP context"
 OK  'ATD*99#'
 TIMEOUT  30
 SAY  "\n + requesting data connection"
 CONNECT  ''
 SAY  "\n + connected"
应该指出的是G24模块不需要chap加密。
对于BENQ的M23模块,需要chap,其格式为:
在gprs-moto脚本中添加
user "cmnet"
在/etc/ppp目录下建立chap-secret脚本,其内容为:
"cmnet" * "cmnet" *
自动拨号脚本,具有自动断线检测的功能( http://www.tvrofans.org/viewthread.php?tid=8117):
#!/bin/sh卫视,DM,共享,GPRS,模块,KEY,欧插,IMG8 N0 O9 R/ \" v  _% i
#请把dns1,dns2修改成拼得通的DNS,开机自动运行,实时监控,断线自动重拨
dns1="211.95.193.97"* t$ B/ q4 {. U
dns2="211.136.20.203"4 ~7 P- T. X7 O# W: l& K

/bin/pppd call gprs-siem &www.tvrofans.org! A- ?+ S0 j7 i( @0 M0 o" R& Y6 f
sleep 12) x4 u  T9 P( c* ]
while true卫视,DM,共享,GPRS,模块,KEY,欧插,IMG3 H: B& |$ @" s! `' Z" C* U, r- k0 p
do      
  ping -s 1 -c 1 $dns1    ……去PING第一个DNS3 ^& |; V6 X* u) ?! u" x+ A9 Y
       if [ "$?" != "0" ]      ……假如PING不通
      then$ V- k$ D/ K' R, ~9 a6 u4 y6 ~4 H
           ping -s 1 -c 2 $dns2   ……去PING第二个DNS
             if [ "$?" != "0" ]     ……假如PING不通. |7 ~; ?4 o3 O1 A5 \3 x
            then   
                 killall pppd         ……结束PPPD进程
                pppd call gprs-siem & ……再去拨号
                sleep 12               ……等待12秒
            else卫视,DM,共享,GPRS,模块,KEY,欧插,IMG' t2 M+ C& \' A
                sleep 5            ……如果是PING  DNS2通的话就直接等待5秒. q4 |' l9 o7 k, w4 C1 i
             fi   
     else6 t5 N. l' C9 S/ s" {
              sleep 5            ……如果是PING  DNS1通的话就直接等待5秒(一般要设置多长时间去PING请改这里)! o9 G  o0 A5 {& y7 R% W" ^

    fi               
  done9 F$ X4 L: D1 S: _% |* I, k
 

你可能感兴趣的:(linux,职场,休闲)