windodws pyusb hub端口对应连接的usb设备

Posted jiangyibo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windodws pyusb hub端口对应连接的usb设备相关的知识,希望对你有一定的参考价值。

源码:

 1 #!/usr/bin/python
 2     import sys
 3     import usb.core
 4     # find USB devices
 5     dev = usb.core.find(find_all=True)
 6     # loop through devices, printing vendor and product ids in decimal and hex
 7     for cfg in dev:
 8         if cfg.idVendor == 0x2207:
 9             print(str(cfg.serial_number))        # 之前就是这里报错
10             print(str(cfg.port_number))
11             sys.stdout.write(Decimal VendorID= + str(cfg.idVendor) + & ProductID= + str(cfg.idProduct) + 
)
12             sys.stdout.write(Hexadecimal VendorID= + hex(cfg.idVendor) + & ProductID= + hex(cfg.idProduct) + 

)

遇到的问题:

通过pyusb打印出usb设备的所有属性,发现关于serial_number的属性发生了异常,异常如下:
‘Traceback (most recent call last):
File "D:\Program Files\JetBrains\PyCharm 2019.3.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_resolver.py", line 178, in _getPyDictionary
attr = getattr(var, n)
File "D:\Program Files\Python37\lib\site-packages\usb\core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File "D:\Program Files\Python37\lib\site-packages\usb\util.py", line 314, in get_string
raise ValueError("The device has no langid")
ValueError: The device has no langid

 

解决办法:

通过zadig软件安装libusb-win32,libusbk

 

问题分析:

https://stackoverflow.com/questions/58131082/simple-communication-usb-with-python-pyusb-on-windows-10
https://sourceforge.net/p/pyusb/mailman/pyusb-users/?viewmonth=201608

以上是关于windodws pyusb hub端口对应连接的usb设备的主要内容,如果未能解决你的问题,请参考以下文章

Windows 上的 Pyusb - 没有可用的后端

随笔三

TYPE-C HUB拓展坞方案拆解

两台电脑建立vpn连接

USB枚举过程

用wireshark抓包,要用HUB还是交换机?两者有啥区别?