3G模块在ARM开发板上实现pppoe拨号上网.docx
- 文档编号:30409665
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:14
- 大小:623.04KB
3G模块在ARM开发板上实现pppoe拨号上网.docx
《3G模块在ARM开发板上实现pppoe拨号上网.docx》由会员分享,可在线阅读,更多相关《3G模块在ARM开发板上实现pppoe拨号上网.docx(14页珍藏版)》请在冰豆网上搜索。
3G模块在ARM开发板上实现pppoe拨号上网
3G模块驱动运用开发总结
一:
开发环境简述
内容
说明1
3G模块
华为EM770W(WCDMA)
3GSIM卡
中国联通3G卡(WO)
嵌入式开发板
友善之臂Mini2440
核心CPU
S3C2440
嵌入式linux版本
Linux-2.6.32.2
主机开发环境
VMWARE下安装的RedHat5.0
二:
主要步骤
1
向linux内核中添加3G模块的驱动(USB转串口的驱动)和ppp协议的支持,重新编译下载内核。
2
对ppp-2.4.4源代码进行交叉编译。
将拨号上网所需的两个应用程序pppd和chat拷贝到开发板/usr/sbin文件夹下,将改好的脚本文件wcdma、wcdma-chat-connect、wcdma-chat-disconnect存放在/etc/ppp/peers目录下。
将含有域名解析服务器地址的文件resolv.conf拷贝到/etc目录下。
3
执行“pppdcallwcdma”命令进行拨号,进行网络测试。
三:
开发工作主要内容
下面对开发工作进行进一步细化:
1
向linux内核添加3G模块的驱动(USB转串口的驱动)和ppp协议的支持,交叉编译并下载内核到开发板。
2
交叉编译比好工作源代码ppp-2.4.4,得到pppd和chat
3
配置拨号的脚本文件
4
测试网络连接情况
四:
各项工作集体说明
1.向linux内核添加3G模块的驱动(USB转串口的驱动)和ppp协议的支持,交叉编译并下载内核到开发板。
由于linux-2.6.32.2内核支持“USBdriverforGSMandCDMAmodems”,所以不需要修改代码,只修改内核配置即可。
编译前期做如下准备:
(1)清除临时文件、中间文件和配置文件
进入内核文件目录,执行命令:
makedistclean
图1执行makedistclean命令
(2)使用内核/arch/arm/configs目录下的mini2440-defconfig文件作为配置文件,将其拷贝为内核目录下的.config文件。
图2将mini2440-defconfig作为配置文件
(3)在终端输入:
makemenuconfigARCH=arm,出现内核配置界面后选择:
DeviceDrivers---→
USBsupport---→
<*>USBSerialConvertersupport--→
[*]USBGenericSerialDriver
<*>USBdriverforGSMandCDMAmodems
具体步骤如下几幅图所示:
图3按“Enter”进入“DeviceDrivers”目录
图4按“Enter”进入“USBsupport”目录
图5按“Enter”进入“USBSerialConvertersupport”目录
图6按“Y”将“USBGenericSerialDriver”编译进内核
图7按“Y”将“USBdriverforGSMandCDMAmodems”编译进内核
到此3G模块驱动添加完成,下面进行ppp协议支持的添加(下面所示的几个选项必选)。
DeviceDrivers--→
Networkdevicesupport---→
<*> PPP (point-to-point protocol) support
[*] PPP multilink support (EXPERIMENTAL)
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
<*> PPP Deflate compression
<*> PPP BSD-Compress compression
具体步骤如下几图所示:
图8按“Enter”进入“DeviceDrivers”目录
图9按“Enter”进入“Networkdevicesupport”目录
图10选择ppp协议支持(之前所提的必选,这里全部选上)编译进内核
完成这些步骤之后,可以进行内核的交叉编译,退出makemenuconfig,输入makezImageARCH=armCROSS_COMPILE=arm-linux-,编译生成的内核映像文件位于当前内核源代码文件的/arch/arm/boot目录下,将生成的内核映像文件下载到板子上。
内核启动后,会在/dev目录下生成ppp设备节点。
如:
ls/dev/ppp-l
crw-rw---- 1root root 108, 0Jan 100:
00/dev/ppp
内核启动后,在开发板USBHOST 口插上3G模块的USB线,会有打印信息输出:
usb1-2:
newhighspeedUSBdeviceusingatmel-ehciandaddress4
usb1-2:
configuration#1chosenfrom1choice
option1-2:
1.0:
GSMmodem(1-port)converterdetected
usb1-2:
GSMmodem(1-port)converternowattachedtottyUSB0
option1-2:
1.1:
GSMmodem(1-port)converterdetected
usb1-2:
GSMmodem(1-port)converternowattachedtottyUSB1
option1-2:
1.2:
GSMmodem(1-port)converterdetected
usb1-2:
GSMmodem(1-port)converternowattachedtottyUSB2
查看设备节点ls/dev/ttyUSB*, 会发现USB虚拟成三串口,在文件系统节点如下/dev/ttyUSB0,/dev/ttyUSB1,/dev/ttyUSB2 ,这说明3G模块驱动 已经正确添加到内核当中。
我们 跟 3G 模块交互 主要用的设备节点是 /dev/ttyUSB0。
2.交叉编译好工作源代码ppp-2.4.4,得到pppd和chat
解压源代码包,进入目录,进行交叉编译,这里所用的板子的交叉编译器是:
#cd /home/ppp-2.4.4
#./configure
#make CC= arm-linux-gcc
拨号所用到的程序就是ppp-2.4.4/pppd下的pppd和ppp-2.4.4/chat下的chat可执行程序,将交叉编译出来的这两个应用程序拷贝到开发板 /usr/sbin目录下,更改其属性为可执行文件。
3.配置拨号的脚文件
拨号上网需要的配置文件有3个:
wcdma,wcdma-chat-connect,wcdma-chat-disconnect(存放位置/etc/ppp/peers)。
1)wcdma配置文件内容
#/etc/ppp/peers/cdma
#ThisispppdscriptforChinaliantong
#Usage:
root>pppdcallcdma
hide-password
noauth
connect'/usr/sbin/chat-s-v-f/etc/ppp/peers/wcdma-chat-connect'
disconnect'/usr/sbin/chat-s-v-f/etc/ppp/peers/wcdma-chat-disconnect'
debug
/dev/ttyUSB0
115200
defaultroute
noipdefault
novj
novjccomp
noccp
ipcp-accept-local
ipcp-accept-remote
local
lock
dump
nodetach
user"card"
password"card"
crtscts
remotename3gppp
ipparam3gppp
usepeerdns
2)wcdma-chat-connect配置文件内容
ABORT"BUSY"
ABORT"NOCARRIER"
ABORT"NODIALTONE"
ABORT"ERROR"
ABORT"NOANSWER"
TIMEOUT120
""AT
OK\rATZ
OK\rAT+CGDCONT=1,"IP","3gnet",,0,0
OK-AT-OKATDT*99#
CONNECT\d\c
3)wcdma-chat-disconnect配置文件内容
ABORT"ERROR"
ABORT"NODIALTONE"
SAY"\NSendingbreaktothemodem\n"
""\k"
""+++ATH"
SAY"\nGoodbay\n"
4)应用测试:
(1)连接好硬件设备。
(2)执行pppdcallwcdma,出现:
图11执行“pppdcallwcdma”
(3)通过PC机(XP操作系统)远程登录到开发板,执行ifconfig:
图12执行“ifconfig”
若出现如上所示的类似信息,说明拨号成功。
打开开发板/etc目录下的resolv.conf文件,将分配得到的两个DNS服务器地址:
10.11.12.13和10.11.12.14添加到此文件中。
vi/etc/resolc.conf,加入内容:
nameserver10.11.12.13
nameserver10.11.12.14
(4)ping外网测试
输入命令:
ping–Ippp0210.32.200.129
图13pingIP地址
输入命令:
Ping–Ippp0
图14ping网址
(5)telnet测试
输入命令:
telnet
图15telnet测试
注意:
在做的时候将ARM板子上的网线拔掉!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3G 模块 ARM 开发 实现 pppoe 拨号上网