Skip to content

Commit 33193dc

Browse files
mupuftiwai
authored andcommitted
ALSA: usb-audio: Add a quirk for Nura's first gen headset
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 <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
1 parent 8999bd3 commit 33193dc

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

sound/usb/quirks-table.h

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3277,4 +3277,52 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
32773277
}
32783278
},
32793279

3280+
{
3281+
/*
3282+
* Nura's first gen headphones use Cambridge Silicon Radio's vendor
3283+
* ID, but it looks like the product ID actually is only for Nura.
3284+
* The capture interface does not work at all (even on Windows),
3285+
* and only the 48 kHz sample rate works for the playback interface.
3286+
*/
3287+
USB_DEVICE(0x0a12, 0x1243),
3288+
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
3289+
.ifnum = QUIRK_ANY_INTERFACE,
3290+
.type = QUIRK_COMPOSITE,
3291+
.data = (const struct snd_usb_audio_quirk[]) {
3292+
{
3293+
.ifnum = 0,
3294+
.type = QUIRK_AUDIO_STANDARD_MIXER,
3295+
},
3296+
/* Capture */
3297+
{
3298+
.ifnum = 1,
3299+
.type = QUIRK_IGNORE_INTERFACE,
3300+
},
3301+
/* Playback */
3302+
{
3303+
.ifnum = 2,
3304+
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
3305+
.data = &(const struct audioformat) {
3306+
.formats = SNDRV_PCM_FMTBIT_S16_LE,
3307+
.channels = 2,
3308+
.iface = 2,
3309+
.altsetting = 1,
3310+
.altset_idx = 1,
3311+
.attributes = UAC_EP_CS_ATTR_FILL_MAX |
3312+
UAC_EP_CS_ATTR_SAMPLE_RATE,
3313+
.endpoint = 0x03,
3314+
.ep_attr = USB_ENDPOINT_XFER_ISOC,
3315+
.rates = SNDRV_PCM_RATE_48000,
3316+
.rate_min = 48000,
3317+
.rate_max = 48000,
3318+
.nr_rates = 1,
3319+
.rate_table = (unsigned int[]) {
3320+
48000
3321+
}
3322+
}
3323+
},
3324+
}
3325+
}
3326+
},
3327+
32803328
#undef USB_DEVICE_VENDOR_SPEC

0 commit comments

Comments
 (0)