Доступ запрещен при чтении через порт USB - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь прочитать информацию с джойстика, такую ​​как кнопки и другие. Мой код выдает сообщение «Ошибка 13: доступ запрещен»

Traceback (most recent call last):
  File "./JOYSTICK.py", line 17, in <module>
    ep.wMaxPacketSize)
  File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 975, in read
    intf, ep = self._ctx.setup_request(self, endpoint)
  File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 216, in setup_request
    self.managed_claim_interface(device, intf)
  File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 167, in managed_claim_interface
    self.backend.claim_interface(self.handle, i)
  File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 811, in claim_interface
    _check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
  File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

Я пытался запустить его в режиме sudo, используя sudo python3 JOYSTICK.py (с правильным shebang), но он не работает. Я также пытался активировать свою виртуальную среду как sudo, но при запуске с правами root он не распознает команду source.

#!/usr/bin/env python3

import usb.core

dev = usb.core.find(idVendor=0x044f, idProduct=0xb108)

dev.set_configuration(1) # from print usb.core.find()
cfg = dev.get_active_configuration()
intf = cfg[(0,0)]

ep = intf[0]
print(ep)

while (True):
  data = dev.read(ep.bEndpointAddress,
                  ep.wMaxPacketSize)
  print(data)

Я хочу, чтобы мой код отображал новую строку при нажатии кнопки на джойстике или изменении оси.

Спасибо.

...