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

Jaroslav Kysela perex at perex.cz
Thu Mar 26 10:20:39 CET 2020


Dne 04. 03. 20 v 17:03 František Kučera napsal(a):
> 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?

Takashi, could you put this patch to sound-next ? A partial support is better 
than no support.

						Jaroslav

-- 
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list