Firewire might have reached end of life on Windows & macOS, but it’s alive and kicking in penguin land! Let’s see what it takes to get set up and if it’s right for you.

Have questions about your setup? Ask in our forums.


PCIe FIREWIRE CARDS

In the studio I use both Syba SY-PEX30016 and StarTech PEX1394B3 PCIe expansion cards. Plug them in and you’re good to go. You will also need a FireWire 400 6-pin cable

PCIe firewire card.

ALSA DRIVERS

The ALSA firewire stack is part of the Linux kernel. That means most interfaces will be detected automatically. This is great for listening to music, playing games, and making the occasional video call. 


FFADO DRIVERS

The FFADO project provides open-source drivers for most FireWire based pro-audio devices. These are the drivers you want If you plan on using your interface with a digital audio workstation. 

In order to use the FFADO drivers, you have to prevent the ALSA drivers from loading.

1. Create a blacklist.conf in /etc/modprobe.d/ that includes your device. 

sudo nano /etc/modprobe.d/blacklist.conf
Blacklisting ALSA drivers.

Common firewire chipsets

snd-fireworks
snd-bebob
snd-oxfw
snd-dice
snd-firewire-digi00x
snd-firewire-tascam
snd-firewire-lib
snd-firewire-transceiver
snd-fireface
snd-firewire-motu

2. Update your initramfs image.

sudo update-initramfs -u

3. Once that’s complete, you will need to restart the machine for the changes to take effect. 

NOTE: This will prevent Pulseaudio and PipeWire from detecting the audio interface. To reverse this delete the blacklist.conf. 


4. Install Jack 2, FFADO, ffado-mixer, and qjackctl. On Debian-based systems, you can do the following.

sudo apt install jackd2 jackd2-firewire ffado-mixer-qt4 qjackctl

5. Now you can select the firewire driver from the dropdown menu in qjackctl.

Qjackctl setup screen.

5. If your interface has an internal mixer, you might need to configure it. You can do that with ffado-mixer. 

FFADO mixer.

FIREWIRE KERNEL SUPPORT

Firewire will be supported on Linux until (at least) 2029. After that, it will require a new maintainer or risk being dropped from the mainline kernel.


COMPATIBILITY LIST

I maintain a list of firewire interfaces that I have personally tested.


WHERE TO BUY?

Ebay, Reverb, Guitar Center, and Music Go Round are my usual haunts.


RECOMMENDATIONS?

If you’re looking for a general purpose interface that JustWorks™ check out the MOTU Traveler MK1.  


WHAT TO AVOID

Anything from Universal Audio. 


Have questions about your setup? Ask in our forums.

VennStone

View all posts

8 comments

  • Love seeing someone breathe new life into those oldies but goodies by coaxing them to run on Linux! Just because they’ve been around the block a few times doesn’t mean they’re ready for the scrap heap.

    They’re not just old, they’re vintage, seasoned veterans with the scars and quirks that tell a story.

  • Love this, as all the Interfacing Linux content! After a great start with audio on Linux I ran into trouble with the FFADO drivers.

    The good start: Both my ancient but fantastically sounding _firewire 400_ audio interfaces (TC Konnekt Live and RME Fireface 400) run out of the box on Pop!_OS 22.04 on a 2017 Lenovo laptop, and that through a most shady digital signal chain: Firewire 400 to 800 cable > Apple Firewire 800 to Thunderbold 2 adapter > Apple Thunderbolt 2 to 3 adapter. For listening music, this is great, as it just works and I didn’t experience any dropouts or audio issues in months.

    • The trouble: I do not get the FFADO drivers to work with my interfaces. I ran your tutorial multiple times back and forth, but as soon as the FFADO drivers are in charge, the audio interfaces are not detected anymore by the system. Not by alsamixer, or qjackctl or pavucontrol. Since I was not sure if the adapter mayhem was part of the problem, I ran the same steps on a desktop computer (Gigabyte mainboard with built-in firewire 400 port), but the result is the same.

      At this point I’m assuming these 2 devices are just not supported by FFADO. If I’m mistaken, any inputs are welcome. It would be a shame since the hardware is excellent and working.

  • I have an old M-Audio FireWire 410 interface so I bought a Vantec FireWire 800/400 card recently to try to get this running again.  I plugged everything in, upgraded to the low-latency kernel, and after some fiddling with aplay and lspci I was able to get the interface to play audio outputs.  I am using Ubuntu 22.04.3.  I think everything was working through ALSA although I have PulseAudio and PipeWire installed, I don’t know how to use these.  I tried ffado-mixer but it never recognized any devices.  qjackctl also does not find the in/out paths. 

    I was trying to get the microphone/input path to work so I tried these instructions to blacklist firewire drivers, update initramfs and reboot.  Upon reboot I find no alsa entry for my interface using ‘aplay -l’ or ‘arecord -l’.

    I tried to revert the changes by removing the blacklists, reupdating the iniramfs and rebooting again. Unfortunately, this doesn’t work. I now have no connection to the interface. It still does not show up in aplay or pactl list.

    How do I revert the changes in this post?!

    Thank you.

    • First I would run ffado-test ListDevices

      That will tell you if the PC can see the interface, just in case you’re dealing with a well-timed hardware failure.

      Doing the following should revert the system back to its previous state, unless you’ve done something in addition to the steps listed.

      sudo apt purge jackd2 jackd2-firewire ffado-mixer-qt4 qjackctl

      sudo apt autoremove

      sudo rm /etc/modprobe.d/blacklist.conf

      sudo update-initramfs -u

      Remember to change qjackctl driver back to alsa.

      • Thanks for the help! This reverted me to previous configuration, and cleaned out a bunch of libraries that weren’t current anymore since I updated to 22.04.

        I will have to find some other ways to get the microphone/line-in path working. Perhaps I will pursue this further in your forums, but as you can tell, I have only limited understanding of how the sound servers are working in Linux. Perhaps I should upgrade to PipeWire with 22.10.

Recent Posts