Linux Switch: My Mixer Works under Linux!

The last time I discussed my ongoing project to switch back to using Linux fully in my lab/home office, it was to apologize for not having much interesting to share since my initial travails getting everything installed on my Mac Pro. Rather than being a complete bum today after I decided to skip tonight’s podcast episode, I figured I’d spend at least a little bit working on the next big task on my list–namely getting my mixer working under Linux.

I have an Alesis MultiMix 8 FireWire, a piece of audio gear no longer being produced. Early on I found the ffado project which aims to support firewire devices under Linux. I even found and bookmarked a page there claiming the firewire versions of the MuliMix boards do work with ffado despite Alesis’ lack of explicit support.

I had previously installed the Ubuntu Studio meta package on my stock Kubuntu 10.4 system. It included pretty recent builds of jack, a low level audio driver and utility, and ffado, the two pieces minimally necessary for being able to capture and playback audio in Audacity and presumably other programs with my mixer. At first I followed the recommended compilation instructions linked to from that first page. The ffado build stalled out on a missing dependency which seemed odd to me as I should have had everything necessary with the pre-compiled libffado installed for Ubuntu Studio.

I decided I’d dig around and see if there was a simple permissions or configuration issue needing sorting to get the pre-built versions of ffado and jack working together. I found several recommended fixes, none of which helped on their own but are good to check and fix if you are also trying to get a firewire mixer working.

  • Find the Ubuntu Studio Controls in your desktop menuing system. In KDE, you can simply search for it. There is a simple checkbox for enabling raw1394. Reboot after you make and save this change.
  • Add yourself to the “audio”, “video”, “disk” and “plugdev” groups. This will make sure you have read and write permissions to the various 1394 based devices under udevfs. Either do this before rebooting for the raw 1394 change or log out and back in for the group change to take effect normally.
  • Make sure you have a /dev/raw1394 entry. If not, install libraw1394 with your package manager.
  • Grep the files in /lib/udev/rules for the string “raw1394″. If there is no reference to that text in any of those rule files, add a file named 50-raw-firewire.rules with the line
    KERNEL==”raw1394″,NAME=”raw1394″,GROUP=”audio”
    You’ll need to restart udevfs after making this change. A simple reboot will also do the trick.
  • Check in /etc/security/limits.conf for a line like
    @audio – rtprio 99
    This gives members of the audio group sufficient privilege to make use of the real time features of the kernel. It isn’t strictly necessary, I think, to get a mixer working but without it, you may need to disable the real time option in jack. On my system, the audio group already had this privilege.

There are several useful commands to diagnose your device, ffado, and jack. modprobe -l or lsmod will tell you if the various 1394 modules are loaded. You can grep specifically for “1394” to filter the output down to these. lspci should have some information about your OHCI host, that is the chip set in your computer to which the firewire devices connect and communicate. Mine is a TI which works but knowing the host’s chipset may help in sieving through the ffado and jack forums. ffado has its own diagnostic tools, including ffado-diag which outputs detailed info about the buses on your system and ffado-test which takes a number of commands. In particular, the ListDevices command will tell you if ffado sees your mixer (make sure it is turned on when running ffado-test).

Ultimately, I could not get the pre-built packages working so went back to trying to compile from source. The missing dependency turned out to be libconfig++, a simple “sudo apt-get libconfig++8-dev” cleared that up. With the next step, compiling jack from source, I noticed the output of the config step said alsa was not enabled. Adding the –enable-alsa flag to the configure script didn’t help. I had to install the libasound development package, then configure reported that alsa support would compile. Finishing out the compile as instructed worked without error.

I didn’t have any luck getting the recommended ffado-dbus-server running but it isn’t necessary for jack. Once I completed my compile and install of jack, I was able to run jackd -dfirewire successfully. As a more convienent way to start and stop jack as needed, I ran the JACK Control application from my application menus. If you open up the preferences, there is an option to run it from the system tray so you can right click and start jack after turning on your mixer and stop it before turning it off when you are done. (My mixer gets rather warm, I don’t like to run it any more than necessary for recording and editing.)

As you can imagine, I am thrilled to have my beloved studio gear working properly. I did some quick test recording in Audacity and everything appears to work a treat. Of course, now I have to learn Audacity and the other audio programs under Linux that can make use of my now working hardware. I won’t say that my next podcast episode will be produced entirely under Linux but now I can tackle that much easier and more enjoyable challenge.

