浅析PPPD和GPRS拨号代码


前面两篇文章中,我们都对PPP的嵌入式设置进行了讲解。如果大家还有不清楚的地方,可以回顾一下《arm上实现PPP拨号脚本 》、《Linux内核PPP套件设置 》两篇文章。那么这里我们则主要讲解一下关于PPPD和GPRS自动拨号脚本真正的实时监控,断线自动重拨)的内容。参考:http://www.tvrofans.org/viewthread.php?tid=8117&extra=&page=1

开机自动运行,实时监控,断线自动重拨

把文件传到DM里,设置文件属性为755,然后把启动路径加到init文件里即可

原设置为5秒去检测一次,是以1字节去PING

  1. #!/bin/sh  
  2.  
  3. #请把dns1,dns2修改成拼得通的DNS,开机自动运行,实时监控,断线自动重拨  
  4.  
  5. dns1="211.95.193.97" 
  6. dns2="211.136.20.203" 
  7. sleep 8  
  8. #/bin/pppd call gprs-siem &  
  9. sleep 12  
  10. while true  
  11. do  
  12.        ping -s 1 -c 1 $dns1    #去PING第一个DNS  
  13.        if [ "$?" != "0" ]      #假如PING不通  
  14.        then  
  15.  
  16.            ping -s 1 -c 2 $dns2 #去PING第二个DNS  
  17.            if [ "$?" != "0" ]     #假如PING不通   
  18.            then     
  19.               killall pppd         #结束PPPD进程  
  20.               pppd call gprs-siem & #再去拨号  
  21.               sleep 12               #等待12秒  
  22.               sleep 5            #如果是PING DNS2通的话就直接等待5秒  
  23.            fi     
  24.        else  
  25.               sleep 5            #如果是PING DNS1通的话就直接等待5秒一般要设置多长时间去PING请改这里)  
  26.        fi                 
  27. done 

大家会问这样一直PING下去担心流量问题,浪费一些流量是垦定的,不过我们是以1个字节去PING 加上返回的值一共是9个字节,也就是说5秒用9个字节。

D1 U% ]& i

一个小时用9*12*60是一个小时6480字节=6。328125K

也就是说这样一个小时加6.33K的流量

大家还是担心的话可以改一下脚本,比如改60秒去PING一次啦,等等,都能有效去省流量!!

相关内容