[alsa-devel] [PATCH] ALSA: usb-audio: Add a quirk for Nura's first gen headset

Takashi Iwai tiwai at suse.de
Mon Jan 15 14:15:55 CET 2018


On Sun, 14 Jan 2018 17:05:53 +0100,
Martin Peres wrote:
> 
> The capture interface does not work, and the playback interface
> actually supports only 48kHz unlike what is advertised (44.1, 32, 22,
> 16, 8).
> 
> The only unknown here is if there are other devices that use the same
> product ID, but given that this ID is currently unknown, I would assume
> it is specially allocated for the nura headset.
> 
> Signed-off-by: Martin Peres <martin.peres at free.fr>

Applied, thanks.


Takashi

> ---
>  sound/usb/quirks-table.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
> 
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 8a59d4782a0f..50252046b01d 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -3277,4 +3277,52 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
>  	}
>  },
>  
> +{
> +	/*
> +	 * Nura's first gen headphones use Cambridge Silicon Radio's vendor
> +	 * ID, but it looks like the product ID actually is only for Nura.
> +	 * The capture interface does not work at all (even on Windows),
> +	 * and only the 48 kHz sample rate works for the playback interface.
> +	 */
> +	USB_DEVICE(0x0a12, 0x1243),
> +	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
> +		.ifnum = QUIRK_ANY_INTERFACE,
> +		.type = QUIRK_COMPOSITE,
> +		.data = (const struct snd_usb_audio_quirk[]) {
> +			{
> +				.ifnum = 0,
> +				.type = QUIRK_AUDIO_STANDARD_MIXER,
> +			},
> +			/* Capture */
> +			{
> +				.ifnum = 1,
> +				.type = QUIRK_IGNORE_INTERFACE,
> +			},
> +			/* Playback */
> +			{
> +				.ifnum = 2,
> +				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
> +				.data = &(const struct audioformat) {
> +					.formats = SNDRV_PCM_FMTBIT_S16_LE,
> +					.channels = 2,
> +					.iface = 2,
> +					.altsetting = 1,
> +					.altset_idx = 1,
> +					.attributes = UAC_EP_CS_ATTR_FILL_MAX |
> +						UAC_EP_CS_ATTR_SAMPLE_RATE,
> +					.endpoint = 0x03,
> +					.ep_attr = USB_ENDPOINT_XFER_ISOC,
> +					.rates = SNDRV_PCM_RATE_48000,
> +					.rate_min = 48000,
> +					.rate_max = 48000,
> +					.nr_rates = 1,
> +					.rate_table = (unsigned int[]) {
> +						48000
> +					}
> +				}
> +			},
> +		}
> +	}
> +},
> +
>  #undef USB_DEVICE_VENDOR_SPEC
> -- 
> 2.15.1
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list