[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