Hi, I experienced some really odd USB issues with a Tascam Model 12 audio interface. The problem has been resolved, but I am sharing hard-earned info for the next person whom attempts this.
First, if attempting to run specialized audio hardware and a Digital Audio Workstation (DAW) software such as Reaper or Ardour, this can be a rather complex endeavor in Linux. Mabox/Manjaro/Arch do not come setup for real-time audio. There are other distros which are specifically tuned for this; if you must have audio production capability, it could be much simpler to start with one of those distros first.
Second, to use Reaper and the Model 12, a slew of additional software, configuration, and kernel changes are needed. The latest kernel (PREEMPT_DYNAMIC) was installed. Install
jack2 and a controller like
qjackctl. The Model 12 is USB class-compliant, so doesn’t need a driver. But it does need many changes to the OS. As a checklist, install rtcqs, which is an acronym for Real-Time Configuration Quick Scan. This includes a
rtcqs_gui tool which may be easier to use. In any case, this will outline things you can change to improve Audio performance. Some of these can be rather involved, such as installing real-time kernels and changing boot parameters. There is also a lot of info over at Arch Professional Audio. The further you dig, the deeper this rabbit-hole goes…
Then to actually use the Model 12, you have to open
qjackctl, pick the
hw:M12, and set the number of inputs and outputs to 12 and 10 respectively. Any other number and it won’t work.
Accept those settings and click the start button. When it stays running, open your DAW and then set that to use JACK. Might have to play something then go back to
qjackctl and click the Graph button to see how things are wired between the DAW and the hardware. (Clicking out of the DAW might switch which audio device is being used.) It is helpful at first to have your DAW only automatically connect one input and two outputs. Record and playback a short clip. If everything sounds pristine, invite all of your friends and throw a wild party.
Chances are, you’ve read this far because of problems, likely being pops / clicks / static / drop-outs of the USB audio, etc. When I first received the Model 12 (used), it did not include the USB-C cable. So I grabbed the only USB-A to USB-C cable I had (a cheap three-pack just for charging phones.) It seemed to work, but suffered from frequent pops and “stalls” where the audio would stop with no explanation. A stall required jack2 and the Model 12 to be stopped and restarted. This PC has USB 1.x/2.x ports (480Mbit), 3.0 (5Gbit), one 3.1 (10Gbit), and one 3.2x2 (20gbps, USB-C) port. Even though the 2.x ports should have been fast enough to at least run one input and two output channels simultaneously, the PC totally refused connection on these ports. The only port which worked at all was the 3.1 port. Weird.
The next really weird thing is that audio quality improved greatly when I physically distanced the Model 12 USB cable from all others. Hmm okay, so maybe there is something wrong with this cable, like a damaged shield. I tried all three from the package, and they all performed exactly the same. So it was picking up noise from the other cables, or was otherwise just not up to this task. So I ordered a premium 20Gbps-capable USB-C to USB-C cable, installed that, and it was MUCH WORSE! Totally unusable. Since that cable only fits into the 3.2x2 port, it could not be tested in any other port.
Ordered several more sets of cables and an “A-to-C” adapter. The fix ended up being a “USB Super-Speed” A-to-C cable. This isn’t just recommended, it is mandatory. Once I got a decent A-to-C cable, it fully works as expected. It even works in the USB 2.x ports, although not very well. So USB3 and a good A-to-C cable is essential.
There is a lot more to this, like debugging
dmsg error codes, halting all unneeded USB endpoints, comparing
lsusb -t, etc. But in the end, the issue was a sub-standard cable.