[alsa-devel] snd-usb-audio for Radikal Technologies SAC-2K
clemens at ladisch.de
Wed Oct 20 11:29:14 CEST 2010
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.
More information about the Alsa-devel