- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux内核驱动之网络驱动(一)3G驱动移植概要1
一 开发环境简介
内容 说明 3G模块 华为EM820W(WCDMA) 3G SIM 中国联通3G卡 嵌入式linux版本 Linux-2.6.37 主机开发环境 Ubutun 10.04
二 主要步骤
1 向linux内核中添加3G模块驱动(USB转串口的option驱动)和ppp网络协议的支持 2 交叉编译ppp-2.4.4源代码
将拨号上网所需的两个应用程序pppd和chat拷贝到开发板/usr/sbin文件夹下,编写ppp拨号脚本wcdma、wcdma-chat-connect、wcdma-chat-disconnect/etc/ppp/peers目录下。将DNS写入到/etc/resolv.conf文件中 3 执行“pppd call wcdma”命令进行拨号
三 配置3G模块驱动和ppp网络协议栈
首先进入make menuconfig界面
1 配置3G模块驱动
图 1
如上图1首先选择Device Drivers
图2
如上图2进入USB support
图 3
进入USB support之后一直往下直到找到上图3并选择USB转串口
图4
最后选择USB driver for GSM and CDMA modems到此3G卡驱动已经添加完毕主要是添加了driver/usb/serial/option.c和driver/usb/serial/usb_wwan.c
两个文件,尽管驱动添加了,但是这仅仅只是一个usb转串口驱动,并不能作为网络设备直接使用,此时就需要ppp网络协议的支持,他将ttyUSB*等设备模拟成网络设备使用也即(/dev/ttyUSB0----ppp0)
2 添加ppp协议
同样也是进入make menuconfig界面
图5
首先同样也是进入驱动配置界面Device Drivers
图6
如上图6选择网络设备支持
图7
如上图7选择ppp
到这一步驱动和协议就都已经配置成功了接下来就是编译下载到板子登入到linux, dmesg查看内核打印信息
图8
同时查看/dev/目录下已经创建了
/dev/ttyUSB0,/dev/ttyUSB1,/dev/ttyUSB2,/dev/ttyUSB3,/dev/ttyUSB4,/dev/ttyUSB5
/dev/ppp等7个设备文件表明内核正确识别了EM820W3G模块
四 编写ppp拨号脚本
由于该拨号脚本需要使用chat,pppd,等命令,所以需要下载ppp-2.4.4
下载成功之后首先便是编译
1 编译 ppp-2.4.4
./configure
make CC=arm-none-linux-gnueabi-gcc
编译成功后将编译生成的chat,pppd,pppdump等命令拷贝到板子文件系统的/usr/sbin目录下边去
2 编写拨号脚本
在板子文件系统/etc/ppp/peers目录下边创建三个文件如下
wcdma,chat-wcdma-connect,chat-wcdma-disconnect
wcdma配置文件内容
debug
nodetach
/dev/ttyUSB0
115200
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect /usr/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-connect
disconnect /usr/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-disconnect
wcdma-chat-connect配置文件内容
TIMEOUT 5
ABORT NO CARRIER
ABORT ERROR
ABORT NO DIALTONE
ABORT BUSY
ABORT NO ANSWER
\rAT
OK \rATZ
OK \rAT+CGDCONT=1,IP,3GNET,,0,0
OK-AT-OK ATDT*99#
CONNECT \d\c
wcdma-chat-disconnect配置文件内容
ABORT ERROR
ABORT NO DIALTONE
SAY \nSending break to the modem\n
\K
+++ATH
SAY \nGoodbay\n
五 设置EM820W使能
在拨号之前EM820W模块,需要先设置、
SW state和HW state(W_DISABLE#) 都为使能
首先设置Ha
原创力文档


文档评论(0)