[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,

Felix
-------------- 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