Pyusb - Errno 13访问被拒绝进行控制转移 - Mac OS X.

时间:2014-09-11 17:06:41

标签: macos usb pyusb

我正在尝试通过pyusb通过Mac OS发送控制传输命令: dev.ctrl_transfer(0x21,0x09,0x0200,0x0,0x1)

我收到错误:

Traceback (most recent call last):
  File "./main.py", line 21, in <module>
    dev.ctrl_transfer(0x21,0x09,0x0200,0x0000,0x0001)
  File "/Library/Python/2.7/site-packages/usb/core.py", line 962, in ctrl_transfer
    self._ctx.managed_claim_interface(self, interface_number)
  File "/Library/Python/2.7/site-packages/usb/core.py", line 146, in managed_claim_interface
    self.backend.claim_interface(self.handle, i)
  File "/Library/Python/2.7/site-packages/usb/backend/libusb1.py", line 747, in claim_interface
    _check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
  File "/Library/Python/2.7/site-packages/usb/backend/libusb1.py", line 552, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

有人可以帮我解决这个问题。我试过sudo,su。我也在pyusb github用户组中发布了这个。我得到了这个(将自己添加到debian系统中的plugdev组)作为可能的解决方案,但我不知道如何继续使用Mac OS https://github.com/braiden/python-ant-downloader/issues/30#issuecomment-55293142

与以下问题相关联:

OUT Endpoint not accessible by pyusb

PyUSB dev.set_configuration()(解决方案适用于ubuntu)

1 个答案:

答案 0 :(得分:6)

就目前而言,回答以下问题:

python LibUsb是否适用于Mac OS X上的HID设备?

不是。看起来libusb不能在Mac上用来访问HID设备,你应该使用HIDAPI库或类似的。

我猜你是想尝试使用libusb在Mac OS X上访问一个HID设备,这在某种程度上是被神圣的自然法则所禁止的。

HID Mac OS X Docs

Ticket on libusb

类似问题:Raw access to HID devices in OS X