RME Fireface 400 mostly usable (I think)

Implementation of the remaining mixer and device controls for the Fireface-400 is now complete, although some combinations of settings are yet to be tested (particularly those associated with clock sources). This means that the Fireface-400 is getting close to being usable with FFADO now (at least on my system). Wider testing of svn head is encouraged so we can identify any remaining rough edges and see how it performs on a variety of computers. Please use the ffado-devel mailing list to report bugs and other problems. Read more for further details.

All CueMix abilities available in the device are accessible via ffado-mixer including mute and phase invert (hint: right-click on the relevant matrix mixer node).

Known issues and points to note:

  • When toggling the phase inversion status, the relevant matrix node goes smoothly to full volume prior to settling back to the inverted state at the designated volume. The cause of this is yet to be determined.
  • Bandwidth limiting hasn't been tested.
  • The device may still fail to synchronise properly with the PC on startup. If this occurs, stop jack and restart and it should be good. I'm still looking into this.
  • Please report any occurances of the device loosing sync (and jackd crashing) after an extended time of apparently correct operation.
  • Most device setting combinations have not been tested - please report any issues you find.
  • 1x sample rates (44.1 kHz, 48 kHz) have received the most testing to date. 4x rates have been run very infrequently and may still have issues.
  • ffado-mixer does not yet allow setting to be saved to the devices NVRAM. This will come, but probably only once I've made some tangible progress on the Fireface-800.

With the Fireface-400 mostly working I intend to move onto the Fireface-800 soon.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

"Cannot start streaming threads"

First of all thanks for doing this... This project is so great, and when my RME Fireface 400 is working with my system, it's magic!

I've been having reliability issues with ffado, Jack, and my interface. I've been starting up jack like this
jackd -d firewire -p 1048
..Which works great, 50% of the time. The rest of the time I get
firewire ERR: Could not start streaming threads
Cannot start driver
JackServer::Start() failed with -1
Failed to start server

