[LAU] MOTU AVB series sample rate issue, JACK, and PulseAudio

Be be.0 at gmx.com
Tue Sep 19 16:36:41 UTC 2017

tl;dr: Has anyone figured out a convenient, reliable way to setup MOTU 
AVB series interfaces?

Hi, I recently got a MOTU Ultralite AVB to replace my RME Babyface Pro. 
RME advertise the Babyface Pro as working with Linux without proprietary 
drivers and because all essential functions can be controlled directly 
from the device, but that is not true. It is not possible to directly 
monitor a mono input on both sides of a stereo output. It is possible to 
hack around this with Y splitter cables on the inputs, but that's clunky 
and halves the number of available inputs. I contacted RME about this 
and pointed out an unused button on the device that could be used for 
toggling mono/stereo direct monitoring with a firmware update, but they 
did not care. It seems they only care about their own use cases, namely 
iOS. Apparently they can't be bothered to make minor changes for Linux 
users but are happy to misleadingly advertise Linux compatibility.

So I got a MOTU Ultralite AVB to replace the RME Babyface Pro. The sound 
quality is on par with the Babyface Pro but the Ultralite AVB has more 
I/O and features for a lower cost (although if recording guitar is 
important for you, IMO the Babyface Pro's instrument inputs sound 
clearer than the Ultralite AVB -- but keep in mind the direct monitoring 
issue). The Babyface Pro has some quirks when using it with GNU/Linux 
(which I think are caused by the 2 channel mode it has for iOS), but the 
Ultralite AVB has different quirks.

As discussed on this list previously, there are some oddities trying to 
set the Ultralite AVB's sample rate. This seems to cause some issues 
with PulseAudio. If I start PulseAudio with the Ultralite AVB plugged 
in, it works briefly but randomly drops out. When I plug in the 
Ultralite AVB after PulseAudio is started, it does not appear as an 
output for PulseAudio and I see this in PulseAudio's output:

E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" 
(argument: "device_id="1" 
namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no 
deferred_volume=yes use_ucm=yes 
card_properties="module-udev-detect.discovered=1""): initialization failed.

Occasionally I also see this in the output when I start PulseAudio with 
it plugged in already. This seems to appear randomly and is not 
correlated with PulseAudio output dropping out:
E: [alsa-sink-USB Audio] alsa-sink.c: ALSA woke us up to write new data 
to the device, but there was actually nothing to write.
E: [alsa-sink-USB Audio] alsa-sink.c: Most likely this is a bug in the 
ALSA driver 'snd_usb_audio'. Please report this issue to the ALSA 
E: [alsa-sink-USB Audio] alsa-sink.c: We were woken up with POLLOUT set 
-- however a subsequent snd_pcm_avail() returned 0 or another value < 

Sometimes it looks like PulseAudio tries to set the Ultralite AVB to a 
different sample rate. I sometimes notice the LCD display on the 
Ultralite AVB showing 192 kHz when PulseAudio tries to use it. I tried 
setting this in /etc/pulse/daemon.conf:

default-sample-rate = 44100

but it made no difference.

So I have tried using JACK regularly with the PulseAudio to JACK bridge. 
Unfortunately this has some quirks too. JACK won't start unless I wait 
several seconds after plugging in the Ultralite AVB. If the Ultralite 
AVB is plugged in when I boot up and log into KDE, QJackCtl autostarting 
JACK doesn't work. I think this is because PulseAudio tries to grab the 
device before JACK starts. I have to wait a few seconds and manually 
start JACK. If the Ultralite AVB's firmware is set to a different sample 
rate than JACK is configured for, JACK won't start.

Has anyone contacted MOTU about the sample rate switching issue? Ideally 
they could make it just work when the computer tells the audio interface 
to switch sample rates.

Also, has anyone contacted them about possibly changing the firmware so 
the web interface is available over USB on Linux? I think if they used 
the RNDIS Ethernet-over-USB protocol that Android uses for tethering it 
could be plug-and-play with Linux. Or has anyone started working on a 
custom driver to make this work? In the meantime I got a cheap little 
GL-MT300A router ( http://www.gl-inet.com/mt300a/ ) to use the web 
control interface away from my home network. It's neat. :)

More information about the Linux-audio-user mailing list