13 Replies to “Linux Switch: My Mixer Works under Linux!”

  1. Super post. I have been battling on and off for a long time with this mixer without success. I have now replicated your steps on a fresh Ubuntu 10.04 installation, where previously I tried on Karmic upgraded to Lucid following almost the exact same steps. The mixer is working now! Maybe I missed a permission or something previously.

    Thanks again

    1. I hope to be able to safely attempt this with Meerkat. I have freed up my other internal drive and plan to find a free weekend soon to do a fresh install there while preserving the boot option for my known, working Lucid setup. If I can get 10.10 working, I’ll share my notes on that process too.

  2. I’m curious to know: did you get all 8 channels working properly? I have this same mixer and, under Linux (Lucid/Ubuntu Studio), I have gotten it to record 2 channels at a time, but I’ve never been able to record all 8 channels at once. I assume that when you say “everything appears to work” you mean that you can select any combination of the 8 channels to record?

    If I can follow your footsteps and get my mixer fully functioning under Linux, it would do wonders to restoring my sanity.

    1. I haven’t tried all 8 but will do so tonight and report back. What I have done is record into Ardour through JACK/ffado successfully on channels 1 & 2 and 1, 5 & 6. I assume barring hardware faults that any combination or all the available channels should work just fine.

  3. Thanks for the post. This really helps me out. I bought the Alesis 8 Firewire Mixer planning to use it with a Mac. Yet my MacBook Pro died and Apple’s refusal to sell me a new mainboard made me put my plans for purchasing a few new Macs on ice. Here I am, running a bunch of great Linux machines and an officially incompatible mixer. Your post gives me hope 😀

    I chose Ubuntu 11.10 to be my weapon of choice. I wonder, have you tried this with more recent versions of Ubuntu? What about stability. Are you still using that setup? Whats your experience?

    1. Roman,

      I have not tried my mixer with more recent versions of Ubuntu because there is a lethal bug in KWin with my graphics card. From my reading, the packaged version of ffado in newer vintages of Ubuntu should just work with this mixer. If that is not the case, I don’t see why building from the SVN version wouldn’t work with newer vintages.

      The documentation at the ffado project is pretty good. You may additionally need to install the Ubuntu Studio Control Center and use it to enable raw1394 access. Add yourself to the raw1394 group, log out and back in again, and you should be able to configure JACK to use the ffado driver and start it successfully.

      I’ve used ffado with JACK successfully to work with both audacity and ardour. I still use this software configuration to this day to record, edit, mix and master my podcast. Given my recent unsuccessful attempt to try to use the USB 2.0 version of this mixer, I foresee sticking with FireWire for as long as my hardware holds out and/or I can secure working replacements. I am massively bummed Alesis stopped making the FireWire MultiMix some time ago.

  4. Alright, spent some time with it now. No success yet. I installed Ubuntu Studio10.04 on a ThinkPad and traced your steps. I’ve compiled ffado and jack as descibed. When trying to start jack “jackd -dfirewire” I receive the following error message from ffado-test:

    Error (configrom.cpp)[ 150] initialize: Could not parse config rom of node 0 on port 0

    Not sure what it means. I know the mixer runs on firmware version 2.0, but I’m not sure if those things are related.

    Could be a version problem, after all I most likely checked out a different version of ffado than you did. Mine says: 2.999.0-2073M

    Any idea how I might fix this? Thanks a lot in advance.

    cu
    Roman

    1. I currently have the same version of ffado. I see that same error in my output but the messages pane of qjackctl continues past that, showing good output from dice_avdevice.cpp.

      Did you enable raw1394 in the Ubuntu Studio control center? Are you in the audio and any other appropriate groups to access the raw 1394 device? Did you logout and back in for any group changes to take effect?

      1. Hi. Thanks for your help so far. I spent quite some time on getting it to work, yet had no luck. I think the problem is not that ffado wouldn’t detect it but that the kernel seems to have a problem with the firmware. I gave up at this point selling the 8 channel model. Shame it would be sufficient for my needs. My solution at this poitn: the MultiMix 16 FireWire. It arrived yesterday, working great on the current Ubuntu Studio 11.10.

    1. Not at all off topic. They do not make the Firewire version of this mixer, any more. When I started having some trouble with mine, I tried out the USB 2.0 version and was sorely disappointed at the lack of Linux support. Having any kind of support, especially for multichannel recording would be splendid. I managed to resuscitate my mixer with a little bit of deoxit but live in fear of the day it finally does give up the ghost.

      1. 🙂 thanks, great to see this topic is alive!
        I have contacted two developers who might be able to help – one of them is mentioned on the project’s website, and another one who told me he had a basic, working (playback-only) driver.
        if you know linux ALSA/USB2.0 developers, please point them to the project’s website – the more, the merrier 🙂

Mentions

  • Podcasting with Linux at romangeber.com

Leave a Reply

Your email address will not be published. Required fields are marked *