Digidesign 003 Rack: Linux driver history

Posted on Posted in Audio, Technology

A brilliant ALSA developer, Clemens L, has been working on a separate ALSA driver for streaming sound over firewire within the linux kernel. This would mean that the FFADO project would be unnecessary as an addon for JACK audio connection kit to provide support for firewire devices in the future, as there would exist a driver purely based on ALSA.

I am attempting to patch this experimental driver to work with Digidesign 003 Rack as the hardware is compatible. Then I can share the patch with all of you, with the goal to get it accepted into the official driver. This is how I did it for the Mbox 2, which is now part of ALSA!

For documentation on what I have discovered about the 003 Rack, see here for details.

Update July 2012:
I have been working very hard on this recently and I am very close to having playback working on this device with a patch to Clemens’ code.

Update Dec 2012:

Thanks to some intense assistance from Robin Gareus, we were able to work out what was going on with the middle byte of the 24 bit audio playback stream. This was a source of strange audible “hiss” due to the way the hardware interprets the middle byte, distributing it in a wierd way over multiple channels. We solved this riddle yesterday.

I have now made it work flawlessly with 18 channel playback using Clemens’ firewire code as a base, Robin’s help, and persistence.

UPDATE OCTOBER 2013!!

DIGIDESIGN 003 RACK WORKS ON ALSA!

16 thoughts on “Digidesign 003 Rack: Linux driver history

  1. have you thought about sending the info for making this work in linux to the guys at ffado.org? You might even be able to adapt your code to work on their firewire audio system.

  2. Peter C: Yes, if you follow the link above “See here for details” I have posted a page on ffado.org dev page. At one stage I had playback almost working with 2 channels using their code as a base, but something was inherently different about the 003 that prevented it from working correctly with the existing ffado code, so I am waiting for the kernel streaming driver which is supposed to be the next generation of ffado but this _will_ eventually work.

  3. Glad to hear it! The 003 is a great piece of hardware (especially with the black lion audio mods). I’d love to know it’ll run on linux via ffado (and with ardour). Keep up the great work!

  4. That’s great, I really hope this will soon be working!!
    I’m seriously thinking about moving to linux recently, and my ability to use my old digi 003 is the only reason i didn’t do it yet …

  5. Nice! I’ve been following through some of your dev mailing list conversations at FFADO and the progress looks good there, but from here it looks like you are close with just ALSA. Is there anyway you could post some more info or steps to help replicate some of your progress/help with testing.

  6. Hi Matt,

    I need a few more bucks to buy a firewire OHCI controller for my development computer so I can continue this work. I am running on a tight budget and going out of pocket on this one.

  7. Hey guys, I have it working with playback. See above for code.
    Only works with aplay for the moment and has a slight hiss in the right channel. Still working on this.

  8. is it possible to connect two digi 003r’s and use all the channels? including the digital ones? This would be heaven for me. Cheers

  9. Mary: This is possible with my driver yes, you would also need to use a “.asoundrc” file to merge the two soundcards into one virtual card. The only issue is that after some time the two clocks may slightly drift from each other, ideally the driver needs some modification to allow wordclock sync from one of them to another but I have not done this work as it stands.

  10. hi damo,
    I just managed successfully to install a digi 002r with your driver. thanks a lot. The only thing I am wondering about, is that Ardour or Jack is crashing after a while. Ardour freezes and tells me, that it is not able to reconnect to server. In qjackctl I disabled the dbus server and I tried to kill and restart jack but it refuses to work. the only thing I can do, is to restart my Laptop. Now I am wondering about deinstalling the Ffado repos, but I am not sure, if I am messing up the whole system. Maybe you can give me some advice.
    Greetz Tim

Leave a Reply

Your email address will not be published.