Fireface 400

Coding of driver has commenced but there is no ETA at this point.

Update, 6 Jan 2011: For those following along at home I thought a brief update is in order. Work on the driver continues, but has been held up for 3-4 months with a significant problem associated with the audio streaming. As of just before Christmas I think this is now fixed, but I need to do further testing to confirm this. Assuming the problem is truly solved there are some minor cleanups needed, plus the resolution of a minor issue regarding audio streaming. Once done I expect the driver will be in sufficient shape for people to start testing it with their own fireface-400 setups. Due to preparation and travel associated with Linux.conf.au 2011 it's probably going to be early February before I get a chance to do this, but I'm hopeful that a workable driver for the fireface-400 should emerge pretty quickly after that.

As for the fireface-800, I intend to focus on that once the ff400 is operating in a useful way. The ff400 was first because it's the one more people are likely to have and it physically fitted easier in my development space. While the ff800 does differ from the ff400 in several significant ways I do not expect it will take too long to get basic functionality going once I get onto it.

Finally, to all the ff400/800 owners who have expressed an interest in the drive: thanks for the interest and the patience. I hope to reward you with something workable soon.

Update, 17 April 2011: a limited preliminary driver is now ready for wider testing. Please refer to the main announcement for the details.

Update, 27 April 2012: the driver is approaching a state where it should be usable for most people now. There are a few known outstanding issues and these are being worked on (most notably, an occasional failure to cleanly start audio streaming). "Support status" has been changed to reflect this. Test reports and suggestions are welcome. Note that support for the MIDI ports is not currently implemented.

Support Status: 
Full Support
Manufacturer: 
RME

Comments

It would be awsome if RME FF400 driver would be made!! Looking forward to it!

Thanks for the encouragement. As I've written elsewhere on this wiki, I've been a bit tied up with other "real life" issues over the past few months and haven't had much chance to do a lot of work on ffado. That seems to be changing though and I'm looking forward to being able to make more progress on the RME devices soon. I still can't give an ETA at this point (sorry).

I appreciate the efforts. We are using linux and mac platform in our studio, so it would be decant if both could be connected to the RME.

A brief update. I haven't disappeared or anything like that. It's just that I've had little free time for FFADO over the past few months due to "real life" issues which needed to be dealt with. I am now able to find more time for FFADO once again and I'm slowly picking up the work which has been left dangling, which includes the RME work. There's still no ETA yet but I am back onto it. The biggest issue to solve is how to make the FFADO streaming system work with the RME - the RMEs do things a little differently to most other interfaces in this regard. I have a few ideas now about ways to proceed and should be able to get into testing these soon.

Thanks for your efforts. I have an RME FF800 and an ASUS P6T Intel motherboard with built-in firewire ports. I'm running Ubuntu 9.10 and I have Audacity setup for music/audio. I would be happy to provide test support on my platform if you are interested.

Information on the status of the RME driver has been updated at the top of the RME FF400 device page.

Will it be possible to use a Fireface UC (USB-version) with the help of ffado and it's Fireface-400-driver?

Or alternatively in general: Does it work to run firewire-soundcards which are supported by ffado over a USB-firewire-adapter? Background: I own a small linux-based, mobile device running on an ARM-processor named "Open Pandora". This device offers a USB-2.0-port, but no firewire.

EDIT: It seems like i suffered from some quickly searched information. There is something like a firewire-USB-adapter, but it's for some testing purposes and not for connecting firewire-device to a USB-port. So please forget about the second question. I also now doubt even more that the Fireface UC will work, but you never know.

The usb version will not work with FFADO.

Thanks for the quick answer.

wow, i`m looking forward to this!
thanks a lot. i`m new ff400 owner & it`s great to know that i`ll be able to use this amzing card under linux so soon.

Indeed. There's basically one more issue I need to sort out before the basic driver is ready for wider testing. In short, timestamping of samples is proving to be a little less reliable than it should be and I'm still working through the reasons for this. But hopefully in the next couple of months I'll have to time to fix this up. Stay tuned, and watch the ffado-devel list for any announcements (I'll try to also put the important stuff on the website but I might forget, or put it in a place you're not looking :-) ).

ok, if you`ll need some help, just let me know.
i`m using fedora & would like to try av linux.

FYI, as noted in the head post, current svn is in a state where testing could be done. Please read the notes given there and in the main post and see how you go. Feel free to drop me a line if you need further assistance.

Where is the driver for RME Firwface 400 for Linux? Help! Maybe I've lost something?.
Please, someone help me!
Where can I find the drivers?

Where is the RME 400 Fireface driver for UBUNTU Studio 12.04?
Please, someone help me, even with a suggestion!

This driver is present in the development trunk within the subversion (svn) repository of the FFADO project. There is no formal FFADO release which includes it yet, but the much over-due 2.1 version that we're working towards will have it (we're hoping to get this out in the next few months).

