001嵌入式PPPD脚本学习分享.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
001嵌入式PPPD脚本学习分享

嵌入式PPPD脚本学习分享ppp拨号脚本相关介绍与配置1. CHAT脚本一个简单的chat脚本有下面的结构: ATOK ATDT dialnumberCONNECT 一个chat脚本都是由字符串对来组成的。前面的字符串都是期望获取的串,紧跟的是发送的字符串。这个脚本每一项的具体含义是这样的:1) ? MODEM期望空字符串。这句话的意思直接理解就是MODEM不管收到什么字符串,先发出字符串AT;2) ? 期望收到“OK”字符串,然后发送字符串“ATDT dialnumber”3) ? 如果收到“CONNECT”,就不再发送,认为数据链路已建立连接。这样的chat脚本是最简单的,如果需要进行超时控制,就可以加入如下字段:TIMEOUT 10如果要增加对特殊情况的处理,就加入下面字段:ABORT BUSY ? ABORT NO ANSWERABORT RINGING这三行语句的意思是:如果收到字符串“BUSY”、“NO ANSWER”、“RINGING”就退出执行。所以在考虑到各种特殊情况下,配置一个PPP连接的CHAT脚本就可以像下面这样:TIMEOUT 30ABORT BUSY ? ABORT NO ANSWERABORT RINGING ATOK ATDT dialnumberCONNECT 2.OPTIONS脚本OPTIONS脚本的内容,为PPP连接指定了连接使用的设备、使用的控制字符传输速率、指定了硬件加速、溢出控制等。例如下面的options脚本:ttyS0 ---- 指定连接使用的设备,例如:ttyS0、ttyS1等57600 ---- 设置连接使用的控制字符传输速率,可以设置为57600、115200等debug ---- 如果需要加入调试信息,就加入参数debuglogfile /var/ ppplog ---- 将连接过程中的信息输入到某个文件中mtu 1500-detachnoipdefault ---- 不使用默认IP就可以加入参数noipdefaultdefaultrouteusepeerdns ---- 使用服务器端协商的DNS就可以设置参数usepeerdnslcp-echo-failure 4 ---- 当连续4次没有收到发出的LCP回声请求时,就认为服务器端已不再响应,就退出执行。这里的失败次数可以灵活来决定。-ccp ---- 不使用压缩控制协议-vj ---- 关掉式IP头压缩-chap ---- 不使用chap鉴权-mschap-v2 ---- 不使用mschap鉴权userhide-passwordconnect /usr/bin/chat -v -t6 -f /var/ chat ---- 制定了要使用的chat脚本的位置。加上参数-v 告诉 chat命令将其所有的输出/入拷贝到系统记录里(通常是 /var/log/messages)。-t 6 指定了执行chat该命令的时间为6s。chat脚本的位置可以位于/etc/目录下,也可以位于/var下,这个可以更加需要灵活设置。persist --- 永久链接(自动重拨)crtscts --- 告诉ppp使用modem的硬件流量控制modem --- 使ppp使用DCD信号来判断连接是否正常,有无掉线现象deflate --- 使pppd使用defalte压缩方式idle --- 设置了一个时间限制,当在300秒的时间内没有数据传送,就断开连接lock --- 则创建一个锁定文件,其他程序在发现存在这个文件后,就能得知相应的串口已经被使用。demond --- 参数告诉pppd停留在后台,监视网络数据,一旦有要求就立即进行连网,超时后就断开连接,但pppd仍然停留在后台等待下次数据传送其他的参数具体含义可以参照参考PPPD2.4.4 中options.c中注释:int debug = 0; intkdebugflag = 0; intdefault_device = 1; char devnam[MAXPATHLEN]; boolnodetach = 0; boolupdetach = 0; intmaxconnect = 0; char user[MAXNAMELEN]; char passwd[MAXSECRETLEN]; bool persist = 0; char our_name[MAXNAMELEN]; bool demand = 0; char *ipparam = NULL; intidle_time_limit = 0; intholdoff = 30; boolholdoff_specified; intlog_to_fd = 1; boollog_default = 1; intmaxfail = 10; char li

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档