[alsa-devel] [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i6

Grant Diffey gdiffey at gmail.com
Sat Dec 29 10:10:44 CET 2012


Hi everyone,

Last week on #alsa  I found yet another person who's having problems with
snd-usb-audio not supporting UAC2 Feature units.  Worse still the relevant
part of the descriptor is incomplete according to lsusb so while the device
is in the main compliant the feature unit has a descriptor that lsusb
thinks is too short and I suspect isn't compliant (so even if we were
trying to parse feature units it'd blow up here)

      AudioControl Interface Descriptor:        bLength
16        bDescriptorType        36        bDescriptorSubtype      9
(EXTENSION_UNIT)      Warning: Descriptor too short        bUnitID
           51        wExtensionCode          0        bNrPins
       1        baSourceID( 0)          2        bNrChannels
  4        wChannelConfig          0        iChannelNames           3
       bmControls        0x00        iExtension             26


(a full lsusb -v is here: http://pastebin.ubuntu.com/1451668/)
So while we could submit another quirk for this to ignore the mixer for
now. and this would probably make the device "work"  without access to the
feature unit is it sensible? (we verified that modifying martin's quirk
above (just changing vid:pid) was enough to make the device "work")

Note also this is the problem for the eleven rack as discussed in April
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-April/050899.html

How difficult would it be to have the mixer/control code just "skip"
feature units rather than the current failure mode? or default to ignore
the interface if the control parser fails but continue to remaining
interfaces?  I've tried understanding this code. but my C foo is lacking.

Grant.


More information about the Alsa-devel mailing list