linux下用ppp上网需要两个程序:pppd和chat。ubuntu自带pppd和chat,可以使用man查看具体使用方法。
典型的ppp拨号需要准备几个文件:
1. pppd脚本。
2. chat脚本。
3. chap-secrets文件。
4. pap-secrets文件。
chat脚本是真正AT指令的发送和接收脚本,chat脚本主要有TIMEOUT,ABORT和AT指令交互等构成。TIMEOUT超时,ABORT指定AT指令交互时,出现什么样的错误chat将退出。AT指令交互是“接收”“发送”的形式。比如第一行,意思是不接收任何信息,直接发送AT
“” AT
第二行的意思是等待接收OK。如果OK,发送AT+CGDCONT=1这个命令。
示例:
TIMEOUT 15
ABORT '\nBUSY\r' ABORT '\nNO ANSWER\r' ABORT '\nRINGING\r\n\r\nRINGING\r'#'' AT #'OK-+++\c-OK' ATH0TIMEOUT 40''\rAT OKATS0=0OKATE0V1OKAT+CGDCONT=1,"IP","CMNET" OKATDT*99***1#CONNECT''注:执行完chat后,模块已经拨号成功了,之后是上层协议处理(后续专网可能要鉴权,公网不需要),若卡有费就可以上网了。
参考:
1. 《3g移植》 http://blog.csdn.net/duloveding/article/details/8287758
2. 《》 http://blog.csdn.net/memoryjs/article/details/7946878
3. 《Linux下ppp拨号》 http://wenku.baidu.com/view/74c5aed476a20029bd642d4f.html
4. chap和pap认证,http://docs.oracle.com/cd/E19253-01/819-7059/pppsvrconfig.reference-fig-23/index.html
5. ppp完全理解,http://blog.csdn.net/tianruxishui/article/details/44057607