3g modem模式切换

转载 2013年12月02日 21:15:45
主要经手了3G路由器项目的USB模式切换模块的开发和维护。3G路由器项目是随着3G在国内市场的铺开而上马的,其中的一个重点模块就是3G USB Modem的模式切换。这个问题之所以存在,是因为市面上的大多数3G USB Modem都采用了这样的工作模式:第一次接到PC上时,表现为一个CD ROM设备,在这个“伪”CD ROM上存有3G USB Modem的驱动程序,用户可以安装驱动程序,安装完成之后,3G USB Modem自动从“伪”CD ROM设备切换成Modem模式,此时就可以正常的拨号上网了。在PC上,Windows系统提供了对3G USB Modem设备自动切换设备模式的支持,但Linux并没有提供自动切换USB设备工作模式的能力,这就要求我司3G路由器具备自动切换USB设备模式的功能。

问题是:USB设备的模式切换,并不是一个标准的设备功能,各厂家的3G USB Modem实现自动模式切换的方法不一样,各种各样的方法都有,因此,尽管不可能做到兼容市场上所有的3G USB Modem,但至少需要达到的目标是:对市场上主流的3G USB Modem,都需要能支持(至少不能比竞争对手能够支持的3G USB Modem数量少)。

另一个难点是:要找出USB设备模式切换的途径,基本上只能通过逆向工程的办法来完成。这方面,网络上有一些资源可以利用:一个是SniffUSB项目,该项目提供了一个用于嗅探USB通信过程的工具;另一个项目是usb_modeswitch,该项目的目标就是要实现3G USB Modem在Linux平台下的切换。

补充一点USB的背景:USB总线协议的协议层有一点类似有线网络,是通过packet在USB设备之间完成通信和控制,这样,就可以像在网络上使用抓包工具(如wireshark, ethereal, tcpdump)捕捉网络通信的数据包一样,也可以通过特殊的工具捕捉USB设备之间的数据包,并对其进行分析。在3G路由器项目中,使用的USB抓包工具就是前面提到的SniffUSB。通过对捕捉到的通信数据包的分析,可以得到一些有可能是促成USB设备切换模式的数据包。这个时候,就轮到usb_modeswitch出场了,usb_modeswitch的作用,就是把这些可疑的数据包发送给指定USB设备,看设备是否切换模式,如果发生了,那么我们也就知道应该如何让USB设备切换模式了。

之前已经有同事完成了3G USB Modem模块的部分功能,但尚不完整,只能支持国内华为和中兴的两个3G USB Modem,我的任务是:学习SniffUSB和usb_modeswitch的工作机制,完善代码,支持更多的3G USB Modem。在此过程中,花了不少时间学习USB协议,并为SniffUSB的使用撰写了使用说明(SniffUSB使用起来是比较有挑战性的,因此需要一份文档,以便后续接手的同事有所参考)。分析数据包的阶段,我一开始是采用人肉分析的方式,一条一条地猜测,效率非常的低,后来,有一些经验之后,就总结出了一定的规律,为了减轻人工分析的负担,我编写了Python脚本以辅助分析。

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

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

3G USB modem 驱动移植总结

http://wenku.baidu.com/view/ecac6309bb68a98271fefa51.html 1. 背景知识 现在一些新的USB 设备(特别是一些高速 WAN 设备,很贵...

How to add 3G modem in Sabresx board

How to add 3G modem in Sabresx board 由 waterzhou 在 2014-6-30 上午2:05 上创建,最后由 waterzhou 在 2014-...
  • jack_a8
  • jack_a8
  • 2015年01月25日 18:25
  • 1310

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

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

(一) Porting USB 3G MODEM to Android

由于prima2 本身不带有3G modem 模块,所以调试模块使用的是Huawei USB接口的无线上网卡,Huawei E1780,如其他型号Huawei E1750等都是兼容的。目前大多数3G无...

wifi和3G网络切换

  • 2013年09月02日 14:20
  • 1012KB
  • 下载

3G网卡在开发板上使用(模式转换)

原文地址::http://blog.csdn.net/zhanghaijin0911/article/details/6232564     从开学到现在一直在弄3G的驱动,其实驱动是内核自...

Android实现3G类usb模式自动转换

环境系统:Android-2.3  板子:友善之臂提供s3c6410当一个新的usb插入时,内核会发送一个uevent时间。上层接收到后,做出相应的处理。如:我使用的为HuaWei ET127的3G网...
  • maeom
  • maeom
  • 2011年07月04日 17:09
  • 4826

android网络类型之2G-3G切换

在android手机‘设置’-‘移动网络类型’里可以看到有关网络类型的选项,一般默认为3G优先。  如果有需要在程序中切换网络类型的朋友,不妨试试下面的方法。这里提供了几种思路,虽然可能对待  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3g modem模式切换
举报原因:
原因补充:

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