[alsa-devel] MiniDSP USBStreamer / UAC2 / Alsamixer bogus
Daniel Mack
daniel at zonque.org
Fri May 23 19:18:05 CEST 2014
Hi,
On 05/22/2014 07:36 PM, Jan Baumgart wrote:
> AudioControl Interface Descriptor:
> bLength 16
> bDescriptorType 36
> bDescriptorSubtype 9 (EXTENSION_UNIT)
> Warning: Descriptor too short
Hmm, lsusb is right here - bLength should be 16+p ...
> bUnitID 51
> wExtensionCode 0
> bNrPins 1
... where p is this value: 1.
> baSourceID( 0) 2
> bNrChannels 8
> wChannelConfig 0
> iChannelNames 3
> bmControls 0x00
> iExtension 42
Hence, the iExtension value is wrong, ...
> AudioControl Interface Descriptor:
> bLength 42
because it actually is bLength of the next descriptor. So there's
definitely a problem in the USB descriptors, I'm just not sure how we
should deal with that.
I'm also not entirely sure if that explains your control name trouble.
If you're interested in debugging this, have a look at the function
sound/usb/mixer.c, function build_audio_procunit(), especially the lower
half where we try to determine a nice name for the new control. You
could start dumping the variable 'nameid' and see what it contains.
Also, this device reports strings to describe the channel names
(iChannelNames), which the driver currently doesn't care about. It might
be worth fetching them and see what they contain. On the other hand,
ALSA doesn't allow us to provide names for individual sub-controls (for
each of the 8 mixer values inside one control).
Are you up for a little trial and error? I doubt that this will fix your
clock selector trouble though, but for that, the usbmon traces should
give a hint.
Best regards,
Daniel
More information about the Alsa-devel
mailing list