Huawei E180 3G模块驱动应用

19 篇文章 1 订阅


(2011-12-12 15:48:30)
转载
标签:

杂谈

分类: 嵌入式技术
一、环境

3G modem:

Huawei E180(WCDMA)

3G SIM Card:

China Unicom 3G Card(WO)

CPU/Board

FSL P1022DS RevC board

Linux:

Linux-2.6.35


二、步骤

1.

向linux内核中添加3G模块的驱动(USB转串口的驱动)和PPP协议的支持

2.

下载ppp-2.4.5源码并进行交叉编译(toolchian:powerpc-linux-)。

将拨号上网所需的两个应用程序pppd和chat拷贝到开发板/usr/sbin文件夹下。

将改好的脚本文件ppp-on,ppp-on-dialer存放在/etc/ppp目录下。

将含有域名解析服务器地址的文件resolv.conf拷贝到/etc目录下。

3.

进入 /etc/ppp 目录 ,执行 ./ppp-on。 进行网络测试


三、具体工作
1. 向linux内核添加3G模块的驱动(USB转串口的驱动)
  由于Linux-2.6.35内核支持“USBdriver for GSM and CDMA modems”,所以只需内核配置即可:
  Device Drivers --->
                      <*>    USBSerial Converter support  --->
                      <*>    USBdriver for GSM and CDMA modems
      内核启动后,在P1022DSUSB HOST1口插上3G模块,打印信息如下:

usb 1-1: new high speed USB device using fsl-ehci and address3

usb 1-1: New USB device found, idVendor=12d1,idProduct=1001

usb 1-1: New USB device strings: Mfr=3, Product=2,SerialNumber=0

usb 1-1: Product: HUAWEI Mobile

usb 1-1: Manufacturer: HUAWEI Technology

option 1-1:1.0: GSM modem (1-port) converter detected

usb 1-1: GSM modem (1-port) converter now attached tottyUSB0

option 1-1:1.1: GSM modem (1-port) converter detected

usb 1-1: GSM modem (1-port) converter now attached tottyUSB1

option 1-1:1.2: GSM modem (1-port) converter detected

usb 1-1: GSM modem (1-port) converter now attached tottyUSB2

scsi7 : usb-storage 1-1:1.3

scsi8 : usb-storage 1-1:1.4

scsi 7:0:0:0: CD-ROM           HUAWEI   MassStorage    2.31 PQ: 0 ANSI: 2

sr0: scsi-1 drive

Uniform CD-ROM driver Revision: 3.20

sr 7:0:0:0: Attached scsi generic sg1 type 5

scsi 8:0:0:0: Direct-Access    HUAWEI   SDStorage      2.31 PQ: 0 ANSI: 2

sd 8:0:0:0: Attached scsi generic sg2 type 0

sd 8:0:0:0: [sdb] Attached SCSI removabledisk 


 查看设备节点ls/dev/tty*, 会发现USB生成三个串口设备:/dev/ttyUSB0,/dev/ttyUSB1, /dev/ttyUSB2 ,这说明3G模块驱动已经正确添加到内核当中,与3G模块交互主要用的设备节点是/dev/ttyUSB0。


2. 向Linux内核中添加PPP协议的支持
  Device Drivers ---> Net 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  

内核运行后,会在/dev/目录下产生ppp设备节点

ls /dev/ppp -l

crw-rw----   1 root    root    108,   0Jan  1 00:00/dev/ppp


3. 交叉编译拨号上网需要的拨号工具pppd和chat
   下载 ppp-2.4.5 源码包 , 交叉编译生成拨号所需的 pppd chat 这两个程序 解压源代码包 , 进入目录 , 进行交叉编译 , 这里所用的板子的交叉编译器是 powerpc-linux-

#cd ppp-2.4.5
#./configure
#make CC= /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc

  拨号所用到的程序就是 ppp-2.4.5/pppd/ 下的 pppd, ppp-2.4.5/chat/ 下的 chat 程序。 将交叉编译出来的这两个应用程序 拷贝到开发板/usr/sbin文件夹下,更改其属性为可执行文件。

4. 配置拨号脚本文件
    拨号上网需要的两个配置文件ppp-on,ppp-on-dialer (存放位置/etc/ppp)。
  1) ppp-on配置文件的内容

# These are the parameters. Change as needed.

TELEPHONE=*99#   # The telephone number for the connection

ACCOUNT=         # The account name for logon (as in 'George Burns')

PASSWORD=        # The password for this account (and 'Gracie Allen')

LOCAL_IP=0.0.0.0  # Local IP address ifknown. Dynamic = 0.0.0.0

REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally0.0.0.0

NETMASK=255.255.255.0   #The proper netmask if needed

 

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

 

exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyUSB0 115200\

       asyncmap 20A0000 escape FF kdebug 4 $LOCAL_IP:$REMOTE_IP\

      noipdefault netmask $NETMASK defaultroute connect$DIALER_SCRIPT


2) ppp-on-dialer配置文件的内容:

#!/bin/sh

exec chat -v \

TIMEOUT 5 \

ABORT  "BUSY" \

ABORT  "ERROR" \

ABORT   "NOCARRIER" \

'' \rAT  \

OK 'AT+CGDCONT=1,"IP","3GNET"' \

OK  'ATDT*99#'  \

CONNECT '' \


3) 设置正确的域名解析服务器地址
  联通北京地区3G域名解析服务器地址是202.106.195.68和202.106.46.151,将他们加入开发板文件/etc/resolv.conf中:

nameserver 202.106.195.68

nameserver 202.106.46.151


5. 应用测试
    1) 连接好Huawei E180 3Gmodem
    2)进入/etc/ppp目录,执行./ppp-on
    3) 执行ifconfig可以看到下列信息

ppp0     Link encap:Point-to-Point Protocol

         inet addr:172.17.163.57 P-t-P:10.64.64.64 Mask:255.255.255.255

         UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

         RX packets:8 errors:0 dropped:0 overruns:0 frame:0

         TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:3

         RX bytes:158 (158.0 b)  TX bytes:209 (209.0b)

从而可以知道本地IP地址是172.17.163.57。
    4) 可以ping外网地址,如百度
              ping 61.135.169.105
              ping www.baidu.com
    5)也可以从外网上下载任何资源,如下载u-boot源码
              wgetftp://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值