Re: re Zoom R16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/23/2014 05:52 PM, sub_acoustic wrote:
Hi,

Excuse my ignorance, but how to I recompile a kernel with the quirk? Or if
you could direct me to the information
I can't find any straightforward instructions anywhere...

Here's what I did:

1) placed the quirks in a file (/usr/src/zoom_quirks.h)

2) included it in the build by adding a line to /usr/src/linux/sound/usb/quirks_table.h:
#include "../../../zoom_quirks.h"

It might be more direct to add the the quirk intry directly in /usr/src/linux/sound/usb/quirks_table.h, but this way it survives across different kernel builds and is easier to fiddle with.

Here's the content of zoom_quirks.h (between ---begin--- and ---end---, remember the first character of the file is "{" the last is ",":

---begin---
{
    /* ZOOM R16 in USB 2.0 mode */
    USB_DEVICE(0x1686, 0x00dd),
.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_IGNORE_INTERFACE
            },
            {
                .ifnum = 1,
                .type = QUIRK_AUDIO_STANDARD_INTERFACE
            },
            {
                .ifnum = 2,
                .type = QUIRK_AUDIO_STANDARD_INTERFACE
            },
            {
                .ifnum = 3,
                .type = QUIRK_MIDI_STANDARD_INTERFACE
            },

            {
                .ifnum = 4,
                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
                .data = & (const struct audioformat) {
                    .formats = SNDRV_PCM_FMTBIT_S24_LE,
                    .channels = 8,
                    .iface = 1,
                    .altsetting = 1,
                    .altset_idx = 1,
                    .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
                    .rates = SNDRV_PCM_RATE_44100 |
                    SNDRV_PCM_RATE_48000 |
                    SNDRV_PCM_RATE_88200 |
                    SNDRV_PCM_RATE_96000,
                    .rate_min = 44100,
                    .rate_max = 96000,
                    .nr_rates = 4,
                    .rate_table = (unsigned int[]) {
                        44100, 48000, 88200, 96000
                    }
                }
            },



            {
                .ifnum = .1
            },


        }

    }

},
---end---

Hope that helps!
--
Atte

http://atte.dk   http://modlys.dk
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user




[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux