diff options
author | Martin Schwenke <martin@meltin.net> | 2012-11-13 08:38:03 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-11-13 08:47:13 (GMT) |
commit | 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba (patch) | |
tree | 98b43cc01fa9f3c5426e02c0d0c130a922a5a479 /sound/usb/proc.c | |
parent | b7838c2b91a5aae09d24e1110002097283055fb8 (diff) | |
download | linux-fsl-qoriq-1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.tar.xz |
ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i6
Probing this device currently fails in snd_usb_audio_probe() because
the call to snd_usb_create_mixer() fails. This is due to unknown or
non-standard interface descriptor subtypes in parse_audio_unit():
usbaudio: unit 51: unexpected type 0x09
snd-usb-audio: probe of 1-8:1.0 failed with error -5
Some people are working around this by recompiling usb-audio with the
call to snd_usb_create_mixer() commented out. It would be nice to
avoid that.
While the best idea would be to look into the mixer creation failure,
a reasonable short-term solution is to use quirks to only probe the
trouble-free interfaces. This allows audio and MIDI interfaces to be
used without any obvious issues.
Interface 0 is the main one to ignore. It contains lots of
control-fu, including the unexpected interface descriptor subtypes.
Interface 5 is for firmware updates and I'm not sure how to get
support for this. Interface 3 is some sort of control interface that
I don't understand:
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 9
bInCollection 1
baInterfaceNr( 0) 1
Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/proc.c')
0 files changed, 0 insertions, 0 deletions