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

Felix Homann fexpop at web.de
Wed Mar 17 12:47:46 CET 2010

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. )

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).

> Check out the latest USB audio sources from the ALSA git - they have
> been undergoing a major refactoring lately.

I already have. Many thanks for your refactoring. Before that, I didn't 
have the slightest idea of what's going on. It's much, much cleaner now!!!

> 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 ;-)
> One thing to pay attention to is that this fake descriptor must not have
> any references to other entities or descriptors of the device unless you
> take care for them, too. In particular, you would need to add a hook to
> snd_usb_copy_string_descriptor() if you want to give your controls a
> name.

Thank you very much  for your comments!

Kind regards,

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: lsusb-ftu8r-1.txt
Url: http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20100317/b6a07f62/attachment-0002.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: reverse-engineering-ftu8r-dsp-mixer.txt
Url: http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20100317/b6a07f62/attachment-0003.txt 

More information about the Alsa-devel mailing list