RaphaÃl Doursenaud wrote: > First, I more or less get the picture of what the code is doing but > there's one part I fiddled with that I don't understand fully. What are > the .out_cables and .in_cables bitmasks doing besides defining the > number of ports ? The also define the port numbers. > Next, the input part seem to work flawlessly on all ports, but I have > what seems to be a buffer overflow on the device when outputting midi > data. Comparing the windows and linux usb traffic, something obvious > shows up : the windows driver seem to be waiting for the device's > acknowledgment after each sent byte before sending the next one while > the snd-usb-audio module sends a bunch of bytes at once that ends up > confusing the device _and_ module. Do you mean that the Windows driver does not submit more than one URB at once? And that it never puts more than one byte for a port into one packet? Is it possible that the device want a F5 port number at the beginning of every packet? Anyway, all bulk packets must be explicitly accepted by a device, so if the SAC-2K accepts a packet and then does something wrong, it's the device's fault. To force the driver to submit no more than one packet at once, replace OUTPUT_URBS with a variable and set it to 1 for this device. Regards, Clemens _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel