Linux基础入门--网络工具--usb_modeswitch

Linux基础入门--网络工具--usb_modeswitch

1.概述

控制“多状态”USB设备的模式。一些新的USB设备有他们的专有Windows驱动板,其中大多数是WWAN和WLAN加密狗。当第一次插入时,它们就像一个闪存,并从那里开始安装Windows驱动程序。如果驱动程序已经安装,它会使存储设备消失,并显示一个新设备(主要是与调制解调器端口组合)。在Linux上,大多数情况下驱动程序作为内核模块可用,如“usbserial”或“option”。但是,设备最初默认绑定到“usb存储”。然后usb_modeswitch可以向设备发送提供的批量消息(很可能是一个大容量存储命令);此消息必须通过分析Windows驱动程序的动作来确定。在某些情况下,USB控制命令用于切换。这些情况由自定义函数处理,不需要提供批量消息。通常,程序是通过一组针对许多已知设备的配置来分发的,这允许在插入时对设备进行完全自动的处理,这可以通过将usb_modeswitch与udev守护进程启动的包装器脚本usb_modeswitch_dispatcher结合起来实现。注意,usb_modeswitch本身没有特定的Linux依赖项。

2.语法

usb_modeswitch [-heWQDIvpVPmM23rwKdHSOBGTNALnsRiuagft] [-c filename]

3.选项

选项 含义
-h --help 显示选项摘要
-e --version 打印版本信息并退出
-v --default-vendor NUM 要查找的Vendor ID(强制),通常以十六进制数字的形式给出(例如:0x12d1)。每个USB设备由一个编号被指定给供应商由USB协会和一个编号为各自的模型(Product ID)被供应商选择
-p --default-product NUM 要查找的Product ID(必须)
-V --target-vendor NUM 目标Vendor ID。当给定时,将搜索和检测最初为信息目的。如果成功检查(选项-s)是活动的,建议提供目标id(Vendor/Product)或目标类
-j --find-mbim 返回配置编号与MBIM接口和退出
-P --target-product NUM 目标Produnct ID
-b --bus-num NUM 总线编号
-g --device-num NUM 如果bus和设备号码被提供,在一个特定的USB端口上的一个特定设备的处理是有保证的,相比之下只使用USB ID。这是重要的,如果在一个系统上有多个类似的设备
-C --target-class NUM 根据USB规范的目标设备类。有些设备在切换成功后仍保留原来的Vendor/Product ID。为了防止它们再次被处理,可以检查device类。对于未切换的设备,它总是8(存储类),对于切换的调制解调器,它通常是0xff(特定于供应商)。在复合模式中,观察第一个接口的类
-m --message-endpoint NUM 用于数据传输的特定端点。只作测试用途;通常端点由设备属性决定
-M --message-content STRING 作为交换命令发送的批量消息。以十六进制字符串的形式提供
-2, -3 --message-content2, --message-content3 STRING 作为交换命令发送的其他批量消息。以十六进制字符串的形式提供。当与大容量存储命令一起使用时,强烈建议set -need-response符合规范并避免可能出现的错误
-w --release-delay NUM 在发出所有批量消息之后,在释放接口之前等待NUM毫秒。对于旧系统上的某些调制解调器(特别是在弹出消息后)是必需的
-n --need-response 读取对大容量存储命令传输的响应(命令状态包装器)。如果没有读取响应,一些设备在切换时有困难;大多数设备会立即消失。当发送带有-2和-3的多个大容量存储命令时,可能需要设置此选项以避免传输错误
-r --response-endpoint NUM 如果选项-n是活动的,尝试从那里读取对存储命令的响应。只作测试用途;通常端点由设备属性决定
-K --std-eject 应用标准的SCSI序列“允许介质删除”和“弹出”。意味着- n。一个“消息”可以添加-M,它将在弹出序列之后传输
-d --detach-only 只需分离当前驱动程序。对于一些早期设备成功切换来说,这已经足够了。否则,这个特性可以用作特殊情况下的“手术刀”,比如将驱动程序从单独的接口中分离出来
-H --huawei-mode 发送华为老式设备使用的特殊控制信息
-J --huawei-new-mode 发送一个特定的批量消息,所有新的华为设备都使用
-S --sierra-mode 发送一个由Sierra设备使用的特殊控制消息
-G --gct-mode 发送GCT芯片组使用的特殊控制消息
-T --kobil-mode 发送Kobil设备使用的特殊控制信息
-N --sequans-mode 发送一个特殊的控制信息使用Sequans芯片组
-A --mobileaction-mode 发送一个由移动操作设备使用的特殊控制消息
-B --qisda-mode 发送一个特殊的控制消息使用Qisda设备
-E --quanta-mode 发送量子设备使用的特殊控制信息
-F --pantech-mode NUM 发送由Pantech设备使用的特殊控制信息。值NUM将作为“wValue”在控制消息中使用
-Z --blackberry-mode 发送一些较新的黑莓设备使用的特殊控制信息
-O --sony-mode 采用索尼爱立信设备使用的特殊序列。意味着选择——check-success
-L --cisco-mode 发送一系列由思科设备使用的批量消息
-R --reset-usb 发送USB复位命令到设备。可与任何切换方式组合或单独使用。它总是作为所有设备交互的最后一步来完成。很少有设备需要它来完成切换;除此之外,它在测试期间也很有用
-c --config-file FILENAME 使用特定的配置文件。如果在命令行参数中提供了任何ID或切换选项,则忽略该选项。在这种情况下,必须在命令行上提供所有强制参数
-f --long-config STRING 在配置文件语法中以命令行多行字符串的形式提供设备详细信息
-t --stdinput 在配置文件语法中从标准输入读取设备细节,例如从命令管道重定向(多行文本)
-Q --quiet 不要显示进度或错误消息
-W --verbose 在运行之前打印所有设置并显示libusb调试消息
-D --sysmode 稍微改变程序的行为。发出一条包含有效目标设备ID的成功消息,并发出系统slog通知。主要用于与包装器脚本集成
-s --check-success NUM 切换后,继续检查结果,直到最大。NUM秒。如果提供了目标id或目标类,则它们的出现表明一定成功。否则,原设备的断开被视为可能的证据
-I --no-inquire 不要从设备获取SCSI属性(默认为on)。为了正确识别不同的设备,存储部分的属性提供了有价值的信息。对于已知和受支持的设备来说,这是不需要的
-i --interface NUM 选择初始USB接口(默认为0)。仅用于测试目的
-u --configuration NUM 选择USB配置(应用于任何其他可能的切换操作之后)
-a --altsetting NUM 选择备用USB接口设置(切换后应用)。主要用于测试

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

猜你喜欢

转载自blog.csdn.net/qq_20677327/article/details/107950948