交叉编译器: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拨号上网相关推荐

  1. sim900芯片—GPRS模块ppp拨号上网

    --------------------------------------- 主机操作系统:Centos 6.7 交叉编译器环境:arm-linux-gcc-4.5.4  开发板平台: FL2440 ...

  2. linux 串口4g ppp,在ARM-linux上实现4G模块PPP拨号上网

    原标题:在ARM-linux上实现4G模块PPP拨号上网 在ARM平台上实现 的 ,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚 ...

  3. linux系统如何拨号上网连接,教你在Linux下如何使用ADSL拨号上网

    教你在Linux下如何使用ADSL拨号上网 发布时间:2007-10-29 10:22:09来源:红联作者:demon 一.如果是新手刚开始使用Linxu的话,可用图形界面: 办法:直接在网络里建立新 ...

  4. linux怎么使用4g模块的网络,在ARM-linux上实现4G模块PPP拨号上网(示例代码)

    在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下.当然,除此之 ...

  5. 怎么在Linux内核模块加打印,在ARM-linux上实现4G模块PPP拨号上网

    在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下.当然,除此之 ...

  6. Linux通过安卓上网,Linux/Android系统通过PPP拨号上网

    嵌入式系统经常需要具备无线上网的功能,但在有的应用场景中无法使用wifi,这时可以通过GPRS模块上网.GPRS模块是基于AT命令进行控制的.对于单片机这类没有复杂操作系统的平台来说,往往要通过应用程 ...

  7. linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网

    前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...

  8. Linux自动配置asdl脚本,Linux下设置ADSL自动拨号上网

    前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...

  9. linux 自动务份,Linux下设置ADSL自动拨号上网

    前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...

最新文章

  1. 怎么删除Elasticsearch里的index内容
  2. python之jieba库
  3. ustc小道消息20220122
  4. Yii 中Criteria常用方法
  5. Java笔记06-Map集合
  6. 企业文档管理_为什么这么多企业文档如此糟糕?
  7. wamp安装和配置_手动配置Wordpress环境真香,让我毫不犹豫卸载LAMP和WAMP环境
  8. 好用的小工具系列之---lombok--扔掉傻瓜式书写,精简你的代码,节约你的时间
  9. Unix环境高级编程的学习环境的搭建
  10. 海康威视录像机(DVR)卡在开机画面
  11. 南通大学《构建之法》课程助教总结
  12. 高含盐废水处理资源化——双极膜电渗析
  13. java使用ffmpeg将视频转码
  14. Hoeffding不等式的证明
  15. KUKA youbot机械臂与Moveit工具包(2)
  16. Windows下 wget 的安装与使用
  17. Pytorch识别手写体数字的简单实现
  18. 看图工具IrfanView
  19. Python GUI编程之PyQt5入门到实战
  20. sql随机取5条信息

热门文章

  1. Page_Load的问题
  2. java 如何排查内存溢出_java 内存溢出排查
  3. 会做饭的机器人曰记_颜真卿《麻姑仙坛记》:苍劲古朴,体态沉雄,气象宏大...
  4. VRP网络操作系统简介
  5. python 十进制与二进制以及位运算
  6. linux的strace命令(详解)
  7. c/c++面试试题(二)
  8. 前端学习(3109):react-hello-开发者工具
  9. [html] 编写html时,你有没有用过Emmet插件呢?说说它的优点及规则有哪些?
  10. 13攻击行为是天生的