[alsa-devel] Zoom R16 (USB) again

Jani Frilander j.frilander at gmail.com
Sun Oct 24 17:56:08 CEST 2010


Hello all,

I've been trying to make Zoom R16 multi track recorder / audio interface /
control surface working with Linux without any success. I've tried this quirk,
but it usually just hang the unit:

{
        /* 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_AUDIO_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = 2,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = 3,
                                .type = QUIRK_MIDI_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = -1
                        },
                }
        }
},

This one doesn't freeze it, but it neither works. No sound with playback.

{
        /* 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_AUDIO_STANDARD_INTERFACE,
                        },
                        {
                                .ifnum = 1,
                                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
                                .data = &(const struct audioformat) {
                                        .formats = SNDRV_PCM_FMTBIT_S24_3LE,
                                        .channels = 2,
                                        .iface = 1,
                                        .altsetting = 1,
                                        .altset_idx = 1,
                                        .attributes =
UAC_EP_CS_ATTR_SAMPLE_RATE,
                                        .endpoint = 0x03,
                                        .ep_attr = 0x01,
                                        .maxpacksize = 0x6c,
                                        .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 = 2,
                                .type = QUIRK_AUDIO_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = 3,
                                .type = QUIRK_MIDI_STANDARD_INTERFACE
                        },
                        {
                                .ifnum = -1
                        },
                }
        }
},

I attached the lsusb -v output. There are couple usb snoop logs.

1) The other, not so great OS plays new device found sound @ 96 kHz:
https://sites.google.com/site/zoomr16linux/technical-information/usbsnoop.log.bz2?attredirects=0

2) Short (0.15 sec) .wav @ 44.1 kHz:
https://sites.google.com/site/zoomr16linux/technical-information/usbsnoop2.log.bz2?attredirects=0
https://sites.google.com/site/zoomr16linux/technical-information/short.wav?attredirects=0&d=1

It would be fun to get this device working with Linux. I'd appreciate a lot
if someone could help me out.

Regards,
Jani
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lsusb
Type: application/octet-stream
Size: 5473 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20101024/f7af4b34/attachment.dll 


More information about the Alsa-devel mailing list