在ARM-linux上实现4G模块PPP拨号上网

发布者:自由漫步最新更新时间:2016-04-25 来源: eefocus关键字:ARM-linux  4G模块  PPP  拨号上网 手机看文章 扫描二维码
随时随地手机看文章
在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多。最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下。当然,除此之外要做的工作还有很多。
4G模块使用的SIMTECH 的SIM7100C,SIM7100C带有UART和USB接口,在考虑速度上我们使用USB接口和ARM进行通信。所以向linux内核添加3G模块的驱动(USB转串口驱动)和PPP协议的支持,然后编译内核并下载到开发板。
1. 编译内核
◇ 大容量存储驱动
> Device Drivers > USB support
make ARCH=arm menuconfig配置USB驱动:
<*>     USB Mass Storage support
[*]       USB Mass Storage verbose debug
<*>       Realtek Card Reader support
[*]         Realtek Card Reader autosuspend support
<*>       Datafab Compact Flash Reader support
◇ USB驱动
> Device Drivers > USB support
<*>   Inventra Highspeed Dual Role Controller (TI, ADI, ...)   
            MUSB Mode Selection (Dual Role mode)  --->             
    <*>     Platform Glue Layer (TI DSPS platforms)  --->           
        MUSB DMA mode (Disable DMA (always use PIO))  --->
<*>   USB Serial Converter support  --->
[*]      USBGeneric Serial Driver 
<*>     USBdriver for GSM and CDMA modems
◇ PPP驱动
> Device Drivers > Network device support
   <*>   PPP (point-to-point protocol) support         
    <*>     PPP BSD-Compress compression                         
    <*>     PPP Deflate compression                              
     [*]     PPP filtering                                            
    <*>     PPP MPPE compression (encryption)                          
     [*]     PPP multilink support                 
    <*>     PPP over Ethernet                 
    <*>     PPP support for async serial ports    
    <*>     PPP support for sync tty ports      
<*>   SLIP (serial line) support      
[*]   CSLIP compressed headers
 
2. 交叉编译libusb
下载usblib库和libusb-compat
https://sourceforge.net/projects/libusb/files/
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# mkdir install
configure: error: "udev support requested but libudev not installed"(解决:添加--disable-udev)
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# ./configure --host=arm-none-linux-gnueabi --prefix=/opt/usb-tools/libusb-1.0.20/install --disable-udev
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# make
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# make install
 
添加环境变量 http://www.linuxidc.com/Linux/2011-03/33432.htm(PKG_CONFIG_PATH设置)
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# export PKG_CONFIG_PATH=/opt/usb-tools/libusb-1.0.20/install/lib/pkgconfig:$PKG_CONFIG_PATH
root@zhaoxc-VBox:/opt/usb-tools/libusb-1.0.20# echo $PKG_CONFIG_PATH
 
编译libusb-compat:
root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5# ./configure --host=arm-none-linux-gnueabi --prefix=/opt/usb-tools/libusb-compat-0.1.5/install
root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5# make
root@zhaoxc-VBox:/opt/usb-tools/libusb-compat-0.1.5# make install
 
将生成的libusb-1.0.20和libusb-compat-0.1.5下的库文件复制到ARM板上的linux的/lib下面即可。
 
3. 交叉编译4G模块驱动
交叉编译GobiSerial.c(ARCH=arm CC=arm-none-linux-gnueabi-gcc),得到GobiSerial.ko。复制到ARM板安装驱动
#insmod GobiSerial.ko
 
4. 查看驱动运行状况
插上4G模块,虚拟出6个ttyUSB,它们分别是:
root@am335x-evm:/# ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3  /dev/ttyUSB4  /dev/ttyUSB5
1) /dev/ttyUSB0-diag port for output developing messages
2) /dev/ttyUSB1- NMEA port for GPS NMEA data output
3) /dev/ttyUSB2-AT port for AT commands
4) /dev/ttyUSB3-Modem port for ppp-dial
5) /dev/ttyUSB4-audio port
6) /dev/ttyUSB5-Virtual Net card
 
插上U盘,提示设备运行:
[75097.986054] usb 2-1: New USB device found, idVendor=058f, idProduct=6387
[75097.993167] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[75098.000689] usb 2-1: Product: Mass Storage
[75098.004995] usb 2-1: Manufacturer: Generic
[75098.009342] usb 2-1: SerialNumber: AC3DF2EE
[75098.024341] usb-storage 2-1:1.0: USB Mass Storage device detected
[75098.049922] scsi0 : usb-storage 2-1:1.0
lsusb命令查看结果:
Bus 001 Device 002: ID 1e0e:9001
Bus 002 Device 002: ID 058f:6387
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
 
5. 交叉编译PPP
参见:http://blog.sina.com.cn/s/blog_7880d3350102wb3e.html
 
6. 拨号脚本设置
root@am335x-evm:/etc/ppp# vi gprs-connect-chat
#Chat script for China Mobile, used SIMCOM sim4100 TD module.
TIMEOUT 15
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "NO CARRIER"
TIMEOUT 40
'' \rAT
OK ATS0=0
OK ATE0V1
OK AT+CGDCONT=1,"IP","CMNET"
OK AT+CGEQREQ=1,2,128,384,,,0,,,,,,
OK ATDT*99*1#
CONNECT
root@am335x-evm:/etc/ppp/peers# vi gprsdial
#/etc/ppp/peers/gprsdial
# This is pppd script for China Mobile, used SIMCOM SIM7100 Module
# Usage: root>pppd call gprs
#Interface should be used is the interface which connects physics interface of S
/dev/ttyUSB3
115200
crtscts
modem
#noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user "cmnet"
0.0.0.0:0.0.0.0
#ipcp-accept-local
#ipcp-accept-remote
#lcp-echo-failure 12
#lcp-echo-interval 3
#noccp
#novj
#novjccomp
#persist
connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'
 
6. 拨号
root@am335x-evm: pppd call gprsdial
 
6. 测试
拨号之后进行测试,发现可以ping通ip但是无法ping通域名。这需要设置/etc/resolv.conf来添加DNS解析服务器的地址
文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件: 
domain test.com
search www.test.com test.com
nameserver 202.96.128.86
nameserver 202.96.128.166
nameserver   #定义DNS服务器的IP地址
domain       #定义本地域名
search       #定义域名的搜索列表
sortlist     #对返回的域名进行排序
主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
    我这里只设置了两个DNS,如下:
ameserver 114.114.114.114
nameserver 8.8.8.8
 
参考文档:
How to use the SIM7100 module in Linux.pdf
http://blog.csdn.net/hanmengaidudu/article/details/17099737
http://www.linuxidc.com/Linux/2011-03/33430p2.htm
http://www.linuxidc.com/Linux/2011-03/33430.htm
关键字:ARM-linux  4G模块  PPP  拨号上网 引用地址:在ARM-linux上实现4G模块PPP拨号上网

上一篇:初学者拿到2440、6410 等开发板应该怎么学习?
下一篇:在ARM上安装minicom及“error: conflicting types for 'getline'”解决

推荐阅读最新更新时间:2024-03-16 14:51

