[PATCH] quirk for Pioneer DJ DJM-250MK2 usb sound card

František Kučera konference at frantovo.cz
Wed Mar 4 17:03:39 CET 2020


Dne 24. 02. 20 v 17:29 František Kučera napsal(a):
> Hello,
>
> I have created a quirk that adds support for the Pioneer DJ DJM-250MK2 mixer (acts like a USB sound card, but Vendor Specific Class).
>
> Output (from computer to card) is working: 8 channels, 48 000 Hz, S24_3LE.
>
> Input is not working. I tried, but I was unable to make it working even under an officially supported OS with Pioneer drivers - Audacity or Mixxx see the channels, but there is no signal. It probably works only with Pioneer proprietary application. But I hope that even mere output support will be useful for someone. (it is usable for playback, just not for DVS)
>
> Franta
>
> Signed-off-by: František Kučera <franta-linux at frantovo.cz>
> ---
>  sound/usb/quirks-table.h | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index d187aa6d50db..dcaf9eed9a41 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -3592,5 +3592,47 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
>                 }
>         }
>  },
> +{
> +       /*
> +        * Pioneer DJ DJM-250MK2
> +        * PCM is 8 channels out @ 48 fixed (endpoints 0x01).
> +        * The output from computer to the mixer is usable.
> +        *
> +        * The input (phono or line to computer) is not working.
> +        * It should be at endpoint 0x82 and probably also 8 channels,
> +        * but it seems that it works only with Pioneer proprietary software.
> +        * Even on officially supported OS, the Audacity was unable to record
> +        * and Mixxx to recognize the control vinyls.
> +        */
> +       USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0017),
> +       .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_FIXED_ENDPOINT,
> +                               .data = &(const struct audioformat) {
> +                                       .formats = SNDRV_PCM_FMTBIT_S24_3LE,
> +                                       .channels = 8, // outputs
> +                                       .iface = 0,
> +                                       .altsetting = 1,
> +                                       .altset_idx = 1,
> +                                       .endpoint = 0x01,
> +                                       .ep_attr = USB_ENDPOINT_XFER_ISOC|
> +                                               USB_ENDPOINT_SYNC_ASYNC,
> +                                       .rates = SNDRV_PCM_RATE_48000,
> +                                       .rate_min = 48000,
> +                                       .rate_max = 48000,
> +                                       .nr_rates = 1,
> +                                       .rate_table = (unsigned int[]) { 48000 }
> +                               }
> +                       },
> +                       {
> +                               .ifnum = -1
> +                       }
> +               }
> +       }
> +},
>  
>  #undef USB_DEVICE_VENDOR_SPEC
>
Can anyone review this patch please?

Franta



More information about the Alsa-devel mailing list