Developers

Endorsements

Search

User login

Compiling and using ffado drivers and settings management

ethanay

Posted: Wed, 05/28/2008 - 21:11

I need to use ffado in order to get my Echo Audiofire2 to work with 64studio 2.1, and so need to compile, install and figure out how to use it :)
If anyone has any tips from experience, please post here. If I am successful and no one else has it, this can become a HOWTO thread -- would that be useful?

Hello,
i have updated all of my previously broken "http://64studio.com/..." links to "http://www.64studio.com/..." so they work again :)
however, I would imagine there are several other places on the forums where the links are broken. Might be simple fix for someone with administrative privileges and access to the database to run a "find and replace" to update broken links?
just a thought...
ethan

Great News. I am going to just wait for 64 Studio 3.0. It looks like with the new JACK and ffado working together, many firewire devices will possibly be a relatively easy hook up for linux.
The Ricoh firewire controller on this laptop is (rev 5) so I should be OK.
In the meantime, I just changed back to dual booting to Windows XP so I could get on using this Echo Audiofire2 for some projects.
When 64 Studio 3.0 comes out, I will replace the Ubuntu partition and see about moving forward with the Linux audio laptop.
Best Regards,
Kevin Cook
I

Dear all,
I´m slightly bewildered by all the above posts. I also need FFADO to work with a saffire Pro 26 (freebob will not do).
Now on reading the above, is the conclusion I have to wait until 64studio 3.0 is out? I run into all the same dependency issues as ethanay run into. I'm now worried that with the current 2.1 64studio FFADO will simply not work.
is there a cook-book version of the above to get FFADO working?
Thanks!
http://omniam.com

Well spotted!
if you want to use VST ... you can forget about running at 64 bit ... but you seem to be getting there, that will be rewarded in time by some nice piano sound coming out of your speakers in realtime ;)
piano

The latest version of the Jack server daemon is on it's way to be released, and there might be somje good news on it's way. Jack 64bit will now accept 32bit sources!
Thus...
VST's might be on the patter soon if you run 64bit...
Just thought I would let you know

Thanks ethanay,
I have been playing a waiting game until now. It looks like the time has just about come for the whole pro linux audio recording world to take off like wildfire. With the recent release of linux kernel 2.6.27 I'll probably get back to working on the laptop to see what happens tonight.

Thanks Quentin -- that's great news. I'm still finishing up with some undergraduate research, so music has one again taken a backseat. However, I have been able to record some of my piano compositions under 64studio using ffado, jack, and wineasio or dssi-vst with Pianoteq (Windows). it's all a new realm for me -- even though I have a stable setup, I've only begun to scratch the surface of tweaking my [new] keyboard (I'm used to just sitting and playing at an acoustic) and the software to taste. On top of that, I'm not even really a pianist -- really more of a guitarist.
Hopefully the latest versions of jack .109 will have hammered out last remaining instability glitches with ffado as a backend. As soon as ffado and jack are available in the repos, I will gladly start testing them that way :)
Kevin --
it looks like they're getting close to being able to include ffado and jack .109 in 64studio 3.0 beta. If you try 64studio, I highly recommend the upgrade from 2.1, not just to have access to ffado, but because it is at this point VERY similar to Ubuntu 8.04 in feel (minus a lot of the eye candy fat) and you should feel relatively at home in short time. I use Ubuntu as my main OS for my laptop, and I feel right at home in 64studio. I tried other OSs and couldn't navigate/deal and couldn't get them to work with my laptop.
If you have the Echo Audiofire2 working with your laptop using Windows, it is entirely possible to get it working fully under Linux. The only thing that stands in the way at this point is hardware conflicts. You can use the command
# lspci -v
to check out your Ricoh firewire controller revision -- I hear everything above 5 works well enough for audio production. The earlier revisions had trouble delivering sustained streams of data necessary for work with a firewire audio card.

Paul from Linuxaudio (Ardour and Jackd fame) wrote me a mail telling me a new jackd should be out soon. He just need to finish a vital task in the Ardour3 code and then he will dedicate 2 days to get the next stable jackd release out the door.
The moment we have that we can have Free include it in Sid, and then backport to 64studio for testing purposes.
Cheers,

