linux下GPRS模块ppp拨号上网
交叉编译器:arm-linux-gcc-4.5.4
Linux内核版本:Linux-3.0
主机操作系统:Centos 6.5
开发板:FL2440
GPRS:SIM900A
在开发SIM900模块之前,开发板已经加载了linux内核以及文件系统,并且开发板串口已经使能。并且一定要注意的是:要有一张没有欠费的电话卡!不要笑,这是个很严肃的问题!
------------------------------------------------------------------------------------------------------------------------------
所需源码:
ppp-2.4.4.tar.gz http://download.chinaunix.net/download.php?id=35208&ResourceID=8334
注:个人觉得这是一个比较典型又比较简单的移植问题。
大体步骤:添加内核ppp上网的支持-->编译ppp-2.4.4生成一些可执行文件(pppd, chat, pppdump, pppstats)放到开发板的/usr/sbin/目录下-->将可执行脚本放在开发板的指定位置(/etc/ppp/peers/gprs, /etc/ppp/chat-gprs-connect),并执行pppd命令。
一、添加内核支持
Linux-3.0以上的版本中,rt3070的驱动已经加入了内核源码中去了,本篇用的是Linux-3.0的内核,只需要在内核的make menuconfig中选择ppp上网的支持就可以了。
修改如下:
Device Drivers --->
[*] Network device support --->
<*> PPP (point-to-point protocol) support
[*] PPP multilink support (EXPERIMENTAL)
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
<*> SLIP (serial line) support
[*] CSLIP compressed headers
二、编译ppp-2.4.4
# tar -xzf ppp-2.4.4.tar.gz
# ./configure
# make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc (交叉编译器)
如果编译成功,则会在pppd, chat, pppdump, pppstats下分别生成可执行程序pppd, chat, pppdump, pppstats。将其拷贝到开发板的/usr/sbin目录下。
三、开发板的配置
# vi /etc/ppp/peers/gprs
1 # Usage: root>pppd call gprs 2 3 #set seriral 4 /dev/ttyS1 5 6 # set baudrate 7 115200 8 9 # set flowdate 10 nocrtscts 11 12 connect '/usr/sbin/chat -v -f /etc/ppp/gprs-connect-chat' 13 14 #set debug ,send message to /var/log/messages 15 debug 16 17 #To keep pppd on the terminal 18 nodetach 19 20 #hide-password 21 22 # Accept the peer's idea of our local IP address 23 ipcp-accept-local 24 # Accept the peer's idea of its (remote) IP address 25 ipcp-accept-remote 26 27 #dial up connetion as the default route 28 defaultroute 29 30 usepeerdns
# vi /etc/ppp/chat-gprs-connect
1 #Copyright (c) 2016 guanlei 995318056@qq.com 2 # This is second part of the ppp dial script. It will perform the connection 3 # 4 ABORT 'BUSY' 5 ABORT 'NO ANSWER' 6 ABORT 'NO CARRIER' 7 ABORT 'NO DIALTONE' 8 ABORT 'ERROR' 9 ABORT '\nRING\r\n\r\nRING\r' 10 TIMEOUT 20 11 '' \rAT 12 #set apn 13 OK AT+CGDCONT=1,"IP","cmnet" 14 # ............ 15 OK ATDT*99***1# //这里要改成相应的运行商的设置 16 SAY " + requesting data connection\n" 17 CONNECT '' 18 SAY " + connected\n"
使能pppd:
# pppd call gprs & (&表示后台运行)
配置完就可以了,现在可以测试一下上网功能了:
# ping www.baidu.com
PING www.baidu.com (103.235.46.39): 56 data bytes
64 bytes from 103.235.46.39: seq=0 ttl=48 time=555.719 ms
64 bytes from 103.235.46.39: seq=1 ttl=48 time=273.481 ms
--- www.baidu.com ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max = 273.481/414.600/555.719 ms
# ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.110.1.110 P-t-P:192.200.1.21 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:686 (686.0 B) TX bytes:557 (557.0 B)
linux下GPRS模块ppp拨号上网相关推荐
- sim900芯片—GPRS模块ppp拨号上网
--------------------------------------- 主机操作系统:Centos 6.7 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: FL2440 ...
- linux 串口4g ppp,在ARM-linux上实现4G模块PPP拨号上网
原标题:在ARM-linux上实现4G模块PPP拨号上网 在ARM平台上实现 的 ,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚 ...
- linux系统如何拨号上网连接,教你在Linux下如何使用ADSL拨号上网
教你在Linux下如何使用ADSL拨号上网 发布时间:2007-10-29 10:22:09来源:红联作者:demon 一.如果是新手刚开始使用Linxu的话,可用图形界面: 办法:直接在网络里建立新 ...
- linux怎么使用4g模块的网络,在ARM-linux上实现4G模块PPP拨号上网(示例代码)
在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下.当然,除此之 ...
- 怎么在Linux内核模块加打印,在ARM-linux上实现4G模块PPP拨号上网
在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下.当然,除此之 ...
- Linux通过安卓上网,Linux/Android系统通过PPP拨号上网
嵌入式系统经常需要具备无线上网的功能,但在有的应用场景中无法使用wifi,这时可以通过GPRS模块上网.GPRS模块是基于AT命令进行控制的.对于单片机这类没有复杂操作系统的平台来说,往往要通过应用程 ...
- linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网
前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...
- Linux自动配置asdl脚本,Linux下设置ADSL自动拨号上网
前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...
- linux 自动务份,Linux下设置ADSL自动拨号上网
前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...
最新文章
- 怎么删除Elasticsearch里的index内容
- python之jieba库
- ustc小道消息20220122
- Yii 中Criteria常用方法
- Java笔记06-Map集合
- 企业文档管理_为什么这么多企业文档如此糟糕?
- wamp安装和配置_手动配置Wordpress环境真香,让我毫不犹豫卸载LAMP和WAMP环境
- 好用的小工具系列之---lombok--扔掉傻瓜式书写,精简你的代码,节约你的时间
- Unix环境高级编程的学习环境的搭建
- 海康威视录像机(DVR)卡在开机画面
- 南通大学《构建之法》课程助教总结
- 高含盐废水处理资源化——双极膜电渗析
- java使用ffmpeg将视频转码
- Hoeffding不等式的证明
- KUKA youbot机械臂与Moveit工具包(2)
- Windows下 wget 的安装与使用
- Pytorch识别手写体数字的简单实现
- 看图工具IrfanView
- Python GUI编程之PyQt5入门到实战
- sql随机取5条信息
热门文章
- Page_Load的问题
- java 如何排查内存溢出_java 内存溢出排查
- 会做饭的机器人曰记_颜真卿《麻姑仙坛记》:苍劲古朴,体态沉雄,气象宏大...
- VRP网络操作系统简介
- python 十进制与二进制以及位运算
- linux的strace命令(详解)
- c/c++面试试题(二)
- 前端学习(3109):react-hello-开发者工具
- [html] 编写html时,你有没有用过Emmet插件呢?说说它的优点及规则有哪些?
- 13攻击行为是天生的