All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
@ 2013-07-17 21:12 Chris J Arges
  2013-07-17 23:53   ` Torstein Hegge
  0 siblings, 1 reply; 6+ messages in thread
From: Chris J Arges @ 2013-07-17 21:12 UTC (permalink / raw)
  To: alsa-devel
  Cc: martin, Chris J Arges, Jaroslav Kysela, Takashi Iwai, Eldad Zack,
	Trulan Martin, Damien Zammit, Mark Hills, linux-kernel

This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
The same non-standard interface descriptor causes snd_usb_create_mixer()
to fail for the Focusrite Scarlett 18i8 as well.

Signed-off-by: Chris J Arges <christopherarges@gmail.com>
---
 sound/usb/quirks-table.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 7f1585b..b954ec5 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -3232,6 +3232,52 @@ YAMAHA_DEVICE(0x7010, "UB99"),
 		}
 	}
 },
+{
+	/*
+	 * Focusrite Scarlett 18i8
+	 *
+	 * Avoid mixer creation similar to the Scarlett 18i6 interface.
+	 */
+	USB_DEVICE(0x1235, 0x8014),
+	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+		.vendor_name = "Focusrite",
+		.product_name = "Scarlett 18i8",
+		.ifnum = QUIRK_ANY_INTERFACE,
+		.type = QUIRK_COMPOSITE,
+		.data = & (const struct snd_usb_audio_quirk[]) {
+			{
+				/* InterfaceSubClass 1 (Control Device) */
+				.ifnum = 0,
+				.type = QUIRK_IGNORE_INTERFACE
+			},
+			{
+				.ifnum = 1,
+				.type = QUIRK_AUDIO_STANDARD_INTERFACE
+			},
+			{
+				.ifnum = 2,
+				.type = QUIRK_AUDIO_STANDARD_INTERFACE
+			},
+			{
+				/* InterfaceSubClass 1 (Control Device) */
+				.ifnum = 3,
+				.type = QUIRK_IGNORE_INTERFACE
+			},
+			{
+				.ifnum = 4,
+				.type = QUIRK_MIDI_STANDARD_INTERFACE
+			},
+			{
+				/* InterfaceSubClass 1 (Device Firmware Update) */
+				.ifnum = 5,
+				.type = QUIRK_IGNORE_INTERFACE
+			},
+			{
+				.ifnum = -1
+			}
+		}
+	}
+},
 
 {
 	/*
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
  2013-07-17 21:12 [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8 Chris J Arges
@ 2013-07-17 23:53   ` Torstein Hegge
  0 siblings, 0 replies; 6+ messages in thread
From: Torstein Hegge @ 2013-07-17 23:53 UTC (permalink / raw)
  To: Chris J Arges
  Cc: alsa-devel, martin, Jaroslav Kysela, Takashi Iwai, Eldad Zack,
	Trulan Martin, Damien Zammit, Mark Hills, linux-kernel

On Wed, Jul 17, 2013 at 16:12:12 -0500, Chris J Arges wrote:
> This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
> The same non-standard interface descriptor causes snd_usb_create_mixer()
> to fail for the Focusrite Scarlett 18i8 as well.

Did you test this on a recent kernel? I don't think this quirk or the quirk
introduced by 1762a59d "ALSA: usb-audio: Add quirk for Focusrite Scarlett
18i6" is necessary since kernel 3.9, as it includes:

4d7b86c98 "ALSA: snd-usb: mixer: propagate errors up the call chain"
83ea5d18d "ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()"
61ac51301 "ALSA: usb: Parse UAC2 extension unit like for UAC1"

Those were tested on a Focusrite Scarlett 8i6, but the lsusb output
from 18i6 and 8i6 looks similar,
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29426.html
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg27776.html
I'm guessing the 18i8 isn't that different.


Torstein

