apmorton / pyhidapi

hidapi bindings in ctypes
MIT License
112 stars 42 forks source link

hid.HIDException: unable to open device #36

Open tailgrabik opened 4 years ago

tailgrabik commented 4 years ago

I'll use python 3.8. I'm using MacOS 10.15 and as the iohidmanager backend It works like this.

>>> import hid
>>> hidraw = hid.Device(0x2341, 0x8036)
>>> hidraw.close()

However, if you just pull usb and call hidraw = hid.Device(0x2341, 0x8036) again, an error will appear:

>>> hidraw = hid.Device(0x2341, 0x8036).
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>.
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/hid/__init__.py", line 130, in __init__.
    raise HIDException('unable to open device')
hid.HIDException: unable to open device

Once the python is restarted, it's back to normal.

apmorton commented 4 years ago

This is probably better posed as a question to the upstream maintainers of hidapi, since all this exception indicates is that hid_open is returning 0

When you say you are pulling the USB, do you mean after calling hidraw.close?

https://github.com/libusb/hidapi

tailgrabik commented 4 years ago

When you say you are pulling the USB, do you mean after calling hidraw.close?

Yes