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@xxxxxxxxxxx> > --- > 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