Older releases pre Ubuntu 10.10 extra steps
Ubuntu Studio Controls
Note: Do not perform this step if you have Ubuntu 10.10 ("Maverick Meerkat") or a later release.
Enable raw1394 and related permissions using Ubuntu Studio Controls. UbuntuStudioControls has a graphical guide.
Users and Groups
Note: Do not perform this step if you have Ubuntu 10.10 ("Maverick Meerkat") or a later release.
Enable your username to access Audio and Video devices.
- In the System menu, open Users and Groups. Click on the keyring icon and enter your password when prompted.
In Karmic and earlier:
- Click on your username, then click Properties.
- Click on the User Privileges tab.
- Make sure the boxes labeled 'Use audio devices' and 'Use video devices' are checked.
- Click 'OK' and exit.
In Lucid and newer:
- The 'video' group is no longer needed, as firewire devices are now assigned to the audio group. Also, when Jack is installed it should add your username to 'audio', so this step now usually takes care of itself.
Reboot and Test
Note: Do not perform this step if you have Ubuntu 10.10 ("Maverick Meerkat") or a later release.
Plug in your FireWire audio interface and turn it on. (Note: Maverick users - depending on your setup, raw1394 may not be needed. See Driver Confusion at the bottom of this page.)
You will need either to unload and reload the raw1394 kernel module or to reboot for the permissions settings to take effect. There are instances where it seems to be necessary to reboot with the interface connected when using the legacy firewire stack. Also, there is currently a bug in Ubuntu Studio Controls that results in firewire permissions being overwritten with certain updates. If this happens, run Ubuntu Studio Controls, disable raw1394 permissions, re-enable them, unload and reload raw1394 or reboot.
If you are using Maverick and the new Juju firewire driver stack, do not plug in your firewire device until the computer is fully booted up. Booting with your device plugged in and turned on can cause problems with the new driver stack.
- Open a terminal and run:
ls -al /dev/raw1394
You should see something like this:
crw-rw---- 1 root video 171, 0 2009-10-16 05:30 /dev/raw1394
'video' must be shown in this report. (In Lucid, this will be 'audio'.)
- Then run:
groups
You should see something like this:
<username> adm dialout fax cdrom tape audio dip video plugdev lpadmin sambashare admin netdev
Audio and video must be listed in this report. (again, 'video' isn't needed in Lucid and newer.)
FireWire stacks explained
It is easy to be confused by this topic, so here is how to make sense of what you have available on your system.
Which stack am I using?
In Ubuntu Maverick, the new Juju firewire driver stack is enabled by default, but the legacy stack is also present and can be used if needed. To check which driver stack is enabled, run this command:
lsmod | grep 'firewire\|1394'
On Lucid or older, it should return something like this: (these modules make up the Legacy firewire driver stack)
~$ lsmod | grep 'firewire\|1394' dv1394 18602 0 ohci1394 30338 1 dv1394 raw1394 25814 0 ieee1394 95219 3 dv1394,ohci1394,raw1394
On Maverick or newer, it should return this: (these modules make up the new Juju firewire driver stack)
~$ lsmod | grep 'firewire\|1394' firewire_ohci 24679 0 firewire_core 54327 1 firewire_ohci crc_itu_t 1739 1 firewire_core
Only one driver stack should be loaded at a time so they will not cause conflicts. If both sets of drivers had been loaded accidently, you can check which one is actually in control of the hardware by
~$ grep 'firewire\|1394' /proc/interrupts
Most Maverick users should be able to use the Juju stack, and should not enable raw1394. Users who need to use use multiple firewire devices (known as daisy-chaining) must enable the legacy stack if using Maverick.
The legacy stack has been removed from Natty.
Switching between stacks
We can switch between driver stacks (without rebooting) using the modprobe command. To unload the Juju stack, run this command:
sudo modprobe -r firewire-ohci
Then, to load the Legacy stack:
sudo modprobe ohci1394 && sudo modprobe raw1394
If you want to unload the Legacy stack, do:
sudo modprobe -r dv1394 video1394 ohci1394 raw1394
And to load the Juju stack:
sudo modprobe firewire-ohci
Selecting the stack to load at boot time
To select which firewire stack is loaded at boot time:
sudo gedit /etc/modprobe.d/blacklist-firewire.conf
By default in Maverick, the legacy stack is blacklisted and the Juju stack is enabled:
blacklist ohci1394 blacklist sbp2 blacklist dv1394 blacklist raw1394 blacklist video1394 #blacklist firewire-ohci #blacklist firewire-sbp2
To enable the legacy stack, modify this file as follows:
#blacklist ohci1394 #blacklist sbp2 #blacklist dv1394 #blacklist raw1394 #blacklist video1394 blacklist firewire-ohci blacklist firewire-sbp2
Then, rebuild the initramfs:
sudo update-initramfs -k all -u
And on subsequent boots the legacy stack will be loaded.
For more information, see: https://ieee1394.wiki.kernel.org/index.php/Juju_Migration https://wiki.ubuntu.com/Kernel/SwitchFirewireStack