3G模块在ARM开发板上实现ppp拨号上网.docx
-
资源ID:3147478
资源大小:39.09KB
全文页数:7页
- 资源格式: DOCX
下载积分:6.99金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
3G模块在ARM开发板上实现ppp拨号上网.docx
3G模块在ARM开发板上实现ppp拨号上网3G模块驱动运用开发总结 一:开发环境简述 内容 3G模块 3G SIM卡 嵌入式开发板 核心CPU 嵌入式linux版本 主机开发环境 说明 华为EM770W 中国联通3G卡 友善之臂Mini2440 S3C2440 Linux-2.6.32.2 VMWARE下安装的Red Hat5.0 二:主要步骤 1 2 向linux内核中添加3G模块的驱动和ppp协议的支持,重新编译下载内核。 对ppp-2.4.4源代码进行交叉编译。 将拨号上网所需的两个应用程序pppd和chat拷贝到开发板/usr/sbin文件夹下,将改好的脚本文件wcdma、wcdma-chat-connect、wcdma-chat-disconnect存放在/etc/ppp/peers目录下。将含有域名解析服务器地址的文件resolv.conf拷贝到/etc目录下。 执行“pppd call wcdma”命令进行拨号,进行网络测试。 3 三:开发工作主要内容 下面对开发工作进行进一步细化: 1 向linux内核添加3G模块的驱动和ppp协议的支持,交叉编译并下载内核到开发板。 交叉编译比好工作源代码ppp-2.4.4,得到pppd和chat 配置拨号的脚本文件 测试网络连接情况 2 3 4 四:各项工作集体说明 1. 向linux内核添加3G模块的驱动和ppp协议的支持,交叉编译并下载内核到开发板。 由于linux-2.6.32.2内核支持“USB driver for GSM and CDMA modems”,所以不需要修改代码,只修改内核配置即可。 编译前期做如下准备: 清除临时文件、中间文件和配置文件 进入内核文件目录,执行命令:make distclean 图1 执行make distclean命令 使用内核/arch/arm/configs目录下的mini2440-defconfig文件作为配置文件,将其拷贝为内核目录下的.config文件。 图2 将mini2440-defconfig作为配置文件 在终端输入:make menuconfig ARCH=arm,出现内核配置界面后选择: Device Drivers- USB support- <*>USB SerialConverter support- *USB Generic Serial Driver <*>USB driver for GSM and CDMA modems 具体步骤如下几幅图所示:图3 按“Enter”进入“Device Drivers”目录 图4 按“Enter”进入“USB support”目录 图5 按“Enter”进入“USB SerialConverter support”目录 图6 按“Y”将“USB Generic Serial Driver”编译进内核 图7 按“Y”将“USB driver for GSM and CDMA modems”编译进内核 到此3G模块驱动添加完成,下面进行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 <*> PPP Deflate compression <*> PPP BSD-Compress compression 具体步骤如下几图所示: 图8 按“Enter”进入“Device Drivers”目录 图9 按“Enter”进入“Network device support”目录 图10 选择ppp协议支持编译进内核 完成这些步骤之后,可以进行内核的交叉编译,退出make menuconfig,输入make zImage ARCH=arm CROSS_COMPILE=arm-linux-,编译生成的内核映像文件位于当前内核源代码文件的/arch/arm/boot目录下,将生成的内核映像文件下载到板子上。 内核启动后,会在/dev目录下生成ppp设备节点。如: ls /dev/ppp -l crw-rw- 1 root root 108, 0 Jan 1 00:00 /dev/ppp 内核启动后,在开发板USB HOST 口插上3G模块的USB线,会有打印信息输出: usb 1-2: new high speed USB device using atmel-ehci and address 4 usb 1-2: configuration #1 chosen from 1 choice option 1-2:1.0: GSM modem (1-port) converter detected usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0 option 1-2:1.1: GSM modem (1-port) converter detected usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1 option 1-2:1.2: GSM modem (1-port) converter detected usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2 查看设备节点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。 1) wcdma配置文件内容 #/etc/ppp/peers/cdma # This is pppd script for China liantong # Usage: root>pppd call cdma 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 remotename 3gppp ipparam 3gppp usepeerdns 2) wcdma-chat-connect配置文件内容 ABORT "BUSY" ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" TIMEOUT 120 "" AT OK rATZ OK rAT+CGDCONT=1,"IP","3gnet",0,0 OK-AT-OK ATDT*99# CONNECT dc 3) wcdma-chat-disconnect配置文件内容 ABORT "ERROR" ABORT "NO DIALTONE" SAY "NSending break to the modemn" ""k" ""+ATH" SAY "nGood bayn" 4) 应用测试: 连接好硬件设备。 执行pppd call wcdma,出现: 图11 执行“pppd call wcdma” 通过PC机远程登录到开发板,执行ifconfig: 图12 执行“ifconfig” 若出现如上所示的类似信息,说明拨号成功。打开开发板/etc目录下的resolv.conf文件,将分配得到的两个DNS服务器地址:10.11.12.13和10.11.12.14添加到此文件中。 vi /etc/resolc.conf,加入内容: nameserver 10.11.12.13 nameserver 10.11.12.14 ping外网测试 输入命令:ping I ppp0 210.32.200.129 图13 ping IP地址 输入命令:Ping I ppp0 图14 ping网址 telnet测试 输入命令:telnet 图15 telnet测试 注意: 在做的时候将ARM板子上的网线拔掉!