blogernice

导航

usb_modeswitch 中文README

USB_ModeSwitch 是一个(惊人的)很小的控制"flip flop"(多重设备)USB装置的模式转换工具

 

现在一些新的USB 设备(特别是一些高速 WAN 设备,很贵的那种)都有MS Windows的驱动程序,当第一次插入机子的时候,它们处于闪存模式,并从中提取和安装驱动。在驱动安装完毕之后,驱动马上转换模式,储存设备消失(基本上都是这样的),然后一个新的设备(比如一个USB modem)出现。有些人把这个特性叫做"ZeroCD"。

 

当然,关于这些都没有任何形式的文档,也几乎没有合适的Linux 驱动。幸好很多已知设备可以在带有内核模块比如"usb-storage"或"usbserial"的Linux系统上上运行。因此我们的问题便是:如何将储存模式转换至所需模式。

 

幸运的是,我们Linuxer充分发挥我们的才智以及一些工具如:USB 嗅探程序以及"libusb"。可以通过偷听MS Windows相关驱动的通信,剥离通讯交互的动作及命令,并在Linux 里面重现。

 

USB_ModeSwitch 从配置文件中读取重要的参数并实现所有初始化以及通讯,其中必不可少的是来自"libusb"的重量级支持。这些繁杂的过程(原始方法:http://en.opensuse.org/Huawei_UMTS_USB_Stick)在 USB_ModeSwitch 的帮助下变得简单易行。从 0.9.7 版开始自带了一个成功检查的选项,节省了手动运行"lsusb"检查运行后某些变化的步骤。

 


如何安装?
=========
包含了一个编译好的x86 二进制执行文件(在奔腾 M,Ubuntu 8.10上编译)。

 

如果您需要自己编译,只需删除该二进制文件并运行"make"即可。

 

或者在Shell中输入:
>gcc -l usb -o usb_modeswitch usb_modeswitch.c

 

安装请执行"make install"(另外您需要编辑配置文件)

 

或者执行下面一些手动操作:
将编译好的或原先压缩包自带的可执行文件"usb_modeswitch"复制到您的目录(比如"/sbin"或"/usr/sbin")。

 

然后将配置文件 "usb_modeswitch.conf"复制到 "/etc"目录,并根据您的硬件进行编辑。
该配置文件有很多注释,应该可以告诉您如何去编辑。

 

另外您也可以使用执行 USB_ModeSwitch 来告知所需配置;
如需帮助请输入"usb_modeswitch -h"。
这样您就可以进行多重配置。任何除了 -W -q的命令行参数都不会读取配置文件。

 

注意:libusb 之类的工具需要根用户root身份执行。

 

posted on 2018-10-25 17:31  blogernice  阅读(694)  评论(0编辑  收藏  举报