嵌入式Linux下3G原理

转载 2013年12月06日 10:58:56

传统3G上网卡几乎都采用modem形式,支持usb插口。通过usb指令转串口指令发给modem实现modem初始化并实现上网.
由此可以考虑在linux下实现usb指令到串口指令转换的驱动以驱动modem实现上网,各个平台的linux内核中都有usbserial
模块,该模块是可以驱动modem上网的,因此可以考虑使用usbserial模块驱动3G网卡上网。虽然3G上网卡没有类似
windows系统的应用软件以实现modem初始化.但是可以在linux系统下使用pppd、wvdial等应用软件实现modem的初始化,
其中wvdial是目前被广泛采用的应用软件。

上网卡架构:



Modem(中文名字是调制解调器),它由发送、接收、控制、接口、操纵面板及电源等部分组成。数据终端设备以二进制
串行信号形式提供发送的数据,经接口转换为内部逻辑电平送入发送部分,经调制电路调制成线路要求的信号向线路发送.接
收部分接收来自线路的信号,经滤波、反调制、电平转换后还原成数字信号送入数字终端设备。

 

Linux下3G上网的基本原理:

根据3G上网流程图图2,主要做了如下:[作:将双模式的3G网卡转换成modem模式,使用了eject指令或usb modeswitch
软件,其中使用usb modeswitch需要配置usb modeswitch.conf文件

(1)模式转换的实现

  当今流行的无线上网卡(CDMA,TD-SCDMS等)具有两种模式(U盘模式。Modem模式),插入PC时系统首先将其识别
为Usb Storage设备,在Windows安装驱动以后,U盘自动消失转成Modem:而在linux下没有类似驱动,就需要仿照Windows
的流程进行模式转换。

 模式转换有两种方法:eject命令的方法或者使用usb _modeswitch软件

方法一:通过eject弹出Usb Storage设备
 
       有些上网卡,例如DTM573l,可以使用指令:#eject/dev/scdO弹出Usb Storage设备,然后使用指令:

       #cat /proc/bus/usb/device就发现原来的5700设备已经没有了,出现了一个573l设备,说明通过eject已经成功进行了模武转换。
方法二.通过usb modeswitch软件进行模式转换
有些上网卡通过eject命令不能转换,这时就需要使用usb modeswiteh软件。usb modeswitch软件是一种实现modem模式
转换的软件.该软件使用便捷,安装该软件后,唯一需要做的就是配置usb modeswitch.conf文件。因为在linux下没有类似
windows下那样的驱动与应用软件,这就需要通过截取指令来完成linux系统下的模式转换。sniffusb软件可以截取windows下
3G网卡的模式转换指令。sniffusb软件是抓取usb口数据的应用软件,通过该软件可以抓取windows下usb3G.I二网网卡的模式
转换指令,该指令在linux—F同样可以用,可以用该指令配置usb modeswitch.conf文件。

(2)2驱动通用实现方法和拨号实现

  各个平台下linux内核中都有usbserial模块,它们都实现同样的驱动modem功能,选择该模块保证了所有平台下都可以用同样
方法实现驱动modem并上网。

具体实现:

 第一步:加载驱动模块
#modprobe usbserial vendor=Oxlab7 product=0x573l
Vendor,Product是modem模式下设备的设备ID号,vendor是usb的制造商ID,product是usb产品ID。可以通过如下方
法获得:指令#cat/proc/bus/usb/devices或者指令撑Isusb.
第二步:拨号上网

 

可以使用pppd+chat+call script

嵌入式Linux下3G原理

传统3G上网卡几乎都采用modem形式,支持usb插口。通过usb指令转串口指令发给modem实现modem初始化并实现上网. 由此可以考虑在linux下实现usb指令到串口指令转换的驱动以驱动mo...
  • Hens007
  • Hens007
  • 2012年02月13日 16:52
  • 3345

嵌入式Linux下3G原理

传统3G上网卡几乎都采用modem形式,支持usb插口。通过usb指令转串口指令发给modem实现modem初始化并实现上网. 由此可以考虑在linux下实现usb指令到串口指令转换的驱动以驱动mo...

嵌入式Linux下3G USB Modem的使用

一.ARM-Linux ARM-Linux-2.6.17 3G USB Modem:huaweiE220(WCDMA),huaweiEC156(EVDO) arm-linux至少需要支持usb ...

嵌入式linux下 华为E353模块3G自动上网配置

相关软件:  usb_modeswitch
  • houxn22
  • houxn22
  • 2014年08月08日 15:14
  • 1259

嵌入式linux下3G上网卡移植

传统3G上网卡几乎都采用modem形式,支持usb插口。通过usb指令转串口指令发给modem实现modem初始化并实现上网.  由此可以考虑在linux下实现usb指令到串口指令转换的驱动以驱动m...

嵌入式Linux下3G无线上网卡的驱动【DM365+EC189】

环境:硬件:合众达DVS365开发板,芯片DaVinci DM365.电信华为EC189的3G无线上网卡。软件:TI定制的嵌入式arm-linux,内核版本2.6.18.简介:由于3G无线上网卡工作模...
  • drf1234
  • drf1234
  • 2011年03月18日 17:12
  • 2157

友善之臂Micro2440嵌入式Linux下实现华为EC189 电信3G拨号上网方法

很久没有更新日志了。发一篇技术贴,希望能给需要的人提供参考。由于时间仓促,难免有错误,恳请大家批评指正,我会及时修改。您真诚的回复是我共享经验的动力。3ks! 嵌入式环境: 内核:...
  • TH1019
  • TH1019
  • 2012年02月23日 08:33
  • 2495

嵌入式Linux下3G USB Modem的使用

busybox中需打开:wc,pidof; busybox中shell下打开getopts 百度搜索“Serial connection established. using chan...

嵌入式Linux下使用3G卡上网

                                                   嵌入式Linux下使用3G卡上网[日期:2011-01-06] 来源:Linux社区  作者:Li...

ARM平台嵌入式Linux下使用3G/4G 模块

简介 随着工业发展,嵌入式设备接入网络的需求日益增多,在没有有线或者无线以太网的环境下,直接通过3G/4G Modem连接运营商网络来接入互联网不失为一个好方法,本文就着重介绍基于ARM平台的嵌...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式Linux下3G原理
举报原因:
原因补充:

(最多只允许输入30个字)