valgrind arm-linux 交叉编译
Valgrind是用于构建动态分析工具的仪器框架。 它附带了一组工具,每个工具都执行某种调试,分析或类似任务,可帮助您改进程序。 Valgrind的架构采用模块化设计,因此可以轻松创建新工具,而不会干扰现有结构。 开始工作前,有两项信息不得不看,那就是平台和工具概述,虽然百度查了一些,但毕竟不如官方的准确: 平台支持,我的 ARM-v7 是支持的 http://valgrind.org/info/platforms.html 工具概述: http://valgrind.org/info/tools.html 标准配置提供了许多有用的工具。 Memcheck是一个内存错误检测器。 它可以帮助您使程序,尤其
[单片机]
valgrind <font color='red'>arm-linux</font> 交叉编译
ARM-Linux模块编译与加载
在linux下加载一个简单的模块方法以及步骤: 运行环境:linux-2.6.12 编译环境:arm-linux-gcc(3.4.1) 运行平台:S3C2440 1.编写模块程序Module.c #include linux/init.h #include linux/kernel.h #include linux/module.h static int hello_init(void) { printk( Hello, SmallBox! This is the first test module!\n ); return 0; } static void hello_exit(void) {
[单片机]
基于ARM-Linux的MiniGUI的仿真与移植
近几年,随着嵌入式系统的日益发展和32位嵌入式处理器以及图形显示设备的广泛应用,目标产品对GUI(图形用户界面)的需求越来越多。由于嵌入式系统一般实时性要求很高,所以嵌入式系统下的GUI需要具有轻量级型、占用资源少、高性能等特点。此外,嵌入式系统往往是一种定制设备,它对GUI的需求各不相同,因此,GUI必须也可以定制。而MiniGUI是一个非常适合实时嵌入式产品的高效、可靠、可定制、小巧灵活的图形用户界面支持系统,被广泛的应用于高端科技产品中。利用MiniGUI开发出良好的人机交互界面已成为嵌入式开发中的迫切需求。本文实现了在ARM-Linux环境下进行基于QVFB的MiniGUI的模拟开发、调试,通过在PC机上的仿真模拟,将
[单片机]
基于<font color='red'>ARM-Linux</font>的MiniGUI的仿真与移植
大众汽车选择司亚乐启用4G LTE 嵌入式模块的的下一代车联网
司亚乐 (Sierra Wireless NASDAQ: SWIR) (TSX: SW)是物联网完全整合设备云的领导供应商,今日宣布大众汽车已选择司亚乐AirPrime® AR系列模块和Legato®平台用于其下一代车联网。司亚乐的集成4G技术将于2018年年初在全球多个大众型号面市。   司亚乐的汽车解决方案将为大众车联网平台提供高速移动联网,以提供各种车载式互联网服务,包括远程车辆进接、道路救援、诊断和维护,以及设置速度和边界警戒功能。车主可在司亚乐AirPrime模块提供的集成4G-LTE连接上使用自己的应用。   大众将利用司亚乐技术扩展附加增值连接服务和远程信息处理。服务通过Legato平台实现。该平台提供了应用框架和开
[汽车电子]
arm-Linux中断处理体系结构与处理流程分析
异常,就是可以打断CPU正常运行流程的一些事情,比如外部中断、未定义指令、试图修改只读的数据、执行swi指令(Software Interrupt Instruction ,软件中断指令)等。当这些事情发生时,CPU暂停当前的程序,先处理异常事件,然后再继续执行被中断的程序。操作系统中经常通过异常来完成一些特定的功能。其中的中断也占有很大的一部分。例如下面的这几种情况: * 当CPU执行未定义的机器指令时将触发 未定义指令异常 ,操作系统可以利用这个特点使用一些自定义的机器指令,它们在异常处理函数中实现。 * 当用户程序试图读写的数据或执行的指令不在内存中时,也会触发一个 数据访问中止异常 或 指令预取中止异常 ,在异
[单片机]
<font color='red'>arm-Linux</font>中断处理体系结构与处理流程分析
用于3G/4G领先芯片组的功率放大器模块【TriQuint】
美国 俄勒冈州希尔巴罗和中国 深圳讯— 2011 年 2 月 25 日 —全球射频产品的领导厂商和晶圆代工服务的重要供应商TriQuint半导体公司(纳斯达克:TQNT)今天宣布,推出其为 3G/4G市场领先芯片组解决方案而开发的首个多模功率放大器(MMPA)模块--- TQM7M9023。TQM7M9023模块是TRIUMF 模块™ 产品系列的成员之一,结合TriQuint在业内领先的TRITIUM 功率放大器-双关器模产品系列,为智能手机和其他移动设备提供完整的射频系统解决方案。 TriQuint中国区经理熊挺表示:“TQM7M9023是我们产品系列中的一个重要新增成员。它在我们的GSM/EDGE功率放大器核心能力基
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved