ppp脚本源码分享(1)


PPP拨号设置,在很多平台上都有相关的操作。那么这里我们则重点讲解一下平台: L350和N300平台上测试均通过的PPP脚本内容。那么现在就让我们看下具体内容吧。希望对大家有所应用。

  1. /apps/etc/ppp >: uname -a  
  2. Linux netaccess 2.6.22.1 #17 Thu Jan 7 18:03:30 EST 2010 armv5tejl unknown 

pppd会从/etc/ppp下读取相关配置文件,由于调试时会经常修改这些配置文件,所以建立了一个符号链接到我们的Nandflash分区上:

  1. /apps/etc/ppp >: ls -l /etc/ppp   
  2. lrwxrwxrwx    1 root     root           13 Nov 20  2009 /etc/ppp -> /apps/etc/ppp 

当使用pppd作ppp server时,主要有以下配置文件。在下面的文档中,将详细介绍他们:

  1. /apps/etc/ppp >: ls  
  2. chap-secrets     gprs-start-chat  options          options.ttyS1    pap-secrets 

pppd运行参数文件/etc/ppp/options

该文件指定pppd运行的参数,若运行pppd时通过命令行指定的参数同时出现在该配置文件里时,pppd将使用/etc/ppp/options中的配置。关于pppd支持的一些参数,可以在我们PC的linux上使用man命令查询(man pppd)

[guowenxue@localhost ~]$ man 8 pppd
PPPD(8)                                                                                   PPPD(8)

NAME
pppd - Point-to-Point Protocol Daemon

SYNOPSIS
pppd [ options ]

/apps/etc/ppp >: cat options
#tty Options
/dev/ttyS1                #例如,这里可以将/dev/ttyS1注释,然后使用命令行#pppd /dev/ttyS1 运行来指定;
115200
#lock
modem
nocrtscts                #无硬件流控

#login
nodetach             #若指定updetach则拨号成功后放入后台运行,若为nodetach,则在前台执行

debug

#Auth options
auth                     #使能Authentication
+pap                    #使用pap认证
-chap                   #不要支持chap认证

# 源码ppp-2.4.3/pppd/tty.c中的函数connect_tty)将会执行这个脚本。主要是对客户端的拨号的应答。
connect "/usr/sbin/chat -v -E -V -f /etc/ppp/gprs-start-chat"

#lcp options
#passive
asyncmap 0
lcp-echo-failure 3
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote


#proxyarp
netmask 255.255.255.0
ms-dns 10.78.28.10
ms-dns 10.78.28.11
nodefaultroute

gprs-start-chat  chat脚本

关于chat的用法,可以在Linux PC上使用man命令查询:$ man 8 chat

  1. /apps/etc/ppp >: cat gprs-start-chat   
  2.         ABORT           'BUSY'  
  3. ABORT           'NO CARRIER'  
  4. ABORT           'NO DIALTONE'  
  5. ABORT           'ERROR'  
  6. TIMEOUT         0  
  7.  
  8. ''              'ATZ'                      //首先发送ATZ重置modem  
  9. 'OK'            'ATE0'                 //收到OK后,使用ATE0消除回显  
  10. 'RING'          'ATA'                  //等待客户端拨号,若客户端开始拨号,Modem收到RING后,发送应答信号ATA  
  11. 'CONNECT'       ''                  //收到CONNECT信号后,将进入下一阶段LCP的过程。 


相关内容