Устранение неполадок Python HIDAPI: ошибки open () - PullRequest
0 голосов
/ 14 мая 2018

OS X \ Python 2.7.15 оснащен USB-сканером:

user$ lsusb | grep Metrologic
Bus 250 Device 005: ID 0c2e:9a6c 0c2e Metrologic Scanner 

Оператор python, пытающийся открыть устройство HID:

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

ВОПРОСЫ

  1. Достаточно ли здесь информации для диагностики или необходимо выполнить другой тест для диагностики сбоя?
  2. Не верны ли аргументы h.open ()?
  3. Каковы следующие шаги / стратегия для диагностики и исправления?

Любые диагностические вопросы приветствуются, и ответы будут обновляться до исходного сообщения.

Ответы [ 2 ]

0 голосов
/ 29 января 2019

используйте попытку набрать sudo defore python2 test5.py как это : пользователь $ sudo python2 test5.py

0 голосов
/ 13 августа 2018

У меня тоже возникла такая же проблема, но после поиска в Google нашел этот форум .Переход на пользователя root решил мою проблему.Возможно, вам не хватило разрешения.

...