In the case of Ubuntu Studio 12.04, it is my understanding that a relatively recent svn revision has been packaged for use with that system. However, I don't know if RME support has been enabled at compile time by the packager. To determine what your situation is, could you try running

ffado-test --version

This will report a version number (eg: "libffado 2.999.0-2148" on my system right now). If you post this we can determine whether the FFADO version on your system is sufficently recent to support the RME FF400. We can then determine the most appropriate course of action to get you up and running.

First of all thank you very much.
The message I had was:

libffado 2.999.0-

What do you think about?
Thanks again

First of all thank you very much.
The message I had was:

libffado 2.999.0-

What do you think about?
Thanks again

Hmm. That version number lacks the subversion revision used to create it. That's not your fault though: it seems to be a common thing with Ubuntu packages. Perhaps the best way to proceed then is to run the "ffado-diag" command. This will print out a whole bunch of information about your system. If you could post that as a comment we may be able to determine what's going on. However, it may be less cumbersome to continue this discussion on the ffado-devel mailing list (see the "Contact" link in the left hand menu). It will also maximise the number of people who read about your problem - and it's possible that someone who has already seen and resolved the problem will be reading the list. Not everyone keeps an eye on these forums you see.

If you do post to ffado-devel, be sure to include a short description of the problem you are having - not everyone there will have seen your comments on the website forum.

Anyway, I'll leave it with you. :-)

I wasn't able to find the contact link you wrote about.
Could you explain me better?
However the answer to ffado-diag i had has been:
============================
(C) 2008 Pieter Palmers
2009-2010 Arnold Krille

