Skip to content

Commit 73d8c94

Browse files
František Kučeratiwai
authored andcommitted
ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk
Pioneer DJ DJM-250MK2 is a mixer that acts like a USB sound card. The MIDI controller part is standard but the PCM part is "vendor specific". Output is enabled by this quirk: 8 channels, 48 000 Hz, S24_3LE. Input is not working. Signed-off-by: František Kučera <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent b79900a commit 73d8c94

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

sound/usb/quirks-table.h

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3592,5 +3592,47 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
35923592
}
35933593
}
35943594
},
3595+
{
3596+
/*
3597+
* Pioneer DJ DJM-250MK2
3598+
* PCM is 8 channels out @ 48 fixed (endpoints 0x01).
3599+
* The output from computer to the mixer is usable.
3600+
*
3601+
* The input (phono or line to computer) is not working.
3602+
* It should be at endpoint 0x82 and probably also 8 channels,
3603+
* but it seems that it works only with Pioneer proprietary software.
3604+
* Even on officially supported OS, the Audacity was unable to record
3605+
* and Mixxx to recognize the control vinyls.
3606+
*/
3607+
USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0017),
3608+
.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
3609+
.ifnum = QUIRK_ANY_INTERFACE,
3610+
.type = QUIRK_COMPOSITE,
3611+
.data = (const struct snd_usb_audio_quirk[]) {
3612+
{
3613+
.ifnum = 0,
3614+
.type = QUIRK_AUDIO_FIXED_ENDPOINT,
3615+
.data = &(const struct audioformat) {
3616+
.formats = SNDRV_PCM_FMTBIT_S24_3LE,
3617+
.channels = 8, // outputs
3618+
.iface = 0,
3619+
.altsetting = 1,
3620+
.altset_idx = 1,
3621+
.endpoint = 0x01,
3622+
.ep_attr = USB_ENDPOINT_XFER_ISOC|
3623+
USB_ENDPOINT_SYNC_ASYNC,
3624+
.rates = SNDRV_PCM_RATE_48000,
3625+
.rate_min = 48000,
3626+
.rate_max = 48000,
3627+
.nr_rates = 1,
3628+
.rate_table = (unsigned int[]) { 48000 }
3629+
}
3630+
},
3631+
{
3632+
.ifnum = -1
3633+
}
3634+
}
3635+
}
3636+
},
35953637

35963638
#undef USB_DEVICE_VENDOR_SPEC

0 commit comments

Comments
 (0)