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' ATH0
TIMEOUT         40
''\rAT  
OK

ATS0=0
OK

ATE0V1
OK

AT+CGDCONT=1,"IP","CMNET"
OK

ATDT*99***1#
CONNECT
''

 注:执行完chat后,模块已经拨号成功了,之后是上层协议处理(后续专网可能要鉴权,公网不需要),若卡有费就可以上网了。

参考:

1. 《3g移植》   http://blog.csdn.net/duloveding/article/details/8287758

2. 《Linux下ppp拨号+3G模块(evdo 中兴MC8630模块)》  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

linux下ppp拨号无线上网的更多相关文章

  1. LINUX下的拨号利器:wvdial和pppd —— 转载

    wvdial是LINUX下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网.在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息:ppp的 ...

  2. 嵌入式Linux系统---ppp拨号,4G模块上网【转】

    本文转载自:http://blog.csdn.net/qq562029186/article/details/65438553 4G模块PPP拨号上网 方法1 所需文件: xxx-chat-conne ...

  3. linux&android PPP 相关知识

    Linux&Android PPP相关FAQ   目录 Linux&Android PPP相关FAQ.. 1 一.         文档说明... 3 二.         常见调试技 ...

  4. 嵌入式Linux利用ppp实现4G模块联网

    https://blog.csdn.net/qq361294382/article/details/52136126 https://blog.csdn.net/qq361294382/article ...

  5. Linux下EC20实现ppp拨号(转)

    源: Linux下EC20实现ppp拨号 参考: 4g模块EC20+android6.0系统移植 OK6410开发板调试EC20通信模块 海思3531添加移远EC20 4g模块 将移远通信的EC20驱 ...

  6. GPRS模块在Linux平台上ppp拨号上网总结与心得

    linux平台的ppp拨号上网,(注明:这里只谈命令行拨号,用linux就要习惯和熟练使用命令行) 在网上常见的有三种方式:1.使用智能的ppp拨号软件wvdial:参考案例:本博客的<使用wv ...

  7. 3G模块(U6300)linux下拨号上网

    U6300支持linux.Android系列嵌入式系统.作为linux内核系统,系统均会自带驱动usbserial,就没有提供专门的U6300V的USB驱动,都是加载系统的usbserial以实现对U ...

  8. Linux Ubuntu系统之PPP拨号经验分享

    近期,工作需要,我负责开发PPP拨号模块. 说起拨号,算算时间,我已经做过2次了, 暴露年龄了,呵呵. 第一次是刚毕业做的PPOE拨号,给电信做拨号软件,在河北石家庄工作过一段时间,基于windows ...

  9. Linux下搭建VPN服务器(CentOS、pptp)转

    先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...

随机推荐

  1. js firstChild 、nextSibling、lastChild、previousSibling、parentNode

    nextSibling下一个兄弟节点 previousSibling上一个兄弟 parentNode父亲节点 <select><option value="zs" ...

  2. PLSQL_统计信息系列01_统计信息的概念和重要性

    2014-12-18 Created By BaoXinjian

  3. Android-SQLiteOpenHelper

    Android-SQLiteOpenHelper 一 概念 是对SOLiteDatabase的封装.主要用于建立和版本号控制,方便我们去建立库表结构 二 用法 又一次封装一个MySqliteOpenH ...

  4. OCR 介绍文章

    光学字符识别技术:让电脑像人一样阅读 微软亚洲研究院,霍强: https://www.msra.cn/zh-cn/news/features/ocr-20150720 文章,我们应该做什么样的研究 h ...

  5. javascript Dictionary data structures

    Dictionary常被称为数据字典,是一种用来保存键值对的数据结构,比如我们日常的电话本,就是一个Dictionary.我们通过键(名字),就可以访问到对应的值(电话号码).在C++与java中我们 ...

  6. 怎么样快速完整备份和压缩 很大的 sqlserver 1TB 数据库 -摘自网络

    How to increase SQL Database Full Backup speed using compression and Solid State Disks The SQL 2008 ...

  7. C++操作 SQL数据库 实例 代码步骤

    C++连接SQL数据库第一步 系统配置 1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码. 2.需要在ODBC中进行数据源配置,数 ...

  8. perl内置特殊变量查询

    perl中有许多预定于的内置变量,想$_,$,,$>,等等,基本是记不住全部的用法,如果在因特网查阅,有很麻烦,信息不准啦,说的不细啦,但是,万能的perldoc早就帮我们准备好了. 你需要做的 ...

  9. vim:去掉响铃

    vim在移动字符出界(上下左右)包括按<ESC>建都会响铃,有时候真的很烦. 在网上搜了一下,原来是visualbell来控制的,在vim里使用命令:help visualbell,原来禁 ...

  10. mysql不重启修改参数变量

    分享下mysql不重启的情况下修改参数变量的方法. 通常来说,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢? 例子: m ...