From: Tim R. <ti...@pr...> - 2019-11-20 19:47:30
|
Michael Bacarella wrote: > > I'm on Linux. I connected a USB device. I added it to udev rules to > gain permissions. I got resource busy on set_configuration, so I did > 'usb-devices' and found Driver= lines that correspond to the device > and rmmod'd them. > > I probe for and unload any attached kernel driver in code. Your device has four audio interfaces, which you have rendered unusable. They had drivers, which is why you couldn't set the configuration. Your device only has one configuration, so you do not need libusb_set_configuration at all. If you had skipped that, then libusb_detach_kernel_driver on your HID interface would have been sufficient. > Now I can successfully connect to the device, but doing an > interrupting receive (the first one), with any number of bytes, > returns an Input/output error. > ... > I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=(none) > I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=(none) > I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=(none) > I: If#= 3 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=(none) > I: If#= 4 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=(none) > I: If#= 5 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) > I: If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=f0 Prot=00 Driver=(none) Is the HID interface you're actually want? Have you checked the report descriptors to make sure the HID layout is the same as what you expect? Is it possible there's some new vendor command you have to send to enable the HID endpoint? (Although that would be unusual.) Is the max packet size the same? Is the interval the same? -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |