3

I'm trying to use pyusb over usblib1.0 to read the data from an old Ps2 mouse using a Ps2 to USB adapter that represents it as a HID device.

I am able to access the device, but when I try to send it the GET_REPORT request over control transfer, it shows me this error:

[Errno None] b'libusb0-dll:err [claim_interface] could not claim interface 0, win error: The parameter is incorrect.\r\n'

Here is my code:

import usb.core as core
import time
from usb.core import USBError as USBError

dev = core.find(idVendor=0x13ba, idProduct=0x0018, address=0x03)

interface = 0
endpoint = dev[0][(interface, 0)][0]

dev.set_configuration()

collected = 0
attempts = 50

while collected < attempts:
    try:
        print(dev.ctrl_transfer(0b10100001, 0x01, wValue=100,     data_or_wLength=64))
        collected += 1
    except USBError as e:
        print(e)
time.sleep(0.1)

I'm using python 3.x in windows 10 (Lenovo g-510 if it matters to anyone)

The driver I installed is a usblib-win32 using Zadig

Any help will be appreciated!

Thanks

EDIT:

Tried using WIN-USB so that It'll work with usblib-1.0 It didn't find the device. Returned None from the usb.core.fןnd() function

Continuing with WIN-USB with usblib-1.0, I successfully found the device, but no it appears to have no configuration.

dev.set_configuration()

returns:

  File "C:\Users\Idan Stark\AppData\Local\Programs\Python\Python36-32\lib\site-packages\usb\backend\libusb1.py", line 595, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
  usb.core.USBError: [Errno 2] Entity not found

Any help will be appreciated, in usblib-1.0 or usblib-0.1, anything to make this work! Thank you!

idan stark
  • 61
  • 1
  • 6
  • The OS will have already claimed the interface. Try ``dev.detach_kernel_driver(interface)`` before you do anything with the device. – jasonharper Apr 09 '17 at 20:46
  • I tried adding `dev.detach_kernel_driver(0)` and `usb.util.claim_interface(dev, 0)` and it returned a `NotImplementedError` – idan stark Apr 11 '17 at 13:17

0 Answers0