shal@free.fr wrote:
For some compatibility raison, Sound device developer want only send a UAC1 configuration when the Operating system is Windows. The used method is based on the length of the setup packet during the device get_descriptor function. If the length is 64, the OS is considered as Windows. Linux have choosen also this value.
Because there are buggy devices that haven been tested only with Windows and will blow up if other values are chosen.
I guess somebody has to add a quirk for this device to the driver.
Now, the USB device descriptor has two configuration descriptors :the first is a UAC1 and the second is a UAC2.
As UAC1 is a valid configuration descriptor, the usb stack choose this configuration.
I have patched the usb_choose_configuration() function in file driver/usb/core/generic.c for overwrite the value with the good one.
This can be changed later in the driver with usb_driver_set_configuration().
Regards, Clemens