> ---
>  sound/usb/quirks-table.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 7f1585b..b954ec5 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -3232,6 +3232,52 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  		}
>  	}
>  },
> +{
> +	/*
> +	 * Focusrite Scarlett 18i8
> +	 *
> +	 * Avoid mixer creation similar to the Scarlett 18i6 interface.
> +	 */
> +	USB_DEVICE(0x1235, 0x8014),
> +	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> +		.vendor_name = "Focusrite",
> +		.product_name = "Scarlett 18i8",
> +		.ifnum = QUIRK_ANY_INTERFACE,
> +		.type = QUIRK_COMPOSITE,
> +		.data = & (const struct snd_usb_audio_quirk[]) {
> +			{
> +				/* InterfaceSubClass 1 (Control Device) */
> +				.ifnum = 0,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = 1,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				.ifnum = 2,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				/* InterfaceSubClass 1 (Control Device) */
> +				.ifnum = 3,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = 4,
> +				.type = QUIRK_MIDI_STANDARD_INTERFACE
> +			},
> +			{
> +				/* InterfaceSubClass 1 (Device Firmware Update) */
> +				.ifnum = 5,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = -1
> +			}
> +		}
> +	}
> +},
>  
>  {
>  	/*
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
@ 2013-07-17 23:53   ` Torstein Hegge
  0 siblings, 0 replies; 6+ messages in thread
From: Torstein Hegge @ 2013-07-17 23:53 UTC (permalink / raw)
  To: Chris J Arges
  Cc: alsa-devel, Takashi Iwai, Eldad Zack, linux-kernel, martin,
	Trulan Martin, Mark Hills, Damien Zammit

On Wed, Jul 17, 2013 at 16:12:12 -0500, Chris J Arges wrote:
> This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
> The same non-standard interface descriptor causes snd_usb_create_mixer()
> to fail for the Focusrite Scarlett 18i8 as well.

Did you test this on a recent kernel? I don't think this quirk or the quirk
introduced by 1762a59d "ALSA: usb-audio: Add quirk for Focusrite Scarlett
18i6" is necessary since kernel 3.9, as it includes:

4d7b86c98 "ALSA: snd-usb: mixer: propagate errors up the call chain"
83ea5d18d "ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()"
61ac51301 "ALSA: usb: Parse UAC2 extension unit like for UAC1"

Those were tested on a Focusrite Scarlett 8i6, but the lsusb output
from 18i6 and 8i6 looks similar,
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29426.html
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg27776.html
I'm guessing the 18i8 isn't that different.


Torstein

> ---
>  sound/usb/quirks-table.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 7f1585b..b954ec5 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -3232,6 +3232,52 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>  		}
>  	}
>  },
> +{
> +	/*
> +	 * Focusrite Scarlett 18i8
> +	 *
> +	 * Avoid mixer creation similar to the Scarlett 18i6 interface.
> +	 */
> +	USB_DEVICE(0x1235, 0x8014),
> +	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
> +		.vendor_name = "Focusrite",
> +		.product_name = "Scarlett 18i8",
> +		.ifnum = QUIRK_ANY_INTERFACE,
> +		.type = QUIRK_COMPOSITE,
> +		.data = & (const struct snd_usb_audio_quirk[]) {
> +			{
> +				/* InterfaceSubClass 1 (Control Device) */
> +				.ifnum = 0,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = 1,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				.ifnum = 2,
> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
> +			},
> +			{
> +				/* InterfaceSubClass 1 (Control Device) */
> +				.ifnum = 3,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = 4,
> +				.type = QUIRK_MIDI_STANDARD_INTERFACE
> +			},
> +			{
> +				/* InterfaceSubClass 1 (Device Firmware Update) */
> +				.ifnum = 5,
> +				.type = QUIRK_IGNORE_INTERFACE
> +			},
> +			{
> +				.ifnum = -1
> +			}
> +		}
> +	}
> +},
>  
>  {
>  	/*
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
  2013-07-17 23:53   ` Torstein Hegge
  (?)
@ 2013-07-18 15:16   ` Chris J Arges
  2013-07-18 15:53       ` Takashi Iwai
  -1 siblings, 1 reply; 6+ messages in thread
From: Chris J Arges @ 2013-07-18 15:16 UTC (permalink / raw)
  To: Torstein Hegge
  Cc: alsa-devel, martin, Jaroslav Kysela, Takashi Iwai, Eldad Zack,
	Trulan Martin, Damien Zammit, Mark Hills, linux-kernel

On 07/17/2013 06:53 PM, Torstein Hegge wrote:
> On Wed, Jul 17, 2013 at 16:12:12 -0500, Chris J Arges wrote:
>> This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
>> The same non-standard interface descriptor causes snd_usb_create_mixer()
>> to fail for the Focusrite Scarlett 18i8 as well.
> 
> Did you test this on a recent kernel? I don't think this quirk or the quirk
> introduced by 1762a59d "ALSA: usb-audio: Add quirk for Focusrite Scarlett
> 18i6" is necessary since kernel 3.9, as it includes:
> 
> 4d7b86c98 "ALSA: snd-usb: mixer: propagate errors up the call chain"
> 83ea5d18d "ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()"
> 61ac51301 "ALSA: usb: Parse UAC2 extension unit like for UAC1"
> 
> Those were tested on a Focusrite Scarlett 8i6, but the lsusb output
> from 18i6 and 8i6 looks similar,
> http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29426.html
> http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg27776.html
> I'm guessing the 18i8 isn't that different.
> 

Re-testing this, I see that you are right. The mixer still doesn't work,
but at least its usable for playback/recording/midi.
Ignore this patch then.

Thanks,
--chris j arges

> 
> Torstein
> 
>> ---
>>  sound/usb/quirks-table.h |   46 ++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 46 insertions(+)
>>
>> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
>> index 7f1585b..b954ec5 100644
>> --- a/sound/usb/quirks-table.h
>> +++ b/sound/usb/quirks-table.h
>> @@ -3232,6 +3232,52 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>>  		}
>>  	}
>>  },
>> +{
>> +	/*
>> +	 * Focusrite Scarlett 18i8
>> +	 *
>> +	 * Avoid mixer creation similar to the Scarlett 18i6 interface.
>> +	 */
>> +	USB_DEVICE(0x1235, 0x8014),
>> +	.driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
>> +		.vendor_name = "Focusrite",
>> +		.product_name = "Scarlett 18i8",
>> +		.ifnum = QUIRK_ANY_INTERFACE,
>> +		.type = QUIRK_COMPOSITE,
>> +		.data = & (const struct snd_usb_audio_quirk[]) {
>> +			{
>> +				/* InterfaceSubClass 1 (Control Device) */
>> +				.ifnum = 0,
>> +				.type = QUIRK_IGNORE_INTERFACE
>> +			},
>> +			{
>> +				.ifnum = 1,
>> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
>> +			},
>> +			{
>> +				.ifnum = 2,
>> +				.type = QUIRK_AUDIO_STANDARD_INTERFACE
>> +			},
>> +			{
>> +				/* InterfaceSubClass 1 (Control Device) */
>> +				.ifnum = 3,
>> +				.type = QUIRK_IGNORE_INTERFACE
>> +			},
>> +			{
>> +				.ifnum = 4,
>> +				.type = QUIRK_MIDI_STANDARD_INTERFACE
>> +			},
>> +			{
>> +				/* InterfaceSubClass 1 (Device Firmware Update) */
>> +				.ifnum = 5,
>> +				.type = QUIRK_IGNORE_INTERFACE
>> +			},
>> +			{
>> +				.ifnum = -1
>> +			}
>> +		}
>> +	}
>> +},
>>  
>>  {
>>  	/*
>> -- 
>> 1.7.9.5


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
  2013-07-18 15:16   ` Chris J Arges
@ 2013-07-18 15:53       ` Takashi Iwai
  0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2013-07-18 15:53 UTC (permalink / raw)
  To: Chris J Arges
  Cc: Torstein Hegge, alsa-devel, martin, Jaroslav Kysela, Eldad Zack,
	Trulan Martin, Damien Zammit, Mark Hills, linux-kernel

At Thu, 18 Jul 2013 10:16:29 -0500,
Chris J Arges wrote:
> 
> On 07/17/2013 06:53 PM, Torstein Hegge wrote:
> > On Wed, Jul 17, 2013 at 16:12:12 -0500, Chris J Arges wrote:
> >> This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
> >> The same non-standard interface descriptor causes snd_usb_create_mixer()
> >> to fail for the Focusrite Scarlett 18i8 as well.
> > 
> > Did you test this on a recent kernel? I don't think this quirk or the quirk
> > introduced by 1762a59d "ALSA: usb-audio: Add quirk for Focusrite Scarlett
> > 18i6" is necessary since kernel 3.9, as it includes:
> > 
> > 4d7b86c98 "ALSA: snd-usb: mixer: propagate errors up the call chain"
> > 83ea5d18d "ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()"
> > 61ac51301 "ALSA: usb: Parse UAC2 extension unit like for UAC1"
> > 
> > Those were tested on a Focusrite Scarlett 8i6, but the lsusb output
> > from 18i6 and 8i6 looks similar,
> > http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29426.html
> > http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg27776.html
> > I'm guessing the 18i8 isn't that different.
> > 
> 
> Re-testing this, I see that you are right. The mixer still doesn't work,
> but at least its usable for playback/recording/midi.
> Ignore this patch then.

OK, thanks for a quick update.


Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8
@ 2013-07-18 15:53       ` Takashi Iwai
  0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2013-07-18 15:53 UTC (permalink / raw)
  To: Chris J Arges
  Cc: alsa-devel, Eldad Zack, linux-kernel, martin, Trulan Martin,
	Torstein Hegge, Mark Hills, Damien Zammit

At Thu, 18 Jul 2013 10:16:29 -0500,
Chris J Arges wrote:
> 
> On 07/17/2013 06:53 PM, Torstein Hegge wrote:
> > On Wed, Jul 17, 2013 at 16:12:12 -0500, Chris J Arges wrote:
> >> This patch is similar to commit 1762a59d8e8b5e99f6f4a0f292b40f3cacb108ba.
> >> The same non-standard interface descriptor causes snd_usb_create_mixer()
> >> to fail for the Focusrite Scarlett 18i8 as well.
> > 
> > Did you test this on a recent kernel? I don't think this quirk or the quirk
> > introduced by 1762a59d "ALSA: usb-audio: Add quirk for Focusrite Scarlett
> > 18i6" is necessary since kernel 3.9, as it includes:
> > 
> > 4d7b86c98 "ALSA: snd-usb: mixer: propagate errors up the call chain"
> > 83ea5d18d "ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls()"
> > 61ac51301 "ALSA: usb: Parse UAC2 extension unit like for UAC1"
> > 
> > Those were tested on a Focusrite Scarlett 8i6, but the lsusb output
> > from 18i6 and 8i6 looks similar,
> > http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg29426.html
> > http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg27776.html
> > I'm guessing the 18i8 isn't that different.
> > 
> 
> Re-testing this, I see that you are right. The mixer still doesn't work,
> but at least its usable for playback/recording/midi.
> Ignore this patch then.

OK, thanks for a quick update.


Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-07-18 15:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-17 21:12 [PATCH] ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i8 Chris J Arges
2013-07-17 23:53 ` Torstein Hegge
2013-07-17 23:53   ` Torstein Hegge
2013-07-18 15:16   ` Chris J Arges
2013-07-18 15:53     ` Takashi Iwai
2013-07-18 15:53       ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.