出于测试目的,我想连接一个 USB 设备并想检查速度是多少(HS/FS/LS)。我可以访问设备描述符、端点描述符、接口描述符,但我想知道操作系统分配的设备地址(windows 7)
到目前为止我的代码:
import usb
busses = usb.busses()
for bus in busses:
for dev in bus.devices:
if dev.idVendor == vendor_id and dev.idProduct == product_id:
print ("Test vehicle %s device FOUND!" %protocol)
print ("iManufacturer : %s" %usb.util.get_string(dev.dev, 256, 1))
print ("iProduct : %s" %usb.util.get_string(dev.dev, 256, 2))
print ("iSerialNumber : %s" %usb.util.get_string(dev.dev, 256, 3))
return dev
print ("Test vehicle %s device NOT FOUND!" %protocol)
返回:
C:\Python27\Lib\site-packages>python example.py
Test vehicle HS device FOUND!
iManufacturer : Kingston
iProduct : DataTraveler 2.0
iSerialNumber : 5B720A82364A
在非常有用的 USBview 软件中,有一段:
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: High
Device Address: 0x09
Open Pipes: 2
我如何获得这些信息?是否使用 pyUSB 对 USB 设备进行查询?还是对 sys 的查询?
谢谢你的帮助。