[alsa-devel] Attempting to understand odd snd-usb-audio code and behavior

Clemens Ladisch clemens at ladisch.de
Wed Aug 23 12:23:00 CEST 2017


Keith A. Milner wrote:
> I'm struggling to understand why the code is behaving as it does in
> practice

Because the code has evolved over a long time, and it tries to handle
not only both versions of the USB audio specification, but also devices
as they are behaving in practice.

> My observation when plugging the USB device in is that, as expected, it tries
> to build the audio device, and add components to it including attaching
> capture and playback streams. It seems to go through this phase without too
> many surprises, and we get to the standard dmesg output:
>
> usbcore: registered new interface driver snd-usb-audio
>
> After this, it gets confusing.
>
> It seems to open and close the PCMs

That happens due to requests from user space, probably PulseAudio.

> kernel: [ 1987.452947] usb 1-1: Unable to change format on ep #8e: already in use

So this is a Roland device?  Playback-synchronized-to-capture is a very
special case; at the moment, nobody understands this code completely.

But the problem for this device might be that it requires some
vendor-specific messages to enable it in the first place.


Regards,
Clemens


More information about the Alsa-devel mailing list