【发布时间】:2018-10-23 15:29:16
【问题描述】:
OS X \ Python 2.7.15配备USB扫描仪:
user$ lsusb | grep Metrologic
Bus 250 Device 005: ID 0c2e:9a6c 0c2e Metrologic Scanner
The python statement that attempts to open the HID device:
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 failed
HID 设备使用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
问题
- 此处是否有足够的信息来诊断故障,或者是否需要执行其他测试来诊断故障?
- h.open() 参数是否不正确?
- 接下来的诊断和纠正步骤/策略是什么?
感谢您提出任何诊断问题,并将回复更新到原始帖子。
【问题讨论】:
标签: python-2.7 osx-yosemite barcode-scanner hid