[PlanetCCRMA] HOWTO: Focusrite Saffire Pro 10 firewire audio interface and CCRMA/Fedora_10

linux media 4 linuxmedia4 at netscape.net
Sat Mar 14 15:54:48 PDT 2009


This HOWTO looks very complex, but the truth is that I included *any* 
possible thing that I could think of that can go wrong and how to remedy 
the particular problem. Most likely, you will have the Focusrite Saffire 
Pro 10 up and running in minutes.

*** The usual disclaimer:

This is a HOWTO that uses my experiences and experiences of people from 
the research involved with learning about firewire, ffado, the Pro10 and 
related subjects. I don't see any reason why anything would go wrong 
with your hardware or software, but it's always possible. I take no 
responsibility for any damage caused by you using this HOWTO. You use it 
with the understanding that you do it at your own risk.

*** A few points about why I chose the Focusrite Saffire Pro 10 (and) 
why I decided to go with firewire as opposed to a different type of 
interface:

a) I started seeing post about how fierwire devices were working "out of 
the box" with CCRMA/Fedora_10

b) Reports that PCMCIA is being phased out and will be replaced by 
express card.

c) Reports about USB still dealing with latency problems (there's USB 
3.0 coming out soon, which may be better)

d) Focusrite seems to be working with the ffado team, even supplying 
them with firewire interfaces to assure compatibility with ffado. In 
providing the ffado team with the Saffire PRO 40, *focusrite* contacted 
*ffado*, making this device the first one where the vendor actively 
seeks FFADO support. Sounds like focusrite is serious about their 
products working right on Linux Systems.

Ok... lets get started...

####################################
1) Check if raw1394 module is loaded
####################################

(For this HOWTO, it assumes you are starting a shell as a "normal user". 
Any time you need to change from "normal user" to "root user" (and 
back), it will show you how to do it).

Get into a shell as "normal user"...

Check if the raw1394 module is loaded...
bash> lsmod | grep raw1394

if you see...
raw1394
...you're ready

If not...

Get into a root shell...
bash> su -
(give root password)
Load the raw1394 module...
bash> modprobe raw1394

(If it says something about not being able to load the module, then you 
may not have the CCRMA Realtime Capable Kernel running. This can happen 
even if you installed the CCRMA Realtime Capable Kernel. See 
"Troubleshooting" section at the end of this HOWTO).

Get back to your "normal user" shell...
bash> exit

Check if the raw1394 module is loaded...
bash> lsmod | grep raw1394

if you see...
raw1394
...you're ready

(There's a solution in the works to get the raw1394 module to load upon 
bootup. For now you may need to load in manually in this manner).

####################################
2) Special note about listing of firewire cards
####################################

In all other types of sound cards (USB interfaces, Built in Sound Cards, 
PCMCIA Interfaces), you normally do...
bash> cat /proc/asound/cards
... to see your card listed. Currently, that's not the case with 
Firewire Interfaces. The Pro10 gets recognized and activated when it's 
on and (then) you run Jack with the "firewire" driver (see below).

####################################
3) Setting up the Pro10
####################################

Make sure all the levels on the Pro10 are set to zero, then (with the 
Pro10 off), plug the firewire cable into the Pro10 (and) to the computer.

(if you take the six pin output of the Pro10 and send it to a 4 pin 
firewire connection on the computer, then the Pro10 must use the 
supplied power cord. A 4 pin firewire port will not allow you to power a 
firewire device).

Turn the Pro10 on.

####################################
4) Running Jack (using QJackCtl)
####################################

(SELinux may not let you start Jack. If this is the case, see the 
"Troubleshooting" section at the end of this).

Run QJackCtl
Press the "Setup" button
Set the follow:
Realtime: (Make sure it's checked)
Frames/Period: 512
Sample Rate: 96000
Period/Buffer: 4
Timeout (msec): 15000
(I found that the "Timeout" in QJackCtl needs to be set high or QJackCtl 
pops up a dialog saying "Could not connect to JACK server as client" 
(because the Pro10 isn't recognized yet). Even then, a lot of times Jack 
eventually starts after the Pro10 is finally recognized. So it can be 
misleading.)
Driver: firewire
Audio: Duplex

Close the "Setup" Window.

Press the "Start" on QJackCtl.

After a few seconds, the power light on the Focusrite Saffire PRO 10 
starts blinking quickly then goes solid. This indicates that it has 
"changed modes" (went from "stand alone mode" to "firewire mode").

Hopefully, everything went well and you're ready to use your Focusrite 
Saffire Pro 10. If not, check the following "Trouble Shooting" section. 
Also, I'm in the process of creating a ffado-mixer manual on the ffado 
site. I will post a link to it when it's finished.

####################################
5) Trouble Shooting
####################################

################
5.1 Realtime Enabled Kernel is not running
################

I originally installed the CCRMA Realtime capable kernel, but after 
doing a "yum update", a newer Fedora 10 kernel was installed (and chosen 
as the one to boot).

If you haven't installed the CCRMA Realtime Enabled kernel, then install 
it. But either way, you may have to edit your /boot/grub/grub.conf file...

Let's use my grub.conf file as an example. Here's the listing of the 
available kernels in my grub.conf:

title Fedora (2.6.27.19-170.2.35.fc10.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.27.19-170.2.35.fc10.i686 ro 
root=/dev/VolGroup00/LogVol00 rhgb quiet
	initrd /initrd-2.6.27.19-170.2.35.fc10.i686.img
title Fedora (2.6.26.8-1.rt16.1.fc10.ccrma.i686.rt)
	root (hd0,0)
	kernel /vmlinuz-2.6.26.8-1.rt16.1.fc10.ccrma.i686.rt ro 
root=/dev/VolGroup00/LogVol00 rhgb quiet
	initrd /initrd-2.6.26.8-1.rt16.1.fc10.ccrma.i686.rt.img
title Fedora (2.6.27.15-170.2.24.fc10.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.27.15-170.2.24.fc10.i686 ro 
root=/dev/VolGroup00/LogVol00 rhgb quiet
	initrd /initrd-2.6.27.15-170.2.24.fc10.i686.img
title Fedora (2.6.27.12-170.2.5.fc10.i686)
	root (hd0,0)
	kernel /vmlinuz-2.6.27.12-170.2.5.fc10.i686 ro 
root=UUID=9c23a713-f2db-4248-b477-11b5013572f9 rhgb quiet
	initrd /initrd-2.6.27.12-170.2.5.fc10.i686.img

The CCRMA Realtime Enabled Kernel is the 2nd one. So, in the grub.conf 
file, I set...
default=1
(It starts counting at zero, so "1" is the second kernel listed)

Restart your computer to run the Realtime Enabled Kernel.

################
5.2. SELinux wont let Jack start up
################

When SELinux wouldn't let me start Jack, it also left an icon in the 
system tray of my KDE Desktop. I don't know if other Window Managers do 
this or not. I clicked on the icon and did the command they suggested in 
a (root) console. This fixed the problem. I don't have any experience or 
knowledge about SELinux, so I don't know if this is advisable or not, 
but I did it and it seemed to fix the problem.

If SELinux doesn't leave a clue how to disable whatever is keeping Jack 
from starting, it has been reported that the following will disable 
SELinux (I don't know enough about SELinux to be able to recommend 
disabling it. Disable at your own risk)...

In /etc/selinux/config, put...
SELINUX=disabled
Then reboot your computer  for the changes to take effect.

To test it...
As root...
bash> cat /selinux/enforce
If this returns 0 or 1, you are running selinux in permissive or
enforcing mode. If you get "no such file or directory" then it's
disabled.



More information about the PlanetCCRMA mailing list