[alsa-devel] Zoom R16 (USB) again
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.lo...
2) Short (0.15 sec) .wav @ 44.1 kHz: https://sites.google.com/site/zoomr16linux/technical-information/usbsnoop2.l... https://sites.google.com/site/zoomr16linux/technical-information/short.wav?a...
It would be fun to get this device working with Linux. I'd appreciate a lot if someone could help me out.
Regards, Jani
Hello,
Haven't got very much feedback. I took a look at the snoop logs. Packets seem to be in very different form than standard alsa driver sends them, if I understand corrrectly:
This is the original wav: 00000000 52 49 46 46 18 6a 00 00 57 41 56 45 66 6d 74 20 |RIFF.j..WAVEfmt | 00000010 10 00 00 00 01 00 02 00 44 ac 00 00 10 b1 02 00 |........D.......| 00000020 04 00 10 00 64 61 74 61 f4 69 00 00 d8 fe 14 eb |....data.i......| 00000030 7d fd 62 ef 36 fa 62 f2 ec f5 6f f0 08 f1 1a ee |}.b.6.b...o.....| 00000040 e0 eb 24 ee f8 e9 e4 ed ef ec 6c ed ae f0 65 ed |..$.......l...e.| 00000050 c3 f2 28 ec 6d f4 98 ea 89 f5 79 ea 54 f5 15 ea |..(.m.....y.T...| 00000060 66 f4 33 e7 17 f3 30 e3 f6 f0 9a e1 93 ee d6 e3 |f.3...0.........| 00000070 4b ee fe e9 30 f0 6b f4 42 f0 66 fe fa ed a8 01 |K...0.k.B.f.....| . . .
And the snooped packet:
[17616 ms] >>> URB 11 going down >>> -- URB_FUNCTION_ISOCH_TRANSFER: PipeHandle = 85025c34 [endpoint 0x00000003] TransferFlags = 00000006 (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK, USBD_START_ISO_TRANSFER_ASAP TransferBufferLength = 00000300 TransferBuffer = 853eb000 TransferBufferMDL = 00000000 StartFrame = 00000000 NumberOfPackets = 00000010 IsoPacket[0].Offset = 0 IsoPacket[0].Length = 52 00000000: 30 00 00 00 24 00 d8 fe 20 00 14 eb 64 00 7d fd 00000010: 80 ff 61 ef 60 ff 35 fa 70 ff 61 f2 a0 ff eb f5 00000020: 60 ff 6e f0 30 00 08 f1 e0 ff 19 ee 40 00 e0 eb 00000030: e0 00 24 ee IsoPacket[1].Offset = 52 IsoPacket[1].Length = 44 00000000: 28 00 00 00 a0 ff f7 e9 c0 ff e3 ed a0 00 ef ec 00000010: e0 ff 6b ed 90 ff ad f0 80 ff 64 ed d0 ff c2 f2 00000020: 60 ff 27 ec f0 ff 6c f4 c0 ff 97 ea IsoPacket[2].Offset = 96 IsoPacket[2].Length = 52 00000000: 30 00 00 00 e0 ff 88 f5 20 ff 78 ea 90 00 54 f5 00000010: 60 00 15 ea 30 00 66 f4 80 ff 32 e7 90 ff 16 f3 00000020: e0 ff 2f e3 f0 ff f5 f0 a0 ff 99 e1 60 ff 92 ee 00000030: 60 00 d6 e3 IsoPacket[3].Offset = 148 IsoPacket[3].Length = 44 00000000: 28 00 00 00 80 00 4b ee a0 ff fd e9 d0 ff 2f f0 00000010: e0 ff 6a f4 60 00 42 f0 e4 00 66 fe c0 ff f9 ed 00000020: 4a 00 a8 01 a0 00 ec ed 40 00 ac 00 . . .
And wireshark log of the alsa driver:
0000 00 00 00 00 40 00 00 00 01 00 00 00 a8 07 00 00 ....@... ........ 0010 02 00 00 00 40 00 00 00 ee ff ff ff 00 00 00 00 ....@... ........ 0020 28 00 00 00 00 00 00 00 ee ff ff ff 28 00 00 00 (....... ....(... 0030 30 00 00 00 00 00 00 00 ee ff ff ff 58 00 00 00 0....... ....X... 0040 28 00 00 00 00 00 00 00 ee ff ff ff 80 00 00 00 (....... ........ 0050 30 00 00 00 00 00 00 00 ee ff ff ff b0 00 00 00 0....... ........ 0060 28 00 00 00 00 00 00 00 ee ff ff ff d8 00 00 00 (....... ........ 0070 30 00 00 00 00 00 00 00 ee ff ff ff 08 01 00 00 0....... ........ 0080 28 00 00 00 00 00 00 00 ee ff ff ff 30 01 00 00 (....... ....0... 0090 30 00 00 00 00 00 00 00 ee ff ff ff 60 01 00 00 0....... ....`... 00a0 30 00 00 00 00 00 00 00 ee ff ff ff 90 01 00 00 0....... ........ 00b0 28 00 00 00 00 00 00 00 ee ff ff ff b8 01 00 00 (....... ........ 00c0 30 00 00 00 00 00 00 00 ee ff ff ff e8 01 00 00 0....... ........ 00d0 28 00 00 00 00 00 00 00 ee ff ff ff 10 02 00 00 (....... ........ 00e0 30 00 00 00 00 00 00 00 ee ff ff ff 40 02 00 00 0....... ....@... 00f0 28 00 00 00 00 00 00 00 ee ff ff ff 68 02 00 00 (....... ....h... 0100 30 00 00 00 00 00 00 00 ee ff ff ff 98 02 00 00 0....... ........ 0110 28 00 00 00 00 00 00 00 ee ff ff ff c0 02 00 00 (....... ........ 0120 30 00 00 00 00 00 00 00 ee ff ff ff f0 02 00 00 0....... ........ 0130 28 00 00 00 00 00 00 00 ee ff ff ff 18 03 00 00 (....... ........ 0140 30 00 00 00 00 00 00 00 ee ff ff ff 48 03 00 00 0....... ....H... 0150 28 00 00 00 00 00 00 00 ee ff ff ff 70 03 00 00 (....... ....p... 0160 30 00 00 00 00 00 00 00 ee ff ff ff a0 03 00 00 0....... ........ 0170 28 00 00 00 00 00 00 00 ee ff ff ff c8 03 00 00 (....... ........ 0180 30 00 00 00 00 00 00 00 ee ff ff ff f8 03 00 00 0....... ........ 0190 28 00 00 00 00 00 00 00 ee ff ff ff 20 04 00 00 (....... .... ... 01a0 30 00 00 00 00 00 00 00 ee ff ff ff 50 04 00 00 0....... ....P... 01b0 28 00 00 00 00 00 00 00 ee ff ff ff 78 04 00 00 (....... ....x... 01c0 30 00 00 00 00 00 00 00 ee ff ff ff a8 04 00 00 0....... ........ 01d0 28 00 00 00 00 00 00 00 ee ff ff ff d0 04 00 00 (....... ........ 01e0 30 00 00 00 00 00 00 00 ee ff ff ff 00 05 00 00 0....... ........ 01f0 28 00 00 00 00 00 00 00 ee ff ff ff 28 05 00 00 (....... ....(... 0200 30 00 00 00 00 00 00 00 ee ff ff ff 58 05 00 00 0....... ....X... 0210 28 00 00 00 00 00 00 00 ee ff ff ff 80 05 00 00 (....... ........ 0220 30 00 00 00 00 00 00 00 ee ff ff ff b0 05 00 00 0....... ........ 0230 28 00 00 00 00 00 00 00 ee ff ff ff d8 05 00 00 (....... ........ 0240 30 00 00 00 00 00 00 00 ee ff ff ff 08 06 00 00 0....... ........ 0250 28 00 00 00 00 00 00 00 ee ff ff ff 30 06 00 00 (....... ....0... 0260 30 00 00 00 00 00 00 00 ee ff ff ff 60 06 00 00 0....... ....`... 0270 28 00 00 00 00 00 00 00 ee ff ff ff 88 06 00 00 (....... ........ 0280 30 00 00 00 00 00 00 00 ee ff ff ff b8 06 00 00 0....... ........ 0290 28 00 00 00 00 00 00 00 ee ff ff ff e0 06 00 00 (....... ........ 02a0 30 00 00 00 00 00 00 00 ee ff ff ff 10 07 00 00 0....... ........ 02b0 28 00 00 00 00 00 00 00 ee ff ff ff 38 07 00 00 (....... ....8... 02c0 30 00 00 00 00 00 00 00 ee ff ff ff 68 07 00 00 0....... ....h... 02d0 28 00 00 00 00 00 00 00 ee ff ff ff 90 07 00 00 (....... ........ 02e0 30 00 00 00 00 00 00 00 ee ff ff ff c0 07 00 00 0....... ........ 02f0 28 00 00 00 00 00 00 00 ee ff ff ff e8 07 00 00 (....... ........ 0300 30 00 00 00 00 00 00 00 ee ff ff ff 18 08 00 00 0....... ........ 0310 28 00 00 00 00 00 00 00 ee ff ff ff 40 08 00 00 (....... ....@... 0320 30 00 00 00 00 00 00 00 ee ff ff ff 70 08 00 00 0....... ....p... 0330 30 00 00 00 00 00 00 00 ee ff ff ff a0 08 00 00 0....... ........ 0340 28 00 00 00 00 00 00 00 ee ff ff ff c8 08 00 00 (....... ........ 0350 30 00 00 00 00 00 00 00 ee ff ff ff f8 08 00 00 0....... ........ 0360 28 00 00 00 00 00 00 00 ee ff ff ff 20 09 00 00 (....... .... ... 0370 30 00 00 00 00 00 00 00 ee ff ff ff 50 09 00 00 0....... ....P... 0380 28 00 00 00 00 00 00 00 ee ff ff ff 78 09 00 00 (....... ....x... 0390 30 00 00 00 00 00 00 00 ee ff ff ff a8 09 00 00 0....... ........ 03a0 28 00 00 00 00 00 00 00 ee ff ff ff d0 09 00 00 (....... ........ 03b0 30 00 00 00 00 00 00 00 ee ff ff ff 00 0a 00 00 0....... ........ 03c0 28 00 00 00 00 00 00 00 ee ff ff ff 28 0a 00 00 (....... ....(... 03d0 30 00 00 00 00 00 00 00 ee ff ff ff 58 0a 00 00 0....... ....X... 03e0 28 00 00 00 00 00 00 00 ee ff ff ff 80 0a 00 00 (....... ........ 03f0 30 00 00 00 00 00 00 00 ee ff ff ff b0 0a 00 00 0....... ........ 0400 28 00 00 00 00 00 00 00 ee ff ff ff d8 0a 00 00 (....... ........ 0410 30 00 00 00 00 00 00 00 00 00 d8 fe 00 00 14 eb 0....... ........ 0420 00 00 7d fd 00 00 62 ef 00 00 36 fa 00 00 62 f2 ..}...b. ..6...b. 0430 00 00 ec f5 00 00 6f f0 00 00 08 f1 00 00 1a ee ......o. ........ 0440 00 00 e0 eb 00 00 24 ee 00 00 f8 e9 00 00 e4 ed ......$. ........ 0450 00 00 ef ec 00 00 6c ed 00 00 ae f0 00 00 65 ed ......l. ......e. 0460 00 00 c3 f2 00 00 28 ec 00 00 6d f4 00 00 98 ea ......(. ..m..... 0470 00 00 89 f5 00 00 79 ea 00 00 54 f5 00 00 15 ea ......y. ..T..... 0480 00 00 66 f4 00 00 33 e7 00 00 17 f3 00 00 30 e3 ..f...3. ......0. 0490 00 00 f6 f0 00 00 9a e1 00 00 93 ee 00 00 d6 e3 ........ ........ 04a0 00 00 4b ee 00 00 fe e9 00 00 30 f0 00 00 6b f4 ..K..... ..0...k. 04b0 00 00 42 f0 00 00 66 fe 00 00 fa ed 00 00 a8 01 ..B...f. ........ 04c0 00 00 ec ed 00 00 ac 00 00 00 fa ef 00 00 b6 ff ........ ........ 04d0 00 00 4a ef 00 00 e7 fb 00 00 88 eb 00 00 12 f4 ..J..... ........ 04e0 00 00 a8 e8 00 00 9c ec 00 00 a8 e8 00 00 94 e7 ........ ........ 04f0 00 00 82 ea 00 00 76 e4 00 00 43 ec 00 00 fc e4 ......v. ..C..... 0500 00 00 a4 ec 00 00 49 eb 00 00 94 eb 00 00 c8 f3 ......I. ........ . . . 0af0 00 00 02 03 00 00 65 00 00 00 f7 00 00 00 57 f9 ......e. ......W. 0b00 00 00 c3 fb 00 00 ca f0 00 00 c3 fd 00 00 6f ef ........ ......o.
Alsa 1.0.23 USB driver seems to send quite large packets compared to windows driver if I understand this right.
Regards, Jani
participants (1)
-
Jani Frilander