Hi Kevin,
What is your laptop specs? Have you installed/tried 64studio? If you have a laptop similar to mine (dell xps m1330, all intel [cpu, processor, audio] w/ricoh firewire chipset revision >=5), I'd be willing to try to help you get to where I've gotten (e.g., using my Echo AudioFire2 in 64studio). The firewire chipset and revision are very important -- some cheapo and/or early chipsets are inherently incompatible w/firewire audio interfaces because they can't sustain the necessary transfer rates.
The basic outline for me was this:
1) install 64studio 2.1 (32-bit version!)
2) upgrade to 64studio 3.0beta (which is just using lenny repositories instead of etch)
3) install latest ffado version (i'm still using beta6 but there are later versions using SVN, i think?)
4) install jack .109 using SVN
The upgrade to 64beta 3.0 is critical to get the compatible versions of supporting packages without breaking the entire install.
To retrace my process, see here on these forums, and sign up at ffado and then go to my profile and see that info, but you need to have an account first.
or they said that 3.0 should have built-in ffado support. FFADO is doing well, just needs a bit of polish, but seems almost complete in core code support for the audiofire2 (imho, of course). but it also depends on the progress that jackd makes -- there have been reports of .109 instability...
does anyone know about how .109 jack is doing? also, how is 64studio 3.0 shaping up?

Running Ubuntu Hardy Heron on my laptop, I am not able to get the Echo Audiofire 2 to work. It is my understanding that the FFADO project has this particular audio/midi firewire interface working with linux. Is it true that Studio 64 will have a new release soon that has this functionality incorporated? Any projected release dates? I am trying to set this laptop up for some music therapy projects and have no experience compiling and other such techniques to get linux working smoothly with various hardware devices. It would be nice to have a linux distribution that works well with some firewire audio/midi interfaces. Thanks

You are doing great ethan, I have just re-read the thread.
I don't use ffado, but I've learned a lot here.
It's great you are getting to your goal.
I have just re-arranged my disk here and converted fat32 partitions to ext3.
Not quite the same journey as you have been on. ;-)
I have been following as I re-arranged and reinstalled.
Great news,
Cheers,
dave

Full functionality with ffado, jackd, and wineasio:
http://www.ffado.org/?q=node/580#comment-193
seems like wineasio behaves badly when jackd is using ffado as its backend and isn't started before the Wine app...
however, as long as I follow these guidelines, everything seems peachy keen

Ok,
by the end of the year? that is really good news! things are functional enough to get me through to that point. Hopefully I am providing enough annoying error info to developers to help the process :) (ps here's another: no working progress bar on the 64studio 3.0beta splash screen)
So there is only one jackd installed (good...)
Jackd and FFADO are actually working OK together...but it uses a lot of cpu overhead, so maybe there needs to be more optimization. I had it running yesterday with few xruns over the course of several hours while packing for my trip.
However, as soon as I throw WineASIO into the mix everything goes to hell...WineASIO tries unsuccessfully to open connections on multiple channels and they are never released, making FFADO (and jackd w/FFADO) useless until reboot (see below)...how can I contact the WineASIO developer?
To recap: Jackd (FFADO) = ok; WineASIO + Jackd (alsa) = ok; WineASIO + Jackd (FFADO) = unusable until reboot, but Jackd (alsa) still ok.
--------------------------------------------------------------
WineASIO + Jackd (FFADO) strange behavior
---------------------------------------------------
ethan@64studio:~$ wine .wine/drive_c/Program\ Files/Pianoteq\ 2.2/Pianoteq22.exe
fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
01521143622: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 0.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 1.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
----------------------------------------
selecting the WineASIO driver from within Pianoteq (yes, it starts jackd even though it doesn't use it yet!):
----------------------------------------
JACK compiled with System V SHM support.
loading driver ..
01529199806: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 2.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 3.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
01538985441: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 4.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 5.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
01540016254: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 6.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 7.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
01541014991: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 8.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 9.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
01542038206: (ffado.cpp)[ 99] ffado_streaming_init: libffado 1.999.36- built Jun 10 2008 18:58:03
libiec61883 warning: Established connection on channel 10.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 11.
You may need to manually set the channel on the transmitting node.
no message buffer overruns
no message buffer overruns
jackd 0.112.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
etc etc until something crashes...so far I've gotten up to channel 60/61

There are aparently some issues with Jack itself, but is being sorted at the moment. I believe that by the end of the year jack (or jack2 - formerly jackmp) would be stable enough and working with FFADO to be included into 64 Studio 3.0. Linux audio development is currently in a fast-track freefall with SuSE and Ubuntu also on the bandwaggon. Things are happening very quickly indeed!
Cheers,
Quentin

AudioFire2 is now working with jackd SVN installed!
However,
1) Need fewer xruns (currently ~1 per 2 minutes)
2) Can't go below 128 buffer...(jackd simply won't start)
3) WineASIO 0.7.4 breaks jackd until reboot (at least with Pianoteq standalone) complaining of a "broken pipeline" (I think...)
I will see if there are two versions installed (should be "which jackd"...?) and also try to downgrade WineASIO to .5 or .6a and report back...
Pieter (FFADO developer) said that there might be a distro issue: installing FFADO with prefix=/usr/lib is corrupted as the distro doesn't automatically detect the correct location of libffado.so, until it is copied from /usr/local/lib to /usr/lib...
But it is amazing to finally have sound out of my studio monitors...!!

