I’ve been liaising with the libusb darwin (OS X) maintainer about issues dectecting the Maestro. We are going back and forth with new code for me to try (because he doesn’t have a Maestro).
the first 8 bytes of the descriptor look ok but then it is all 0’s.
Does this sound familiar to anyone ??
Does anyone know how to fix/workaround this issue ??
Nathan Hjelm hjelmn@me.com is the maintainer of the darwin part of libusb. Please help him to help us so we can get the Maestro supported under OS X.
If there is any chance of sending him a Micro Mestro then that would be great !!!
Many thanks,
Brendan.
Email trail with libusb darwin debug output.
On 20/03/11 4:12 AM, Nathan Hjelm wrote:
Might be a good idea. They might be able to shed some light onto why we are only getting 8 bytes of the device descriptor.
-Nathan
On Mar 19, 2011, at 3:03 AM, Brendan Simon (eTRIX) wrote:
Would it be worth trying to talk to the Pololu guys to get there take on the device and how it works ??
On 19/03/11 8:01 PM, Brendan Simon (eTRIX) wrote:
I don’t really understand the output so can’t comment. All I can say is it that the device seems to work ok on Windows and Linux so I can only presume the device is not buggy, or at least as buggy as other devices such that Windows and Linux drivers cater for it ok.
Is there anything I can run on Linux to get more information on the device to see if it is buggy or not ??
Cheers, Brendan.
On 19/03/11 4:59 PM, Nathan Hjelm wrote:
Weird, the first 8 bytes of the descriptor look ok but then it is all 0’s. Might be a device bug. I will see if I can come up with a acceptable workaround.
-Nathan
On Mar 18, 2011, at 5:40 PM, Brendan Simon (eTRIX) wrote:
Here is the output
$ ./examples/lsusb
libusb:debug [libusb_init]
libusb:info [event_thread_main] creating hotplug event source
libusb:info [event_thread_main] thread ready to receive events
libusb:debug [usbi_add_pollfd] add fd 4 events 1
libusb:debug [libusb_init] created default context
libusb:debug [libusb_get_device_list]
libusb:info [process_new_device] allocating new device for location 0x04000000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x09
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x00
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8005
libusb:debug [process_new_device] bcdDevice: 0x0200
libusb:debug [process_new_device] iManufacturer: 0x02
libusb:debug [process_new_device] iProduct: 0x01
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 1 at 001-05ac-8005-09-00
libusb:info [process_new_device] allocating new device for location 0x04600000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x00
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x00
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x0236
libusb:debug [process_new_device] bcdDevice: 0x0081
libusb:debug [process_new_device] iManufacturer: 0x01
libusb:debug [process_new_device] iProduct: 0x02
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 2 at 002-05ac-0236-00-00
libusb:info [process_new_device] allocating new device for location 0x04500000
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x00
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x00
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8242
libusb:debug [process_new_device] bcdDevice: 0x0016
libusb:debug [process_new_device] iManufacturer: 0x01
libusb:debug [process_new_device] iProduct: 0x02
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 3 at 003-05ac-8242-00-00
libusb:info [process_new_device] allocating new device for location 0x24000000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x09
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x40
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8006
libusb:debug [process_new_device] bcdDevice: 0x0200
libusb:debug [process_new_device] iManufacturer: 0x02
libusb:debug [process_new_device] iProduct: 0x01
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 1 at 001-05ac-8006-09-00
libusb:info [process_new_device] allocating new device for location 0x24400000
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x40
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8507
libusb:debug [process_new_device] bcdDevice: 0x0419
libusb:debug [process_new_device] iManufacturer: 0x01
libusb:debug [process_new_device] iProduct: 0x02
libusb:debug [process_new_device] iSerialNumber: 0x03
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 2 at 002-05ac-8507-ef-02
libusb:info [process_new_device] allocating new device for location 0x06000000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x09
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x00
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8005
libusb:debug [process_new_device] bcdDevice: 0x0200
libusb:debug [process_new_device] iManufacturer: 0x02
libusb:debug [process_new_device] iProduct: 0x01
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 1 at 001-05ac-8005-09-00
libusb:info [process_new_device] allocating new device for location 0x06100000
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] could not retrieve device descriptor 0a5c:4500: device not responding. skipping device
libusb:debug [libusb_unref_device] destroy device 5.0
libusb:info [process_new_device] allocating new device for location 0x06110000
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:warning [process_new_device] could not retrieve device descriptor 05ac:8213: device not responding. skipping device
libusb:debug [libusb_unref_device] destroy device 0.30
libusb:info [process_new_device] allocating new device for location 0x06200000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0xef
libusb:debug [process_new_device] bDeviceSubClass: 0x02
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x08
libusb:debug [process_new_device] idVendor: 0x0105
libusb:debug [process_new_device] idProduct: 0x0000
libusb:debug [process_new_device] bcdDevice: 0x0000
libusb:debug [process_new_device] iManufacturer: 0x00
libusb:debug [process_new_device] iProduct: 0x00
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x00
libusb:debug [process_new_device] device idProduct == 0. will retry
libusb:debug [process_new_device] kernel responded with code: 0xe000404f. sleeping for 30ms before trying again
libusb:warning [process_new_device] could not retrieve device descriptor 1ffb:0089: pipe is stalled. skipping device
libusb:debug [libusb_unref_device] destroy device 0.30
libusb:info [process_new_device] allocating new device for location 0x26000000
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x09
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x01
libusb:debug [process_new_device] bMaxPacketSize0: 0x40
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8006
libusb:debug [process_new_device] bcdDevice: 0x0200
libusb:debug [process_new_device] iManufacturer: 0x02
libusb:debug [process_new_device] iProduct: 0x01
libusb:debug [process_new_device] iSerialNumber: 0x00
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 1 at 001-05ac-8006-09-00
libusb:info [process_new_device] allocating new device for location 0x26500000
libusb:debug [process_new_device] kernel responded with code: 0xe00002ed. sleeping for 30ms before trying again
libusb:debug [process_new_device] device descriptor:
libusb:debug [process_new_device] bDescriptorType: 0x01
libusb:debug [process_new_device] bcdUSB: 0x0200
libusb:debug [process_new_device] bDeviceClass: 0x00
libusb:debug [process_new_device] bDeviceSubClass: 0x00
libusb:debug [process_new_device] bDeviceProtocol: 0x00
libusb:debug [process_new_device] bMaxPacketSize0: 0x40
libusb:debug [process_new_device] idVendor: 0x05ac
libusb:debug [process_new_device] idProduct: 0x8403
libusb:debug [process_new_device] bcdDevice: 0x9833
libusb:debug [process_new_device] iManufacturer: 0x03
libusb:debug [process_new_device] iProduct: 0x04
libusb:debug [process_new_device] iSerialNumber: 0x02
libusb:debug [process_new_device] bNumConfigurations: 0x01
libusb:info [darwin_check_configuration] active config: 1, first config: 1
libusb:info [process_new_device] found device with address 2 at 002-05ac-8403-00-00
libusb:debug [libusb_get_device_descriptor]
05ac:8005 (bus 4, device 1)
libusb:debug [libusb_get_device_descriptor]
05ac:0236 (bus 4, device 2)
libusb:debug [libusb_get_device_descriptor]
05ac:8242 (bus 4, device 3)
libusb:debug [libusb_get_device_descriptor]
05ac:8006 (bus 36, device 1)
libusb:debug [libusb_get_device_descriptor]
05ac:8507 (bus 36, device 2)
libusb:debug [libusb_get_device_descriptor]
05ac:8005 (bus 6, device 1)
libusb:debug [libusb_get_device_descriptor]
05ac:8006 (bus 38, device 1)
libusb:debug [libusb_get_device_descriptor]
05ac:8403 (bus 38, device 2)
libusb:debug [libusb_unref_device] destroy device 4.1
libusb:debug [libusb_unref_device] destroy device 4.2
libusb:debug [libusb_unref_device] destroy device 4.3
libusb:debug [libusb_unref_device] destroy device 36.1
libusb:debug [libusb_unref_device] destroy device 36.2
libusb:debug [libusb_unref_device] destroy device 6.1
libusb:debug [libusb_unref_device] destroy device 38.1
libusb:debug [libusb_unref_device] destroy device 38.2
libusb:debug [libusb_exit]
libusb:debug [libusb_exit] destroying default context
libusb:debug [usbi_remove_pollfd] remove fd 4
libusb:info [event_thread_main] thread exiting