PDA

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



duffy1384
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


ffado-diag
...
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
ffado-2.1.0-0.1.20101015.svn1913.fc14.x86_64
libffado-2.1.0-0.1.20101015.svn1913.fc14.i686
ibffado-2.1.0-0.1.20101015.svn1913.fc14.x86_64


rpm -qa | grep 1394
libraw1394-2.0.5-2.fc14.x86_64
libavc1394-0.5.3-9.fc12.x86_64
libavc1394-0.5.3-9.fc12.i686
libraw1394-2.0.5-2.fc14.i686
libdc1394-2.1.2-3.fc12.x86_64


rpm -q kernel
kernel-2.6.35.13-92.fc14.x86_64


cat /boot/config-2.6.35.13-92.fc14.x86_64 | grep 1394
# IEEE 1394 (FireWire) support
# CONFIG_IEEE1394 is not set
# CONFIG_DVB_FIREDTV_IEEE1394 is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y


find /lib/modules/`uname -r` -name \*1394\*find /lib/modules/`uname -r` -name \*firewire\*
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/media/dvb/firewire
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/firewire
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/firewire/firewire-sbp2.ko
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/firewire/firewire-net.ko
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/firewire/firewire-core.ko
/lib/modules/2.6.35.13-92.fc14.x86_64/kernel/drivers/firewire/firewire-ohci.ko
/lib/modules/2.6.35.13-92.fc14.x86_64/modules.ieee1394map


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
libffado-2.0.1-4.20100706.svn1864.fc14.x86_64
ffado-2.0.1-4.20100706.svn1864.fc14.x86_64
libffado-2.0.1-4.20100706.svn1864.fc14.i686

ffado-diag
...
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.

/etc/modprobe.d/blacklist-firewire.conf


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)

default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
mkdir -p $(MODDESTDIR)
install -p -m 644 ieee1394.ko ohci1394.ko raw1394.ko $(MODDESTDIR)
depmod -a
clean:
@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


Note:
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.

duffy1384
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.