Nice progress. Sorry I cannot be of much more help, as I do not have a FFADO device atm. If you run into problems with jack, just shout. Do a search on Jack and Debian before your attempt. Jack does not like being installed in two places at once... especially on Debian.
Good luck!

lol, this thread is quickly becoming something different than what it was titled :P
you folks are so responsive! this is waay cool on another totally different level...
i have added more info to my original report.
dave: the apt-get update error disappeared as soon as I disabled all my etch repos, so i don't see it as a major issue...?
and to bring the thread back to the original topic....
...Quentin: i did not find FFADO in any repository...?? is it there somewhere??? i searched for "libffa*" and "*ffa" etc and found nothiing...
so did I misinterpret "install ffado from lenny" as meaning that it is included in lenny?

Hi,
This is the part I have been checking out.
E: Dynamic MMap ran out of room
E: Error occurred while processing sysvinit-utils (NewFileVer1)
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.
first of all check for "doubled" entries in these files,
in a terminal type:
$ cat /etc/apt/sources.list
$ cat /etc/apt/sources.list.d/64studio.list
Their was a post in the mailing lists explaining these
E: errors. I've been checking the last few months posts
but I am having trouble finding it. I will keep looking.
edit:
as root in a terminal
# apt-get clean
# apt-get autoclean
Also it looks like we might have to change our sources,
for stable installs that is....
http://www.64studio.com/upgrade
I have copied your report into a file here so I can print it out and spend some time reading it.
Cheers,
dave.

hello,
I have successfully upgraded 64studio 2.1rc2 to lenny. there were a few minor hiccups but nothing that even i couldn't handle :) read about the effort so far here
i've included my detailed process and errors that have occurred along the way. so far, so good though...keeping fingers crossed that this will be useful to others and will lead me to get my firewire device working...

no. thanks for the thought, though.
also, fortunately, the echo audiofire2 is *fully* supported by the newer ffado project.
however, i've just learned that perhaps firewire audio is fundamentally incompatible with my computer as long as it uses a ricoh chipset...hopefully this isn't the case....i am tired of dealing with hardware issues and just want to make music!!

Hi ethanay,
Would your firewire device work with the freebob driver? I have a PreSonus Firepod and that's what I use and it works fine. Sorry if this is a silly question, I guess freebob doesn't work with everything out there. But if it did, it would probably be easier than doing the upgrade to Lenny.
Cheers!
-Susan

I'm using an upgrade to Lenny and I changed some things. Jack is the latest version from Lenny and Ardour is the 64 Studio or Etch version. After the upgrade I disabled the repository for Lenny. Until now I can't really say how stable my box is, as a desktop client it's stable and I run Ardour and Jack, without doing any recordings, but so far it looks good.
I use Synaptic, but apt-get when I have to change something in single-user mode because of problems with X. At the moment there seems to be no difference between the use of Synaptic and apt-get, but I remember that sometimes not the same repositories are enabled, resp. disabled. I have to say, that I'm a noob for Debian.

