Zoom L-20 works great in Ardour on Linux

Hi All,

As promised I wanted to quickly document here that the Zoom L-20 USB mixer interface works perfectly in class-compliant mode in Ardour on Linux and hope that this is useful to others pondering whether to get one or not.


This interface has 16 microphone/line inputs with phantom power, 4 extra line inputs and 4 line outputs over USB. You can record at 44.1 or 48k on all channels over USB and simultaneously to an internal SD card, which is great for reassurance when recording live concerts in case your laptop messes up (this is pretty rare these days but you never know). You can also record at 96k but only to the internal SD card, not over USB. All at 24-bit resolution of course.

If anyone has any questions or wants further detail, let me know :slight_smile:

There is a switch on the back of the mixer to enable class-compliant mode for Linux.

And you get messages like this from the kernel and Alsa:

[Tue Jun 15 09:32:47 2021] usb 1-2: new high-speed USB device number 10 using xhci_hcd
[Tue Jun 15 09:32:47 2021] usb 1-2: New USB device found, idVendor=1686, idProduct=0465, bcdDevice= 0.14
[Tue Jun 15 09:32:47 2021] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Tue Jun 15 09:32:47 2021] usb 1-2: Product: L-20
[Tue Jun 15 09:32:47 2021] usb 1-2: Manufacturer: ZOOM Corporation
[Tue Jun 15 09:32:47 2021] usb 1-2: SerialNumber: 70F053E3475000000000000000000000

card 1: L20 [L-20], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

If you have Pulseaudio running you need to disable its use of the Zoom in pavucontrol or some other similar place so Jack or Alsa can use it directly:

Then all inputs and outputs are available:

The last two channels 21+22 are the Master stereo output so you can also record your live mix over USB and to SD card.

And you get 2 stereo outputs:



What exactly does this switch do? I’ve never had any problems connecting Zoom devices to Linux and using them in Ardour…

What exactly does this switch do? I’ve never had any problems connecting Zoom devices to Linux and using them in Ardour…

So according to the docs, it’s for connecting it to things like iPads that have generic USB audio drivers but not Zoom specific ones, which includes Linux. When not in this mode, the kernel can see the USB device ok but it is not presented as an interface by ALSA so is unusable. I suppose the Zoom devices you used were presenting a generic interface over USB by default or ALSA had a specific driver for them.

I see. Since ALSA doesn’t have anything specific for Zoom devices (AFAIK), I must therefore assume that all Zoom devices I tried were class compliant, and the L20 is the only one that is not class compliant unless you flip the switch… Surprising.

So there must be specific functionality that is accessible only on Windows, using the Zoom driver, and the class compliancy switch “off”. Or the Windows USB drivers are less sophisticated than the Linux drivers.

Or I may just have been lucky :relaxed:.

So in Windows you get an ASIO driver for the L-20 which I suppose can do lower latency (as it should have more direct control of the hardware?) than a generic ASIO driver talking to the Zoom in class-compliant mode. But now I’m only guessing :slight_smile: