From: Jonas M. <jo...@pr...> - 2021-04-27 09:16:37
|
On Tue, Apr 27, 2021 at 08:18:09AM +0000, CM-Wu Ben - 吳文鐘 wrote: > Hi, > I got a problem when dealing with control transfer on win7. > > After set backend(libusb1), find usb device, I can send standard/class USB request via dev.ctrl_transfer() successfully, but failed when sending vendor request. > > the reason is 'Entity not found' > Is there any restrictions when sending vendor request? Not generally, no. But the OS driver may not support it (e.g. Windows Generic HID). Try running with LIBUSB_DEBUG=4, that may give you some useful information. > > following is the debug message.. > > 2021-04-27 15:37:18,888 DEBUG:usb.backend.libusb1:_LibUSB.__init__(<WinDLL '.\libusb-1.0.24\VS2019\MS64\dll\libusb-1.0.dll', handle ef8d0000 at 3576248>) > 2021-04-27 15:37:18,894 DEBUG:usb.backend.libusb1:_LibUSB.enumerate_devices() > 2021-04-27 15:37:18,976 DEBUG:usb.backend.libusb1:_LibUSB.get_device_descriptor(<usb.backend.libusb1._Device object at 0x00000000035DFB88>) > 2021-04-27 15:37:18,976 DEBUG:usb.backend.libusb1:_LibUSB.get_device_descriptor(<usb.backend.libusb1._Device object at 0x00000000035DFE08>) > 2021-04-27 15:37:18,976 DEBUG:usb.backend.libusb1:_LibUSB.get_device_descriptor(<usb.backend.libusb1._Device object at 0x00000000035DFB08>) > 2021-04-27 15:37:18,976 DEBUG:usb.backend.libusb1:_LibUSB.get_device_descriptor(<usb.backend.libusb1._Device object at 0x00000000035DFE48>) > -------------------- standard request: get string id=0xEE > 2021-04-27 15:37:18,977 DEBUG:usb.backend.libusb1:_LibUSB.open_device(<usb.backend.libusb1._Device object at 0x00000000035DFE48>) > 2021-04-27 15:37:18,980 DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 128, 6, 1006, 1033, array('B', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 1000) > -------------------- class request: write/read interface 3 > 2021-04-27 15:37:18,983 DEBUG:usb.backend.libusb1:_LibUSB.claim_interface(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 3) > 2021-04-27 15:37:18,983 DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 33, 9, 513, 3, array('B', [1, 0, 254, 4, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 1000) > 2021-04-27 15:37:18,986 DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 161, 1, 257, 3, array('B', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 1000) > -------------------- vendor request: > 2021-04-27 15:37:18,989 DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 195, 2, 0, 0, array('B', [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 1000) > Traceback (most recent call last): > File "D:\Python\myusb.py", line 98, in <module> > vendor_reg_read() > File "D:\Python\myusb.py", line 75, in vendor_reg_read > ret = dev.ctrl_transfer(0xc3, 0x02, 0x00, 0, 0x10) > File "D:\Python\walac-pyusb-3ec29ca\usb\core.py", line 1043, in ctrl_transfer > self.__get_timeout(timeout)) > File "D:\Python\walac-pyusb-3ec29ca\usb\_debug.py", line 60, in do_trace > return f(*args, **named_args) > File "D:\Python\walac-pyusb-3ec29ca\usb\backend\libusb1.py", line 883, in ctrl_transfer > timeout)) > File "D:\Python\walac-pyusb-3ec29ca\usb\backend\libusb1.py", line 595, in _check > raise USBError(_strerror(ret), ret, _libusb_errno[ret]) > usb.core.USBError: [Errno 2] Entity not found > 2021-04-27 15:37:19,003 DEBUG:usb.backend.libusb1:_LibUSB.release_interface(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>, 3) > 2021-04-27 15:37:19,005 DEBUG:usb.backend.libusb1:_LibUSB.close_device(<usb.backend.libusb1._DeviceHandle object at 0x00000000035DFD88>) > 2021-04-27 15:37:19,005 DEBUG:usb.backend.libusb1:_LibUSB._finalize_object() > > 『The information contained in this email and attachment is confidential and is for the use of the intended recipient only. Any disclosure, copying or distribution of this email and attachment without the sender's consent is strictly prohibited. If you are not the intended recipient, please promptly notify the sender and delete this email and attachment entirely without using, retaining, or disclosing any of its contents. The recipient is responsible for ensuring that this email is virus free and the sender accepts no liability for any damages caused by virus transmitted by this email.』 > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users |