Then if I kill that process (because it hangs and doesn't do anything) suddenly my system freezes and my ram usage goes up until it fills.

Anybody else had this issue? Am I missing something?

I've tried everything I can think of. Most of the time if I completely uninstall then reinstall jack, ffado, and everything else related I can get jack to run with the FW backend.

Re: "Cannot start streaming threads"

Could you please provide the output from the ffado-diag command? This will allow us to see how your system is configured and spot anything which might be amiss. Also, if you can determine what version of FFADO is installed (perhaps via your package manager) that would be good too. Confirmation of the Linux distribution you're using would also be helpful.

The 50% failure rate is far higher than I see in testing (I haven't had a startup problem now for well over a year, except when testing newly added code with bugs in it). One thing worth checking is whether you are running a "low latency" kernel: reliable operation of FFADO requires this. The output from ffado-diag will tell us this (and a fair bit more). Low latency kernels are usually available from the package repositories from the major distributors.

Output of ffado-diag

Thanks for your response! The weird thing is everything will work fine for a couple days, but it seems like if jackd ever crashes (or the computer gets shutdown while it's running) the next time I try to start it I get "cannot start streaming threads." This even occurs after I reset the bus using gscanbus. Perhaps I'm confused and this is actually a jack problem...

Here is the output of ffado-diag:


FFADO diagnostic utility 2.999.0-
============================
(C) 2008 Pieter Palmers
2009-2010 Arnold Krille

=== CHECK ===
Base system...
kernel version............ 3.2.0-4-rt-amd64
Preempt (low latency)... False
RT patched.............. True
old 1394 stack present.... False
old 1394 stack loaded..... False
old 1394 stack active..... False
new 1394 stack present.... True
new 1394 stack loaded..... True
new 1394 stack active..... True
/dev/raw1394 node present. False
/dev/fw* permissions:
crw------- 1 root root 252, 0 Sep 25 08:25 /dev/fw0
crw-rw---T+ 1 root audio 252, 1 Sep 25 08:25 /dev/fw1
User IDs:
uid=1000(chris) gid=1000(chris) groups=1000(chris),4(adm),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),103(fuse),104(scanner),107(bluetooth),108(netdev),1001(cbnetwork)
Prerequisites (dynamic at run-time)...
gcc ............... gcc (Debian 4.7.2-5) 4.7.2
g++ ............... g++ (Debian 4.7.2-5) 4.7.2
PyQt4 (by pyuic4) . sh: 1: pyuic4: not found
jackd ............. no message buffer overruns
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 (Debian 4.7.1-2) 4.7.1
g++ ............... g++ (Debian 4.7.1-2) 4.7.1
PyQt4 (by pyuic4) . Python User Interface Compiler 4.9.1 for Qt version 4.8.1
jackd ............. sh: 1: jackd: not found
path ............
flags ........... Package jack was not found in the pkg-config search path.
libraw1394 ........ 2.0.9
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.2
flags ........... -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-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.6.0
flags ........... -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -ldbus-1
uname -a...
Linux crunch 3.2.0-4-rt-amd64 #1 SMP PREEMPT RT Debian 3.2.46-1 x86_64 GNU/Linux
Hardware...
Host controllers:
0c:00.0 FireWire (IEEE 1394) [0c00]: Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] [104c:823f] (rev 01) (prog-if 10 [OHCI])
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-
Kernel driver in use: firewire_ohci

CPU info:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 26
Stepping: 5
CPU MHz: 1596.000
BogoMIPS: 4521.79
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-15
Configuration...
IRQ information
Hardware Interrupts:
--------------------
IRQ 0: PID: None, count: [127476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['timer']
IRQ 8: PID: None, count: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['rtc0']
IRQ 9: PID: None, count: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['acpi']
IRQ 16: PID: None, count: [6487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ehci_hcd:usb2', 'uhci_hcd:usb3', 'firewire_ohci', 'nouveau']
IRQ 17: PID: None, count: [28703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ata_piix', 'ata_piix']
IRQ 18: PID: None, count: [2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ehci_hcd:usb1', 'uhci_hcd:usb8']
IRQ 19: PID: None, count: [246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['uhci_hcd:usb5', 'uhci_hcd:usb7']
IRQ 21: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['uhci_hcd:usb4']
IRQ 23: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['uhci_hcd:usb6']
IRQ 40: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['dmar0']
IRQ 41: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['aerdrv', 'PCIe PME']
IRQ 42: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['aerdrv', 'PCIe PME']
IRQ 43: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['aerdrv', 'PCIe PME']
IRQ 44: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 45: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 46: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 47: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 48: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 49: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['PCIe PME']
IRQ 52: PID: None, count: [319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth0-rx-0']
IRQ 53: PID: None, count: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth0-tx-0']
IRQ 54: PID: None, count: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth0']
IRQ 55: PID: None, count: [4178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth1-rx-0']
IRQ 56: PID: None, count: [2487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth1-tx-0']
IRQ 57: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['eth1']
IRQ 58: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 59: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 60: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 61: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 62: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 63: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 64: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 65: PID: None, count: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['ioat-msix']
IRQ 66: PID: None, count: [162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], Sched None (priority None), drivers: ['snd_hda_intel']

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

=== REPORT ===
FireWire kernel drivers:

The new FireWire kernel stack is loaded.
If running a kernel earlier than 2.6.37 and problems are experienced, either
try with the old Firewire kernel stack or upgrade to a newer kernel
(preferrably 2.6.37 or later).

I'm running 64 bit CrunchBang on a MacPro, with RME Fireface 400. Thanks for your help!

Re: Output of ffado-diag

Thanks for posting the ffado-diag output. At first glance this looks to be ok. The kernel is recent enough, it's an RT-patched kernel and libraw1394 is recent. So all that looks to be ok.

One thing which *may* be a problem is that the firewire host controller is sharing its interrupt with a bunch of USB host controllers and the nouveau driver for the Nvidia video card. Whether any of this is contributing to your difficulties is hard to say right now. At least nouveau should be better behaved than the binary Nvidia driver with respect to the realtime kernel.

Obviously things are working at least some of the time. The behaviour you're seeing following a crash is interesting: I would expect that following a bus reset you should be able to effect a restart. To be absolutely certain, perhaps try running "ffado-test BusReset" and see if that improves the likelihood of a successful restart.

One other possible reason for being unable to restart after a crash has to do with a shared memory data structure which FFADO sets up. If this is not cleaned up it can confuse the next run of jackd/ffado. These shared memory segments can be detected with "ipcs" and removed with "ipcrm", but you do have to be careful to leave the segments used by Xwindows. Another way might be to remove the ffado files in /dev/shm/, but I'm not sure if this is sufficient (I've had mixed results when doing this). Let us know if you need more details about this. Of course all this is simply addressing the symptoms; it would be good to work out what causes the crash in the first place. I assume you haven't been able to identify any patterns associated with the crashes.

For what it's worth I don't think this is a jack problem.

Hmmm.. thanks for the

Hmmm.. thanks for the ideas..
I may have been mistaken when I thought jackd was crashing; I think the problem happens when I kill it somehow. For instance, I was working on a session in Ardour when Ardour crashed, but jackd was still running (in a terminal window). If I control-C in that window, or kill jackd some other way (like kill -9 [pid] because killall jackd doesn't work) that is when jackd goes crazy and starts filling up my ram and causing a kernel panic.

Then, after a reboot, if I try to start jackd I get the "cannot start streaming threads," have to kill jackd, and get another kernel panic.

Perhaps that is the shared memory data structure you were talking about. I tried deleting the files in /dev/shm to no effect. I don't know anything about ipcs or ipcrm.. After a few google searches, I find that even running ipcrm -s [id] doesn't delete anything! It tells me "resource(s) deleted" but then running ipcs shows them all there again....

I'm at my wit's end here... thanks for all your help. I'm going to step away now to save my computer from being thrown out the window. I'm also tempted to boot back into Mac OSX...

Re: Hmmm.. thanks for the

Thank you for the updated information.

I found the report of the excessive memory consumption and kernel panic interesting. This almost matches the symptoms which were isolated and resolved a month or so ago. Furthermore, I note that your ffado-diag output indicates that you're running a fairly old version of ffado, one which predates our latest release (which was 2.1).

In terms of the system instability experienced when shutting jackd down, I think it would be well worth trying a development snapshot of ffado. This contains a fix for at least one "kernel panic on jackd shutdown" problem compared to even our last released version. There have also been a stack of other fixes which have been added since the pre-2.1 days. If you are interested in pursuing this, let us know. Alternatively you could wait for our next version (which will be 2.2) but at this stage I don't know when that will be (there are a couple of other issues we want to sort out first).

FYI I used a development snapshot last weekend for a recording session with the FF400 and experienced no issues. For this reason I think the best way forward would be for you to test with a more recent version of FFADO, and we can take things from there.

As an aside, I have experienced the inability to delete shared memory segments once but I was not able to replicate the problem at a later time. The shm deletion failures did follow a particularly nasty jackd crash due to a bug in some code I was working on at the time, so the root cause might be the precise way jackd dies in a specific circumstance. Having ardour crash beforehand may also have played a part in this in the particular instance you were referring to.

Wow! Thanks for the info! I

Wow! Thanks for the info! I really appreciate it.

I installed ffado via synaptic, but I guess the most up to date version isn't in the Crunchbang repos. I'm not sure how to get it in there.. I would absolutely be interested in installing a dev snapshot. I'm not sure how to do that but I'm not scared of google searching or asking questions.

Glad to hear that recording for real is actually possible with my fireface 400! I'm in the middle of a film score and I keep losing my ability to use my audio interface... Perhaps I should have thought about that before trying to switch to scoring in linux..

thanks again!

Re: Wow! Thanks for the info!

Could you let me know the details of your distribution?

There are some compilation instructions on our wiki at http://subversion.ffado.org/ (in particular the "Distribution-specific documentation" section. In short you need to first check out the subversion "trunk" as per the instructions on http://subversion.ffado.org/wiki/DownloadFfadoSource. You will also need to make sure that the "devel" packages for various libraries are in place on your system . Many distributions have separate packages the files used at runtime and those used for compiling against the library - these latter packages often have the "-dev" or "-devel" suffix.

The build system uses scons which should be available from your distribution. Any recent version should do. Once all this is in place you do "scons" to build ffado and "scons install" to install it. There are however a few things to keep in mind.

Firstly, in order to keep the system package manager happy you can't uninstall the old FFADO - otherwise everything that depends on it will also be removed. Instead you set the new FFADO to install over the top of the files associated with the old one. This is usually achieved using "scons PREFIX=/usr" as your build command when you first run it (rather than just "scons"). Note that all subsequent "scons" commands will remember the PREFIX setting.

Secondly, if your system comes with a FFADO version which predates our 2.1 release you will have to manually remove the file /usr/lib/libffado.so.2.9999.0. The earlier versions flagged the wrong version number when creating the shared library.

The above information and links should be enough to get you started. Let us know how you get on and if further assistance is needed. I will note that it may be more convenient to carry this conversation on in the ffado-user or ffado-devel mailing lists. Often these sorts of activities are more easily followed on a list. You also gain access to many more people - some of whom might have already worked through the issues you're going through - since more developers read the mailing list than frequent the forums (it's a time thing). You will need to subscribe to the chosen list before you can post there.

works great

I have been trying to get my fireface 400 to work in Ubuntu for some time now, i honestly thought i could not ever get it to work, the last ubuntu 13.04 i actually got FFADO working correctly but i still had some issues with the jackdaemon... I tried a fresh ubuntu studio install this morning, and i could not believe everything working OOTB great instantly / immediately!! Keep up the great work!

Re: works great

Thanks for the feedback. I'm happy to hear that it's working for you.

Could not communicate with the FFADO DBus service

I installed FFADO, QjackCtl and the FFADO mixer and I get this error when starting the mixer: "Could not communicate with the FFADO DBus service"
this is a fresh install of ubuntu 12.04. Is it my firewire that's messed up?

Re: Could not communicate with the FFADO DBus service

That's interesting; most of the time the ffado DBUS service will be automatically started by ffado-mixer if it's not detected.

Did you install ffado, qjackctl and ffado-mixer from Ubuntu packages, or did you compile these yourself?

Could you try runing "ffado-dbus-server" in a terminal and see if it exits with an error? If it's running properly it will spit out some messages (potentially lots) and then sit around waiting. If the latter behaviour is noted, try running ffado-mixer again while ffado-dbus-server is still running - does that change things?

It might be easier to report your findings back to either the ffado-users or ffado-devel mailing lists; often problems are more easily worked out via email than a series of forum posts.

I would really appreciate a

I would really appreciate a picture diagram of the connections for Fireface.

  • Yow will discover on the web slots, roulette, video poker in addition to huge jackpots in a play pokie games that is specially crafted for on the web gambling players with substantial cash bonuses and also jackpots.

Re: Fireface connections

It's pretty straight-forward: firewire cable between the device and the PC. Then plug audio lead into inputs and outputs as required in your situation. I'm not sure there's much more I can say on the subject. :-)

Could you please post some pictures of the mixer and Jackd

Could you please post some pictures of the ffado mixer and Jackd .

Re: Could you please post some pictures of the mixer and Jackd

I'm not sure what this would achieve. Jackd is a command line program so there's not a lot to take a picture of. Qjackctl is a graphical front-end to jackd but for screenshots of that you'd best go to Qjackctl's own website.

As to the mixer, what exactly are you trying to determine from these requested screen shots?

Re: FireFace UCX ?

Thanks for your message.

The status of the Fireface UCX with respect to FFADO is unknown at present, but it's a fairly safe assumption that it won't just work straight away. As you mention, the UCX implements both firewire and USB connectivity, and this represents a significant difference to the previous Fireface models. It therefore seems a fairly safe bet that the programming methods used for the UCX via the firewire port will be quite different to the previous Fireface 400/800 models. Perhaps there is some overlap, but there's no guarantee that the overlap is in the areas which would permit basic functionality without changes to FFADO. The only way of knowing this would be to test it. Obviously the UCX contains a bunch of additional DSP functionality which will not be supported without explicit support for this being added to FFADO.

I do not have a UCX to test with (I'm not in a position to afford to buy one at the moment). I will however make some enquiries to determine how similar the devices are at the protocol level; this will determine how much work it will be to support the UCX. I'll post an update when I have sufficient information to make a determination.

Re: FireFace UCX/UFX?

I'm finally in a position to provide an update regarding the UCX and UFX devices. In short, I can confirm that the UCX and UFX devices will not function with FFADO as it currently exists (svn r2195). While similar to the earlier fireface units, there are differences which will require some additions to the FFADO RME driver. This is especially true in the area of TotalMix (that is, the onboard mixer/DSP).

The good news is that I have been able to obtain some information which should make it possible to implement audio streaming support on these devices. As for control via TotalMix: I'm still working on it. Another issue at present is that in order to implement and debug support for the UCX and UFX interfaces I'm really going to need one but at this stage I'm not sure how this will be possible in the short to medium term.

Re: FireFace UCX/UFX?

I did some tests with a friend's fireface ucx. Ffado did not work but I got 8/8 in/out-channels working with the usb-2.0-audio-driver (alsa) with help from the alsa folks. This is sufficient for me for the time being, so I am considering getting my own ucx. In this case, I could do some testing etc.. Don't know whether this can helpful at all but if you think I can do sth. please write an email to ffado-users-list (my name is florian but I don't want to post my email-adress here ;)). I subscribed there today and if there is sth. that I can do it is easier to discuss using email ... .

Re: FireFace UCX/UFX?

I'm glad to see that you managed to get the UCX partially working. As I understand it, 8 in 8 out is as much as you can expect from the USB interface at present because in order to work with ALSA, the so-called class-compliant mode of the device must be used. In this mode, audio I/O channels are limited, as is control of the device.

Offers of testing are always welcome. The best thing I can suggest at present is to keep an eye on the ffado-devel mailing list for any announcements related to the UCX/UFX interfaces. Since I'm still trying to determine how to obtain some sample devices I can't give any estimations as to the time this might take though.

please write an email to ffado-users-list (my name is florian but I don't want to post my email-adress here ;))

I completely understand - I wouldn't either. You can find my address in my recent posts to ffado-users and ffado-devel. My username is the same as for this post; my most recent activity in ffado-user has been in relation to the "Can't see any connetion in qjackctl" thread.

Fireface UFX Drivers

This sounds very good! Thank you very much for spending that much time in this project! Actually I only registered to tell you that. SAlso I want to offer my help. I own the Fireface UFX myself.

Thanks again, and have a nice weekend!

Re: FireFace UCX ?

Given the time elapsed since my last post on the subject, I thought I'd let everyone know that things are progressing and I hope to have some news soon.

Fireface UFX Drivers

This sounds very good! Thank you very much for spending that much time in this project! Actually I only registered to tell you that. SAlso I want to offer my help. I own the Fireface UFX myself.

Thanks again, and have a nice weekend!

Re: Fireface UFX Drivers

Thanks for your offer to help. Are you a programmer or just an interested end-user? If the latter, obviously there's little to be done until I am in a position to extend the driver to the UFX; however, once that's done having someone else available to test the driver would be invaluable.

By way of an update, things have moved slowly over the past couple of months, mainly due to a bunch of things requiring my attention. With those now mostly dealt with I'm hoping to pick up on this again soon.

Fireface UFX Drivers

Hi jwoithe,

i'm not really a programmer. I learned Java in IT school, but I'm mainly a network technician. So I don't really think I can help you with the coding, but I would be glad to test the drivers. I guess it's a huge bunch of work, to program such drivers..... Can you tell me how you start with such a project? I mean is there any documentation provided by RME, or do you have to find out everything by yourself, step by step. Just curious....

Regards GreyAegis

Re: Fireface UFX Drivers

..I would be glad to test the drivers.
That's great. Keep an eye on the FFADO website and the ffado-devel mailing list for news. As I think I mentioned earlier I have no ETA on this at the moment, so this is the most efficient approach.

I mean is there any documentation provided by RME, or do you have to find out everything by yourself, step by step.
In reality it's a combination of both. I do have access to some documentation (which can't be released to others), but sometimes it is necessary (or easier) to sniff the control traffic in order to clarify the information.

There is another interface family supported in FFADO for which I did have to deduce everything myself because the manufacturer outrightly refused to be of assistance. I gave a talk at linux.conf.au 2011 ("Playing with fire: protocol analysis techniques for the Firewire bus") which discussed the process in general terms. If you're interested you might like to check out the video and/or slides (a simple google search will lead you to the talk).

FireFace UCX ?

Hi, I saw that there is this new FireFace model UCX coming with a firewire as well as a usb connection. Judging from RME's webpage, there are some differences between the FF UCX and the FF 400. Nevertheless, some of the basic parameters (number of channels, sampling rates etc.) are the same for both interfaces, so I was wondering whether the ffado driver for the FF 400 might also provide some functionality for the UCX, in case it is connected using firewire. Is anything known about that ?

Thanks a lot !