Firewire Audio on Linux: Fixing FFADO dbus-service Errors
Starting the Balky DBus
This is a quick tip that may help other FFADO users struggling with the same problem. FFADO is the excellent Firewire audio driver project, so that we may use nice higher-end Firewire recording interfaces on our Linux machines. There is a database of supported devices, and some mailing lists where one may get a bit of help.
I have a Focusrite Saffire Pro I/O 26 multi-channel recording interface. This is a super-nice, heavy-duty, professional-level digital recording interface. Focusrite is one of the vendors supporting the FFADO project.
Arch Linux is my preferred audio production operating system, but I keep an Ubuntu box up for testing because they're always pushing the bleeding edge and trying to make things nicer for end users. Starting in 9.10, or maybe 9.04, Ubuntu packaged the FFADO drivers. This was a nice convenience as most distros were not doing this, and installing FFADO required a source build. Which was not too bad, but still more work than using a package manager.
So I had FFADO all set up and working nicely, and then I dist-upgraded to 10.04. Something changed, and when I started ffado-mixer I kept getting an "ERROR: Could not communicate with the FFADO DBus service" message, and it would not start. If I started ffado-mixer from the graphical launcher it said "Somehow the connection to the dbus-service of FFADO couldn't be established." So after a lot of Web searching and experimentation I finally figured out that the FFADO DBus service was not starting. Argh! So this is how to start it:
This command comes in the ffado-tools package. Somewhere along the way Ubuntu or Gnome jettisoned the nice graphical services manager, so one of these days I'll look in my notes to remember how to start ffado-dbus-server at boot.
Big FFADO and Firewire ChangesStarting with the 2.6.32 kernel there is a new Firewire stack, which means all applications that depend on this need to be updated. Ideally they will "just work" with this new stack, and not require fussing with /dev/raw1394 permissions, or futzing with loading the ieee1394, raw1394, and ohci1394 kernel modules. I have not gotten this to work yet because all the pieces are not quite in place yet in distro repos, such as FFADO version 2.0.1 and libraw1394 2.0.5. So for now I am using a linux-image-rt_220.127.116.11 kernel and sticking with the olden ways. Some users have built FFADO and newest kernels from version control and reported that the new FFADO works nicely with the new kernel Firewire driver stack.
Here is a good howto for getting FFADO working on pre-2.6.32 kernels. FFADO.org has a bit of documentation, and the user mailing list archive is on SourceForge. I will write more about this if there is reader interest, and if I actually figure it out.
Carla Schroder is the author of the Linux Cookbook and the Linux Networking Cookbook (O'Reilly Media), the upcoming "Book of Audacity" (NoStarch Press), a lifelong book lover, and the managing editor of LinuxPlanet and Linux Today.