No problem at all Quentin,
I followed your post in this thread (Free wrote)
1:
This is with a clean install...2.1rc..upgraded to 64studio testing.
If you upgrade 2.1rc, you will get a clean upgrade, wine will need re-upgrade on completion.
You may not have a clean install? and this can make a big difference.
Up to the release below the etch/builds upgraded the same as the 2.1rc.
I have followed the method half a dozen times now, The first try gave problems,
The rest were fine, You have to follow Free's instruction to the letter.
If you dont remove non-free sources / 3rd party repositories
The upgrade gets more difficult.
2:
This release is the move back to Audacity 1.3.3-1
(64studio_master_i386.iso 28-May-2008 14:46 798M)
I don't know why but the upgrade changed with this etch/build.
(libpam0g) gave errors. It stops synaptic, and you can't continue.
I closed synaptic, opened a terminal and ran
#apt-get -f install
and then restarted synaptic to complete the upgrade. which it did.
Sources used for upgrade:
deb http://apt.64studio.com/64studio/stable/ 64studio main
deb http://ftp.debian.org/debian/ etch main
deb http://apt.64studio.com/64studio/testing/ 64studio main
deb http://ftp.debian.org/debian/ lenny main
Once the upgrade is complete.. these had been removed so:
Re-install metacity and gnome-core while still in synaptic
Re-enable etch and lenny "security sources"...
tim wrote: apply upgrade more than once,
so I went to went to a terminal apt-get update/upgrade confirmed all was ok.
# edit /etc/security/limits.conf (add these to end of file).
* - rtprio 99
* - nice -10
* - memlock 4000000
I have left sound config Envy24control and qjackctl at 44100kHz, (I normally use 48000kHz)
after a restart qjackctl starts and runs fine.
$ dpkg -l |grep "jackd"
jackd = 0.109.2-3
note:
Ardour has been removed, I can get this from sid, or wait for Free's lenny backport.
I get errors with qsynth as the upgrade completes but the errors don't stop future updates/upgrades.
Cheers,
dave

Hi ethanay,
We posted at the same time,
Had you read (update to lenny upgrade) before you posted?
The 2.1rc had to be nursed, the etch/builds even more.
Post back your choice of upgrade, and I will post my notes.
This part
Sources used for upgrade: note: "remove" non-free sources / 3rd party repositories
Is very important.
lenny is fine here,
ethanay> so is this "64studio 3.0 beta"??
Yep...
Glad you're onboard.
Cheers,
dave
edit: posted at the same time again :-)

hey dave,
that is good news -- it is usually best to avoid compiling, imo!
for me, the biggest issue is with satisfying the dependencies -- they aren't always obvious and when errors occur, it is priceless to find the right phrase to copy and paste into google. usually there will be some response with the same type of error message, "that means that you need to satisfy x dependency..."
i keep track of it all in a setup file on the computer that i regularly backup. more complicated scenarios that involve lots of branching dependencies i give their own separate file. that way i can keep track of what i've done.
ethan

