如何在Windows上确定USB端口版本?

时间:2017-02-10 13:32:13

标签: python windows usb

我正在运行Windows 7和Python 3.5。 一旦USB棒连接,我的目标是确定它连接到哪个端口版本(2.0,3.0,3.1)以及USB棒支持的USB版本。 任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:1)

您应该查看Microsoft的USBView

它使用Windows API获取有关每个USB端口和每个设备的信息并显示它。此信息包括USB端口支持的速度和设备使用的速度。

您可以将其作为GUI运行,也可以使用这样的参数运行它,使其将数据保存到文本文件中:

usbview /saveall:usb.txt

以下是文本输出的片段,显示您对我的USB耳机感兴趣的信息:

Is Port User Connectable:         yes
Is Port Debug Capable:            no
Companion Port Number:            1
Companion Hub Symbolic Link Name: USB#VID_0451&PID_8046#5&16bdd27b&0&22#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
 USB 1.1:                         yes
 USB 2.0:                         yes
 USB 3.0:                         no

Device Power State:               PowerDeviceD0

       ---===>Device Information<===---
English product name: "Logitech G930 Headset"

ConnectionStatus:
Current Config Value:              0x01  -> Device Bus Speed: Full (is not SuperSpeed or higher capable)
Device Address:                    0x09
Open Pipes:                           1

USBView是开源的,甚至还有一个MSYS2包,所以你可以在不编译的情况下试用它。您也许可以从Microsoft找到预编译的二进制文件。

最简单的路径可能是从Python程序运行USBView并解析其文本输出。另一个选择是查看source code for USBView并以某种方式将其转换为Python或从中创建Python C扩展。