OS \Python2.7.15配备了USB扫描仪:
user$ lsusb | grep Metrologic
Bus 250 Device 005: ID 0c2e:9a6c 0c2e Metrologic Scanner h.open(0x0c2e, 0x9a6c) # METROLOGIC VendorID/ProductID生成错误消息:
user$ python2 test5.py
Traceback (most recent call last):
File "test5.py", line 46, in <module>
h.open(0x0c2e, 0x9a6c) # METROLOGIC VendorID/ProductID
File "hid.pyx", line 66, in hid.device.open
IOError: open failedHID设备使用Python HIDAPI进行枚举。
### enumerate USB devices
for d in hid.enumerate():
keys = list(d.keys())
keys.sort()
for key in keys:
print("%s : %s" % (key, d[key]))
print()并返回目标HID设备信息:
interface_number : -1
manufacturer_string : Metrologic
path : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/EHC2@1A,7/EHC2@fa000000/PRT1@fa100000/IOUSBHostDevice@fa100000/AppleUSB20InternalHub@fa100000/PRT3@fa130000/Metrologic Scanner@fa130000/IOUSBHostInterface@0/IOUSBHostHIDDevice@fa130000,0
vendor_id : 3118
product_id : 39532
product_string : Metrologic Scanner
release_number : 21574
serial_number :
usage : 6
usage_page : 1尝试使用十进制(而不是十六进制)参数打开HID设备:
h.open(3118,39532) # METROLOGIC VendorID/ProductID也失败了:
user$ python2 test5.py
Traceback (most recent call last):
File "test5.py", line 47, in <module>
h.open(3118,39532) # METROLOGIC VendorID/ProductID
File "hid.pyx", line 66, in hid.device.open
IOError: open failed问题
任何诊断问题将不胜感激,并将回复将更新到原来的公告。
发布于 2018-08-13 07:34:43
我也遇到了同样的问题,但在谷歌搜索后,我发现了这个论坛。切换到根用户解决了我的问题。也许你没有得到足够的许可。
发布于 2019-01-29 13:33:53
使用尝试键入sudo python2 test5.py :用户$sudo python2 test5.py
发布于 2021-02-06 03:19:52
我也遇到过同样的问题。
显然你需要添加一个udev规则
在/etc/udev/rules/99-my-device.rules中
SUBSYSTEM=="usb", ATTRS{idVendor}=="04d8", MODE="0666", GROUP="plugdev"注意:您可能需要更新VID编号以匹配您的情况。
https://stackoverflow.com/questions/50322382
复制相似问题