this is wonderful. i would love to test a lenny upgrade!! so is this "64studio 3.0 beta"??
i installed Ubuntu and switched to rt kernel, but there is still soooo much O/S related setup to do in order to get decent rt performance, and i'm not sure what it all is! makes me appreciate 64studio all the more... like i said, i just want the system in the end that will sink into the scenery and allow me to focusing on the music
testing lenny will be great -- i can contribute to the 64studio project and hopefully benefit at the same time, and it will soon become stable (if it isn't). is there a procedure for testers? (e.g., another registration, where/how to report bugs, etc)
where i can i find the lenny repositories/and or detailed instructions for the upgrade process?

Hi,
Upgrade to lenny complete.
The upgrade using the etch/builds,
was not as easy as the 2.1rc upgraded to 64studio testing, then lenny.
I now have lenny with
$ dpkg -l |grep "jackd"
jackd = 0.109.2-3
Quentin wrote:
ffado needs >= 0.109.12
Sources used for upgrade: note: "remove" non-free sources / 3rd party repositories
Cheers,
dave

Hi ethanay,
I do not have a ffado device, so I can't help you much with setting it up.
I wish I could..
You are well ahead of me with regards compiling software, I am sure you can get this working. I have ubuntustudio installed and it's nice, but I still spend 90% of my
computer time on 64studio. We have a recent Ardour and the system is solid.
To compliment Quentin,s post
Free wrote:
I plan to provide a lenny backport for ardour and a new kernel.
Free......
I have a "test disk" here I've just for formated and I am going to install the latest build, and move it to lenny.
Download the latest build here:
http://cdd.64studio.com/etch/builds/
I can't help you with your ffado device, but if you post your howto with instructions on compiling jackd I will follow it.
Helping me to compile jackd might help you to see what you need to do. It doesn't matter if I break the install it's just a test.
It's going to take me a couple of hours to install and upgrade. I will do the install now, and upgrade in the morning.
Cheers,
dave.

We have a couple of guys testing a Lenny upgrade. You could do the same, and the dependency problems should go away... I have not done this myself yet, as my system is working fine as it is.
Free wrote:
Hi all,
I think I've fixed most of the issues that prevented a clean upgrade to
lenny from 64 Studio 2.1 (rc1/rc2). Here's the procedure with Synaptic:
1) Remove a few exim related packages, which seem to be broken in lenny:
exim4 exim4-base exim4-config exim4-daemon-light mailx mutt
2) Upgrade to the testing branch of 64 Studio, in particular make
sure that your 64studio* packages get upgraded to version 2.1
3) Add lenny to your APT sources and hit the refresh button
4) Mark everything for upgrade, hit the apply button and follow the
instructions. You will be asked if you want to restart a few
services, always aswer yes. Moreover for three files, namely:
/etc/security/limits.conf
/etc/gdm/gdm.conf
/etc/xdg/menu/gnome-applications.menu
you will be asked wether to keep them or replace them with a
newer version. CHOOSE TO KEEP THEM.
Steps 1) and 2) will not be needed on a fresh 2.1 install (final
version).

well, I couldn't install jack 0.109.2 anyway, because there were too many dependency conflicts with the version in the repos. I ended up trying and and basically broke the install.
I think I will try to set up a rt Ubuntu system for the time being, and eagerly await the arrival of 64studio 3.0 if I can't get Ubuntu optimized. I was definitely in over my head with all the dependencies and compiling from source.
If it wasn't for that issue, I'd have every other reason to stick with 64studio for the time being, and want to come back when it works better with my hardware. :-/

If look at the chatter coming from the jackd-development mailing list, it looks like they are on the verge of getting it right. On the verge is just not good enough for me, as they have been complaining of strange things happening, like jack killing itself and all connected apps. NOT good while recording stuff...
On the other hand, the guys are putting a lot of energy into fixing it, as the activity from that list is very high. We might see a solution soon.
Guarantees? It will probably be included in the 64 Studio 3.0 release scheduled for release a little while after Lenny is released.

hi Quentin,
thanks for your reply. In general I see you are always busy on these forums, and I appreciate your willingness to help.
there are actually a bunch of dependencies that need satisfying for ffado.
as for jackd, specifically, can you point me toward a source explaining current issues that people are encountering?
also, are there any special flags or options i need to compile jackd with in order to retain the "out of box" functionality of the jackd included with 64studio?
i cannot get my audiofire2 to work without ffado, and without my audiofire2, i cannot connect to my outboard mixer and monitor speakers, which is really important for my digital piano setup. are there any timeframes for jackd / ffado becoming stable enough to warrant inclusion in the 64studio repos?
thanks
ethan

You might run into some trouble... Jackd is currently 0.103.0, and ffado needs >= 0.109.12
This is a problem, because the later versions of jackd ran into some reliability problems as they started to add more functions. They are however working on it, and as soon as jackd crossed over into a more reliable state, we should be able to add it, and ffado to 64studio.
In the mean time you are welcome to try it out, but you would have to uninstall jack, and manually install it from source to make things work. I do not have a ffado device, so I cannot do any testing for you at this time... Good luck!