Getting M-Audio Firewire Solo to work with Linux and Jack
I was just trying to get an M-Audio Firewire Solo external firewire sound adapter to work under Linux (Ubuntu maverick 10.10).
Turns out, I had to build jack (jackd2), ffado, and freebob (1.0.7 — i couldn’t get 1.0.11) from source — jack and ffado both from the latest subversion sources. Had to configure jackmp to enable firewire, freebob, and alsa. In the process of this I had to manually make several code fixes to these source files (a lot of c++ files use stuff from stdio.h, stdlib.h, and string.h without including those headers — and there is a random extra parenthesis in one of the jack files from subversion) to get them to compile.
Then, I needed to power cycle the firewire device. Launching jackd with
/usr/local/bin/jackd -d firewire
works,
and on my laptop with onboard intel sound I can add it by running:
jack_load audioadapter
Then I can play with jackrack/etc and access both my Dell M4500’s onboard Intel HDA audio and my M-Audio firewire box from jack at the same time.
Note that before any of this I fully removed pulseaudio from the machine. I also installed my build of jack _on top of_ the ubuntu-provided jack distro — if Ubuntu updates the package it will mess everything up but I can just reinstall my version. If I didn’t do this, I would either have to figure out how to build everything i did into an Ubuntu/debian package (WAY more work and way more complicated than necessary) or not install the ubuntu jack packages, in which case I would not be able to use apt to install any jack-based apps because apt would say the jack dependency was missing.