[alsa-devel] how to ask you to write a new ALSA driver

jean-noël chardron rondrach at gmail.com
Fri May 22 12:04:55 CEST 2015


Thank you for your answer,


2015-05-22 11:10 GMT+02:00 Antonio Ospite <ao2 at ao2.it>:

> On Thu, 21 May 2015 12:28:00 +0200
> jean-noël chardron <rondrach at gmail.com> wrote:
>
> > hello,
> >
> > Last week I got a Komplet Audio 6 from Native intruments.
> > The driver exist in ALSA driver for this king of interface audio
> > (snd-usb-audio) (thanks for the team who write this) but for the model
> > where Id Vendor is 0x17cc and Id product is 0x1000.
> >
> > The KA6 that I got has not the same ID product (0x1001) therefore I don't
> > have any device capture even with the driver snd-usb-audio.
> >
> > The challenge is to write the modification for this new model.
> > Who could do that ?
>
> You can try yourself.
>
hum, it's indeed beyond my knowledge


>
> If you know or suspect that your device is similar to the supported ones
> look where the 0x17cc vendor id is used and try to follow the existing
> code, and try to come up with the _minimum_ amount of changes required to
> make the device work.
>
> For instance, after a "git grep 0x17cc -- sound/" I came up with this
> diff:
>
> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> index 2f6d3e9..d254b14 100644
> --- a/sound/usb/quirks-table.h
> +++ b/sound/usb/quirks-table.h
> @@ -2740,6 +2740,12 @@ YAMAHA_DEVICE(0x7010, "UB99"),
>         .idProduct = 0x1000,
>  },
>  {
> +       /* Komplete Audio 6 */
> +       .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
> +       .idVendor = 0x17cc,
> +       .idProduct = 0x1001,
> +},
> +{
>         /* Traktor Audio 6 */
>         .match_flags = USB_DEVICE_ID_MATCH_DEVICE,
>         .idVendor = 0x17cc,
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 7c5a701..2f9ee824 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1007,6 +1007,7 @@ int snd_usb_apply_boot_quirk(struct usb_device *dev,
>                 return snd_usb_accessmusic_boot_quirk(dev);
>
>         case USB_ID(0x17cc, 0x1000): /* Komplete Audio 6 */
> +       case USB_ID(0x17cc, 0x1001): /* Komplete Audio 6 */
>         case USB_ID(0x17cc, 0x1010): /* Traktor Audio 6 */
>         case USB_ID(0x17cc, 0x1020): /* Traktor Audio 10 */
>                 return snd_usb_nativeinstruments_boot_quirk(dev);
>




> However without knowing the device I am not sure if the second change is
> strictly necessary, or if the two are even enough.
>
> So please try to apply one of them at the time, recompile, test, and let
> us know.
>
> I have tried that you write in first  with no luck.
I edit the files :

edit :quirks.c and | or quirks-table.h -> result
edit :   yes        and      yes       -> err = -11 in snd-usb-audio
edit :   no                  yes       -> driver not loading
edit :   yes                 no        -> err =-22
edit :   no                  no        -> driver load but no device capture



> > If necessary I could send log, compile kernel source and so on.
> > thanks,
>
> Keep logs before and after changes you make so that you can compare the
> result of the changes.
>
> Ciao,
>    Antonio
>
> --
> Antonio Ospite
> http://ao2.it
>
> A: Because it messes up the order in which people normally read text.
>    See http://en.wikipedia.org/wiki/Posting_style
> Q: Why is top-posting such a bad thing?
>


More information about the Alsa-devel mailing list