Hi, Sorry for the delay. According to libusb documentation, a pipe error is related to sending a control request not supported by the device. Are these control transfers documented by the manufacturer or part of the USB class spec?
2013/11/30 Bartosz Alchimowicz <p...@poczta.onet.pl>: > Wander Lairson Costa wrote: >> This is rather strange, some control requests work, some don't. >> >> Could you please activate the PYUSB_DEBUG=debug and LIBUSB_DEBUG=3 >> environment variables and send the output? > > > Thank you for your answer. Here is the output: > > 2013-11-30 19:07:03,301 DEBUG:usb.backend.libusb1:_LibUSB.__init__(<CDLL > 'libusb-1.0.so.0', handle 90ab628 at b729948c>) > 2013-11-30 19:07:03,301 INFO:usb.core:find(): using backend > "usb.backend.libusb1" > 2013-11-30 19:07:03,302 > DEBUG:usb.backend.libusb1:_LibUSB.enumerate_devices() > 2013-11-30 19:07:03,302 > DEBUG:usb.backend.libusb1:_LibUSB.get_device_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.open_device(<usb.backend.libusb1._Device > object at 0xb7240acc>) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.set_configuration(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 1) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 0, 0) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,303 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.claim_interface(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.set_interface_altsetting(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 0, 1) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,304 > DEBUG:usb.backend.libusb1:_LibUSB.get_endpoint_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 0, 1, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_endpoint_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 1, 0, 1, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_interface_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0, 1, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.get_configuration_descriptor(<usb.backend.libusb1._Device > object at 0xb7240acc>, 0) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 161, 0, 0, 0, 256, 1000) > 2013-11-30 19:07:03,305 > DEBUG:usb.backend.libusb1:_LibUSB.ctrl_transfer(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 161, 1, 0, 0, 1, 1000) > Traceback (most recent call last): > File "test.py", line 21, in <module> > dev.ctrl_transfer(161, 1, data_or_wLength = 1) # pipe error > File > "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/core.py", > line 711, in ctrl_transfer > self.__get_timeout(timeout) > File > "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/_debug.py", > line 60, in do_trace > return f(*args, **named_args) > File > "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/backend/libusb1.py", > line 836, in ctrl_transfer > timeout)) > File > "/usr/local/lib/python2.7/dist-packages/pyusb-1.0.0b1-py2.7.egg/usb/backend/libusb1.py", > line 571, in _check > raise USBError(_str_error[ret], ret, _libusb_errno[ret]) > usb.core.USBError: [Errno 32] Pipe error > 2013-11-30 19:07:03,308 > DEBUG:usb.backend.libusb1:_LibUSB.release_interface(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>, 0) > 2013-11-30 19:07:03,309 > DEBUG:usb.backend.libusb1:_LibUSB.close_device(<usb.backend.libusb1._DeviceHandle > object at 0xb7240aac>) > 2013-11-30 19:07:03,309 DEBUG:usb.backend.libusb1:_LibUSB.__del__() > > <cut> > > Regards > Perf > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > pyusb-users mailing list > pyusb-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pyusb-users -- Best Regards, Wander Lairson Costa ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ pyusb-users mailing list pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users