[alsa-devel] How to create an Alsa mixer for a USB device w/o mixer descriptor?

Daniel Mack daniel at caiaq.de
Wed Mar 17 17:11:16 CET 2010

On Wed, Mar 17, 2010 at 12:47:46PM +0100, Felix Homann wrote:
> Daniel Mack schrieb:
> >Does that mean it doesn't export _any_ descriptors for that? Or just not
> >output terminal?
> >
> As far as I can tell, there really is no descriptor for a mixer
> device or similar. Please, see the attached output of lsusb -v. (The
> device is mostly working with QUIRK_AUDIO_STANDARD_INTERFACE quirks.
> )

Jep, it seems so.

> Although I posted it before, you might take a look at my findings in
> the attached  reverse-engineering-...txt file. I didn't know
> anything about Audio Class devices when I gathered that information,
> and digged only a bit deeper by now. For me, it seems that the
> device is actually operated like an ordinary USB mixer (v1).

Well then I would just try it that way and see what it takes.

> >Thinking about what you're trying to achieve, I think at least one way
> >to go is to implement a new function ('handle_audio_mixer_unit_quirks'
> >for example) in sound/usb/mixer_quirks.c and call it from
> >snd_usb_create_mixer(). The function would need to return a static fake
> >descriptor, hard-coded in mixer_quirks.c. Now that the driver works with
> >structs for descriptors, that shouldn't be hard to do.
> OK, I'll try to work my way through the sources. Although it's
> probably not too hard for someone familiar with Alsa and USB
> devices, it might take some time for me ;-)

It is, however, easier to implement such changes if you actually have
the device to play around with it than trying to add such quirks
blindly. So - go, give it a try :)


More information about the Alsa-devel mailing list