=== CHECK ===
Base system...
kernel version............ 3.2.0-23-lowlatency-pae
old 1394 stack present.... False
old 1394 stack loaded..... False
old 1394 stack active..... False
new 1394 stack present.... True
new 1394 stack loaded..... False
new 1394 stack active..... False
/dev/raw1394 node present. False
Prerequisites (dynamic at run-time)...
gcc ............... gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
g++ ............... g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
PyQt4 (by pyuic4) . sh: 1: pyuic4: not found
jackd ............. jackdmp 1.9.8
path ............ /usr/bin/jackd
flags ........... Package jack was not found in the pkg-config search path.
Perhaps you should add the directory containing `jack.pc'
to the PKG_CONFIG_PATH environment variable
No package 'jack' found
libraw1394 ........ Package libraw1394 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libraw1394.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libraw1394' found
flags ........... Package libraw1394 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libraw1394.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libraw1394' found
libavc1394 ........ Package libavc1394 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libavc1394.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libavc1394' found
flags ........... Package libavc1394 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libavc1394.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libavc1394' found
libiec61883 ....... Package libiec61883 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libiec61883.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libiec61883' found
flags ........... Package libiec61883 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libiec61883.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libiec61883' found
libxml++-2.6 ...... Package libxml++-2.6 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml++-2.6.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml++-2.6' found
flags ........... Package libxml++-2.6 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml++-2.6.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml++-2.6' found
dbus-1 ............ Package dbus-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `dbus-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'dbus-1' found
flags ........... Package dbus-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `dbus-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'dbus-1' found
Prerequisites (static at compile-time)...
gcc ............... gcc (Ubuntu/Linaro 4.6.2-14ubuntu2) 4.6.2
g++ ............... g++ (Ubuntu/Linaro 4.6.2-14ubuntu2) 4.6.2
PyQt4 (by pyuic4) . Python User Interface Compiler 4.9.1 for Qt version 4.8.0
jackd ............. sh: 1: jackd: not found
path ............
flags ........... Package jack was not found in the pkg-config search path.
libraw1394 ........ 2.0.7
flags ........... -lraw1394
libavc1394 ........ Package libavc1394 was not found in the pkg-config search path.
flags ........... Package libavc1394 was not found in the pkg-config search path.
libiec61883 ....... 1.2.0
flags ........... -liec61883 -lraw1394
libxml++-2.6 ...... 2.34.1
flags ........... -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/i386-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/i386-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lglib-2.0
dbus-1 ............ 1.4.16
flags ........... -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -ldbus-1 -lpthread -lrt
Hardware...
Host controllers:
CPU info:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Stepping: 13
CPU MHz: 1000.000
BogoMIPS: 3989.80
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
Configuration...
IRQ information
Hardware Interrupts:
--------------------
IRQ 0: PID: None, count: [302820, 302820], Sched None (priority None), drivers: ['timer']
IRQ 1: PID: None, count: [28, 28], Sched None (priority None), drivers: ['i8042']
IRQ 8: PID: None, count: [1, 1], Sched None (priority None), drivers: ['rtc0']
IRQ 9: PID: None, count: [298, 298], Sched None (priority None), drivers: ['acpi']
IRQ 12: PID: None, count: [52290, 52290], Sched None (priority None), drivers: ['i8042']
IRQ 14: PID: None, count: [280, 280], Sched None (priority None), drivers: ['ata_piix']
IRQ 15: PID: None, count: [0, 0], Sched None (priority None), drivers: ['ata_piix']
IRQ 16: PID: None, count: [929, 929], Sched None (priority None), drivers: ['uhci_hcd:usb3', 'eth0']
IRQ 17: PID: None, count: [52, 52], Sched None (priority None), drivers: ['ath9k', 'yenta']
IRQ 18: PID: None, count: [0, 0], Sched None (priority None), drivers: ['ehci_hcd:usb1', 'uhci_hcd:usb7']
IRQ 19: PID: None, count: [1, 1], Sched None (priority None), drivers: ['uhci_hcd:usb6', 'mmc0', 'r592']
IRQ 20: PID: None, count: [3702, 3702], Sched None (priority None), drivers: ['ata_piix']
IRQ 21: PID: None, count: [0, 0], Sched None (priority None), drivers: ['uhci_hcd:usb4']
IRQ 23: PID: None, count: [1225, 1225], Sched None (priority None), drivers: ['ehci_hcd:usb2', 'uhci_hcd:usb5']
IRQ 40: PID: None, count: [0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 41: PID: None, count: [0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 42: PID: None, count: [0, 0], Sched None (priority None), drivers: ['PCIe PME', 'pciehp']
IRQ 43: PID: None, count: [0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 44: PID: None, count: [816, 816], Sched None (priority None), drivers: ['i915']
IRQ 45: PID: None, count: [164, 164], Sched None (priority None), drivers: ['snd_hda_intel']

Software Interrupts:
--------------------

=== REPORT ===
FireWire kernel drivers:

FireWire kernel stack not present. Please compile the kernel with
FireWire support.

Thank you in advance for your answer

I wasn't able to find the contact link you wrote about. Could you explain me better?

On the left side of the www.ffado.org website (no matter what page you're viewing) is a menu. Items in it include "Home", "About", "Device support", "Documentation", "Download" and so on. About halfway down is an item labelled "Contact". That's a link to our contact page which gives information about joinin gthe mailing lists I spoke about. For reference the URL is http://www.ffado.org/?q=contact.

That aside, thanks for posting the output from ffado-diag. It seems that your system is mostly good. There are, however, some slightly odd aspects which I think we ought to give more attention to.

new 1394 stack present.... True
new 1394 stack loaded..... False
new 1394 stack active..... False

This is strange. While ffado-diag was able to locate the firewire drivers on your hard disc, it seems that for one reason or another your system hasn't loaded them. Normally drivers like this would be automatically loaded whenever the system detected a relevant card in your system (firewire in this case).

If this output is to be believed it explains why you were unable to use FFADO to access your audio interface. Without drivers for your firewire card being present nothing can communicate with the firewire bus. So what we need to do is determine whether it's true that these drivers weren't loaded, and if they weren't we need to work out why.

Prerequisites (dynamic at run-time)...
:
libraw1394 ........ Package libraw1394 was not found in the pkg-config search path.
:

This may simply be due to the libraw1394-devel package not being installed on your system. That's not a problem so long as you don't wish to compile libffado yourself.

Prerequisites (static at compile-time)...
:
libraw1394 ........ 2.0.7
:

That version number is encouraging - if that was present when ffado was compiled (probably by your distro) then we can possibly assume that it's on your system now.

Hardware...
Host controllers:

No host controllers (ie: firewire cards) were reported as present. That may explain why the kernel's firewire drivers were not loaded. Now, one would assume that there is a firewire card in your computer or else you wouldn't be trying to use FFADO. We therefore need to work out why this doesn't seem to be acknowledged by the system.

Ok, let's go one level further down. Could you please run

/sbin/lspci -v

and post the result? This should tell us what PCI cards/peripherals are present in your system. If a firewire card is not mentioned we'll need to try to work out why your firewire card isn't showing up. Perhaps it needs to be re-seated in its slot or something.

Hi thanks for your developement work, I am not a power linux user, i am attempting to use a fireface 400 with harrison mixbus in Ubuntu studio 12.04, the ffado option on the mixbusJack sound preference does not list the RME as an option when connected, and the ffado mixer when opened does not either, am i missing something? do i need to download or install any drivers? and how can i access the fireface 400?. the hardware is a Apple mac pro runninf Ubuntu Studio 12.04, i am assuming it comes with the current ffado distribution already.
thanks

At a very rough guess, Ubuntu Studio 12.04 may not have a new enough version of FFADO to support the Fireface-400. We can check this quite quickly though. If you start a terminal and run "ffado-diag" the FFADO version will be reported in the first few lines. Please let us know what this is and we'll take things from there.