View Full Version : F14 - Firewire stack not supported by FFADO

17th August 2011, 04:41 AM
I have an firewire Saffire Pro 24 audio interface that I'm trying to get detected.

running ffado-diag results in

The new FireWire kernel stack is loaded.
This stack is not supported by FFADO. Please use the old stack.

Hmmm - why would fedora release a unsupported stack/module OR does the audio interface require an older stack?
- Don't know...

Any help resolving this would be appreciated.

rpm -qa | grep ffado

rpm -qa | grep 1394

rpm -q kernel

cat /boot/config- | grep 1394
# IEEE 1394 (FireWire) support
# CONFIG_IEEE1394 is not set
# CONFIG_DVB_FIREDTV_IEEE1394 is not set

find /lib/modules/`uname -r` -name \*1394\*find /lib/modules/`uname -r` -name \*firewire\*

lsmod | grep firewire
firewire_ohci 21314 0
firewire_core 45817 11 firewire_ohci
crc_itu_t 1563 1 firewire_core

---------- Post added at 02:46 PM ---------- Previous post was at 02:11 PM ----------

Tried downgrading FFADO packages - still get same error message:

yum downgrade ffado libffado

rpm -qa | grep ffado

The new FireWire kernel stack is loaded.
This stack is not supported by FFADO. Please use the old stack.

---------- Post added at 10:41 PM ---------- Previous post was at 02:46 PM ----------

ieee1394 is superseded by the newer firewire-core driver.

It appears I need to go back to the ieee1394 driver.

You cannot load the newer firewire & ieee1394 modules at the same time.
To prevent the newer firewire modules from loading you blacklist them.


blacklist firewire_core
blacklist firewire_ohci

Then unload current modules.

rmmod firewire_core
rmmod firewire_ohc

Here is the Makefile to build the three required ieee1394 modules (ieee1394_core, ohci1394 & raw1394 )
to enable FFADO to talk the Saffire audio interface.

It was placed in the kernel source directory: BUILD/kernel-2.6.35.fc14/linux-2.6.35.x86_64/drivers/ieee1394

# Makefile for the Linux IEEE 1394 implementation

ieee1394-objs := ieee1394_core.o ieee1394_transactions.o hosts.o \
highlevel.o csr.o nodemgr.o dma.o iso.o \
csr1212.o config_roms.o

obj-m += ieee1394.o
obj-m += ohci1394.o
obj-m += raw1394.o

KVER := $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/ieee1394/
PWD := $(shell pwd)

$(MAKE) -C $(KDIR) M=$(PWD) modules
mkdir -p $(MODDESTDIR)
install -p -m 644 ieee1394.ko ohci1394.ko raw1394.ko $(MODDESTDIR)
depmod -a
@find . \( -name '*.o' -o -name '*.ko' -o -name '.*.cmd' \) \
-type f -print | xargs rm -f

You need to set user permissions on /dev/raw1394 so that ffado-mixer has access to the device.
I created the following udev rule to set the necessary permission then verified that I was a member of the audio group.

# echo 'KERNEL=="raw1394", MODE="664", GROUP="audio" ' >> /etc/udev/rules.d/20-ieee1394.rules

Then reload udev rules:

# udevadm control --reload-rules

If redefining or creating new udev rules then permissions changes will not
update existing devices

If /dev/raw1394 already existed prior to defining new udev rules then
unload & reload modules to see rule changes.

ffado-mixer now loads and detects the Saffire Pro 24.
I have not yet tested the functionality.

18th August 2011, 06:07 PM
It seems that the ffdao-diag Error Message posted at the top of the thread and shown again below, is meaningless.

The new FireWire kernel stack is loaded.
This stack is not supported by FFADO. Please use the old stack.

It is an old message the ffdao should be updated.

The new Juju firewire stack will work.
All you have to do is change the permission and group of /dev/fw*.
To test ths:

chmod 664 /dev/fw*
chgrp audio /dev/fw*

and make your self a member of the audio group.

To configure udev to handle it create the following rule:

echo 'KERNEL=="fw*", GROUP="audio", MODE="0664"' >> /etc/udev/rules.d/21-firewire.rules

The previous posts are good and provide functionality of the previous ieee1394 stack.