Saffire PRO 24

Smaller brother of the PRO 40, this device has the same state of support and works with trunk...

Support Status: 
Experimental
Manufacturer: 
Focusrite
Platform: 

Comments

Sorry, but what do you mean when you say "works with trunk"? If tomorrow I buy a focusrite pro 24, can I record something with my linux system or not?
Thank you very much for your work!!!

That means that if you buy a device today, plug it in and use the current development version of ffado (that is compile it from svn trunk), you get a working device for recording and playback. And you get a working but not yet nice mixer.

Thank you very much for your answer, I have installed ffado (compiled from svn), and mixer found the device and it's every ok. But now I can't use the saffire with Jackd, I don't know why.
How can I set mixer and jackd?

Jackd's messages says:

18:21:20.549 /usr/local/bin/jackd -v -R -p1024 -t10000 -m -dfirewire -dhw:0 -r22050 -p4096 -n68
18:21:20.560 JACK was started with PID=20058.
no message buffer overruns
no message buffer overruns
Unknownage with option 'd'
Options for driver 'firewire':
-p, --period Frames per period (default: 1024)
-n, --nperiods Number of periods of playback latency (default: 3)
-r, --rate Sample rate (default: 48000)
-C, --capture Provide capture ports. (default: false)
-P, --playback Provide playback ports. (default: false)
-D, --duplex Provide both capture and playback ports. (default: true)
-I, --input-latency Extra input latency (frames) (default: 0)
-O, --output-latency Extra output latency (frames) (default: 0)
-i, --inchannels Number of input channels to provide (note: currently ignored) (default: 0)
-o, --outchannels Number of output channels to provide (note: currently ignored) (default: 0)
-v, --verbose libffado verbose level (default: 3)
jackdmp 1.9.4
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2009 Grame.
jackdmp 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
18:21:20.723 JACK was stopped with exit status=255.
18:21:20.724 Post-shutdown script...
18:21:20.725 killall jackd
jackd: no process found
18:21:21.137 Post-shutdown script terminated with exit status=256.
18:21:22.607 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

As jack is trying to tell you, it doesn't know what to do with the second -d option. Simply leave it out and you should be fine. If you are using qjackctl to start jack, leave the field for the interface blank.

You don't need the mixer to set it up for the basic things. You "just" need the mixer to control the level of channels 3+4 and line/instr. source of channels 1+2. And for some more optional things. But as of half an hour ago, all these are nicely accessible in the mixer in trunk..

Hi, thank you again for your attention. I use qjackctl, and now the field for the interface is blank, but I've another problem, because jack don't start. The message now is:

17:14:05.622 JACK was started with PID=3275.
no message buffer overruns
no message buffer overruns
jackdmp 1.9.4
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2009 Grame.
jackdmp 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 server starting in realtime mode with priority 68
Jack: Create non RT thread
Jack: ThreadHandler: start
Jack: JackSocketServerChannel::Open
Jack: Bind: addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackSocketServerChannel::BuildPoolTable size = 1
Jack: JackEngine::Open
Jack: Connect: addr.sun_path /dev/shm/jack_default_1000_0
Jack: JackDriver::Open capture_driver_name =
Jack: JackDriver::Open playback_driver_name =
Jack: JackEngine::ClientInternalOpen: name = system
Jack: JackEngine::AllocateRefNum ref = 0
Jack: JackFifo::Allocate name = /dev/shm/jack_fifo.1000_default_system
Jack: JackEngine::NotifyAddClient: name = system
Jack: JackGraphManager::SetBufferSize size = 256
Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Jack: JackDriver::SetupDriverSync driver sem in flush mode
Jack: JackEngine::ClientInternalOpen: name = freewheel
Jack: JackEngine::AllocateRefNum ref = 1
Jack: JackFifo::Allocate name = /dev/shm/jack_fifo.1000_default_freewheel
Jack: JackEngine::NotifyAddClient: name = freewheel
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 1 ref2 = 1
Jack: JackDriver::SetupDriverSync driver sem in flush mode
Jack: JackFFADODriver::Attach fBufferSize 256 fSampleRate 44100
00252183785: (ffado.cpp)[ 92] ffado_streaming_init: libffado 1.999.43 built Sep 17 2009 20:03:51
00252360624: [31mError (bebob_avdevice.cpp)[ 96] probe: Number of channels command failed
[0m00252407227: [31mError (avc_avdevice.cpp)[ 88] probe: Subunit info command failed
[0mfirewire ERR: FFADO: Error creating virtual device
Cannot attach audio driver
Jack: JackDriver::Close
Jack: JackConnectionManager::DirectDisconnect last: ref1 = 1 ref2 = 1
Jack: JackGraphManager::DisconnectRefNum cur_index = 0 ref1 = 1 ref2 = 1
Jack: JackEngine::ClientCloseAux ref = 1
Jack: JackGraphManager::RemoveAllPorts ref = 1
Jack: JackFifo::Destroy name = /dev/shm/jack_fifo.1000_default_freewheel
Jack: JackEngine::Close
Jack: JackClientSocket::Close
Jack: JackServerSocket::Close /dev/shm/jack_default_1000_0
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: ThreadHandler: exit
JackServer::Open() failed with -1
Jack: Succeeded in unlocking 73666454 byte memory area
Jack: JackShmMem::delete size = 0 index = 0
Jack: ~JackDriver
no message buffer overruns
Jack: ~JackDriver
Jack: JackEngine::~JackEngine
Jack: Succeeded in unlocking 994 byte memory area
Jack: JackShmMem::delete size = 0 index = 1
Jack: cleaning up shared memory
Jack: cleaning up files
Jack: unregistering server `default'
Failed to start server
17:14:06.364 JACK was stopped with exit status=255.
17:14:06.365 Post-shutdown script...
17:14:06.365 killall jackd
jackd: no process found
17:14:06.777 Post-shutdown script terminated with exit status=256.
17:14:07.680 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

I've tryed al the settings but no one is right. I use the svn version of jack (jackdmp 1.9.4), but I've also tryed the other version...(by the way, with my integrated audio device jack is ok)

Thank you again...

Just yesterday I had the same problem here (again): You have two versions of ffado installed: One from your distribution, one compiled yourself. And the ffirewire-backend of jack links to the system installed version...

You have a) to figure out where the libffado.so you installed from source lives. Then there are probably some files or links in /usr/lib like libffado.so.1 and libffado.so.1.999.*, replace these files/links by links to the libffado.so you compiled and installed from source.

(We really should try to set up a nightly package service...)

Well, thank you very very much...Now the saffire works, and also with jack. It's every ok, I'm very happy, thank you again!

Hello,

I was reading somewhere that my Saffire Pro 24 DSP might work.
I would be happy to switch definetly to Linux and enjoy free open source
softwares instead of winblows. Yes when it comes to music, winblows 7
x64 is disappointing. I'm not here to do some kind of propaganda only
if Focusrite and all the vendors we're writing complete drivers for linux
I would not be here complaining I can't use my 500$ audio interface with
a stable, professional OS. Would it be so hard to get information from Focusrite on how the DSP part and the entire routing of this interface is working..so I and others can start working on a solution.... Hggggggggg... I can't believe hardware players aren't thinking about us. They should put all the sources online - even the firmware, everything. Life sucks.

Hi,

I did ask them about the specialties of the DSP version. Only they wouldn't really tell me (yet). From what I think they said, the DSP version only routes the audio to a special dsp and back if wanted. But you should be able to use it without the special dsp (which afaik is only for monitoring) just like the pro24...

Hello,
I'm trying to make the saffire pro 24 working with FFADO and jack on Ubuntu 9.10.
You seem to have managed it.
Can you help me , FFADO keeps saying that my Saffire pro 24 is not supported.
Thanks for all.

As I said, you need ffado trunk from svn (that is the development version). The 2.0(.X) versions shipped with *ubuntu or any other distribution will not work.

Hello,

If I buy this interface, I can use fully (all the channels, 24 bit/96khz, etc ) in Ubuntu ?

Please to help me, because I dont know can I use this or not.....
Im new on Ubuntu-Linux...

B

Yes, if you buy it today, you can use all the features of the normal pro24. (The extra-stuff in the pro24DSP is not supported.)

But as using the device (sadly) requires to run the development version called trunk, it might be a bit a steep learning curve. Buts its not that hard either. Try to join us on irc in channel #ffado, maybe we can give you a live walk-though... But look at the instructions here on the web-page first. :-)

Hi

Thanks....

Its mean that I can use for a multichannel composing in ubuntu, and with 24 bit/96 khz ?

Yes, I learn and search for a more konowledge, just I want to fix and know these things, bcause I want to buy an interface at soon as possible...

Best
b

Hi,
I just bought a Saffire pro 24dsp. I also read that dsp was not managed yet with FFADO. However, is the focus usable like a saffire pro 24?
I failed to do it:

~$ ffado-test --verbose=6 Discover
-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- www.ffado.org
Version: 2.999.0-1811
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------

01480993451: Debug (Element.cpp)[ 129] setVerboseLevel: Setting verbose level to 6...
[...]
01481104874: Debug (configrom.cpp)[ 562] printConfigRomDebug: Config ROM
01481104881: Debug (configrom.cpp)[ 563] printConfigRomDebug: Current Node Id: 0
01481104889: Debug (configrom.cpp)[ 564] printConfigRomDebug: GUID: 0x00130E0402000B4C
01481104892: Debug (configrom.cpp)[ 565] printConfigRomDebug: Vendor Name: Focusrite
01481104899: Debug (configrom.cpp)[ 566] printConfigRomDebug: Model Name: SAFFIRE_PRO_24DSP
01481104903: Debug (configrom.cpp)[ 567] printConfigRomDebug: Node Vendor ID: 0x00130e
01481104909: Debug (configrom.cpp)[ 568] printConfigRomDebug: Model Id: 0x00000008
01481104913: Debug (configrom.cpp)[ 569] printConfigRomDebug: Unit Specifier ID: 0x00130e
01481104919: Debug (configrom.cpp)[ 570] printConfigRomDebug: Unit version: 0x00000001
01481104922: Debug (configrom.cpp)[ 571] printConfigRomDebug: ISO resource manager: 1
01481104929: Debug (configrom.cpp)[ 572] printConfigRomDebug: Cycle master capable: 1
01481104932: Debug (configrom.cpp)[ 573] printConfigRomDebug: Bus manager capable: 0
01481104938: Debug (configrom.cpp)[ 574] printConfigRomDebug: Cycle clock accuracy: 255
01481104943: Debug (configrom.cpp)[ 576] printConfigRomDebug: Max rec: 8 (max asy payload: 512 bytes)
[...]
01481105369: Debug (devicemanager.cpp)[1062] getDriverForDeviceDo: Trying Dice...
01481105381: Debug (Configuration.cpp)[ 394] getDeviceSetting: temporary has no device definitions
01481105437: Debug (devicemanager.cpp)[1104] getDriverForDevice: no supported device found, trying generic support...
01481105442: Debug (devicemanager.cpp)[1019] getDriverForDeviceDo: Trying BeBoB...
01481130128: Debug (ieee1394service.cpp)[ 811] doFcpTransactionTry: write of FCP request failed
01481130139: Debug (ieee1394service.cpp)[ 746] doFcpTransaction: FCP transaction try 0 failed
01481158377: Debug (ieee1394service.cpp)[ 811] doFcpTransactionTry: write of FCP request failed
01481158384: Debug (ieee1394service.cpp)[ 746] doFcpTransaction: FCP transaction try 1 failed
01481159452: Error (ieee1394service.cpp)[ 750] doFcpTransaction: FCP transaction didn't succeed in 2 tries
01481159458: Warning (ieee1394service.cpp)[ 725] transactionBlock: FCP transaction failed
01481159464: Debug (avc_generic.cpp)[ 265] fire: no response
01481159471: Error (bebob_avdevice.cpp)[ 96] probe: Number of channels command failed
[...]
01481211445: Debug (devicemanager.cpp)[1033] getDriverForDeviceDo: Trying Oxford FW90x...
01481211448: Debug (devicemanager.cpp)[1048] getDriverForDeviceDo: Trying Generic AV/C...
01481239419: Debug (ieee1394service.cpp)[ 811] doFcpTransactionTry: write of FCP request failed
01481239426: Debug (ieee1394service.cpp)[ 746] doFcpTransaction: FCP transaction try 0 failed
01481265984: Debug (ieee1394service.cpp)[ 811] doFcpTransactionTry: write of FCP request failed
01481265990: Debug (ieee1394service.cpp)[ 746] doFcpTransaction: FCP transaction try 1 failed
01481267059: Error (ieee1394service.cpp)[ 750] doFcpTransaction: FCP transaction didn't succeed in 2 tries
01481267064: Warning (ieee1394service.cpp)[ 725] transactionBlock: FCP transaction failed
01481267070: Debug (avc_generic.cpp)[ 265] fire: no response
01481267075: Error (avc_avdevice.cpp)[ 89] probe: Subunit info command failed
01481267083: Debug (devicemanager.cpp)[1055] getDriverForDeviceDo: Trying Motu...
01481267085: Debug (devicemanager.cpp)[1062] getDriverForDeviceDo: Trying Dice...
01481267090: Debug (devicemanager.cpp)[1111] getDriverForDevice: device not supported...
01481267096: Debug (devicemanager.cpp)[ 560] discover: Probing node 1...
01481267104: Debug (devicemanager.cpp)[ 563] discover: Skipping local node (1)...
01481267107: Debug (devicemanager.cpp)[ 665] discover: Discovery finished...
[...]

"no supported device found", I wonder if model ID 0x00000008 is supported (it seems to be 0x00000007 for the saffire pro 24)?

thx!

ok I found the solution. I added the 24dsp configuration in the USER_CONFIG_FILE.
Mixer started, jackd too.

Can you test if revision 1815 fixes this? It should also enable the mixer to control the focusrite specific things.

Hi all,
I've managed to successfully install from SVN, But I'm getting the following Error starting ffado-mixer

10379862908: Error (saffire_pro24.cpp)[ 114] discover: This is a Focusrite Saffire Pro24 but not the right firmware. Better stop here before something goes wrong.
10379862935: Error (saffire_pro24.cpp)[ 115] discover: This device has firmware 0x10002 while we only know about version 0x10004.

Now, I know it's fairly obvious that I need to upgrade my firmware (using another OS..dammit), But the focusrite site offers me a software
version of 1.8 and 2.0 (not sure which firmware is shipped with each)..

I just don't want to upgrade it beyond development of ffado and end up with a device I can't use for a while.

I've got a feeling the current "software version" I would be running is 1.7, but only due to the user guide that's available on the site.
Oh, and here it is: http://www.focusrite.com/products/audio_interfaces/saffire_pro_24.

Thanks!

Stewart

Hm, I have version 1.7 running on my windows machine.

If the current windows version updates the firmware to something higher then 1.0.4, please tell me and I will ask focusrite for the details about that firmware version...

Also I could send you the install-file of 1.7 to up- or downgrade to 1.0.4 if you want.

I went to the shop today to test a Saffire Pro 24 with ffado on my laptop, and got this same error. How did you go, MessedUpHare?

Gustava,

My post didn't go live for a while because I put a url in it (silly me), so I got impatient and upgraded the firmware to the (i assume) latest version using the 2.0 software install and a Mac.

When I put the device back into my Linux box, I held my breath and It was detected first time, and functions fine. Even the +48v and lo/high gain switches work. I'm well chuffed.

Hope this helps

I got a chance to use a MAC and I installed Mix Control 2.0 from the website... the software instantly advised that it needed to do a firmware update. After that update, FFADO recognized my device, yay! I had the same problem as in this thread/topic (dear administrator, sorry for my previous request for help, please ignore/delete).

I'm using JACK 0.116 with QJackCtl on Ubuntu 8.04 kernel 2.6.24-27 - just want to give others a bit of confidence that it can work! The download/install instructions on this site are excellent :)

Happy to compile from SVN, but can I use this for day-to-day recording? I don't mind if it's ugly, as long as it's stable...
(Haven't bought the interface yet - weighing up options)

Great work tho - thanks!

While trunk is allowed to break, its generally stable enough for day-to-day usage. And when you found a working revision, its your own choice whether you update or not. You don't have to update during an important session. ;-)

I am using trunk for normal day-to-day usage here...

Well, I've gone out and bought one ;-)

Haven't got it to work with jack yet. Looking for some tips. Here's where I'm at:
Running ubuntustudio 9.10. Running RT kernel. Have edited limits.conf, and am a member of video group to allow access to Firewire. I've downloaded jack and ffado from SVN and have built them, and installed them in /usr, I'm pretty confident I've purged all traces of the dpkg installed ffado.

When I run ffado-mixer, I get
16:19:37 dbus DEBUG connecting to: Updated on /org/ffado/Control/DeviceManager (server: org.ffado.Control)
16:19:38 panelmanager DEBUG PanelManager::updatePanels()
16:19:38 panelmanager DEBUG going to add 00130e0401c00e92
16:19:38 panelmanager DEBUG Adding device 0: 00130e0401c00e92
16:19:38 panelmanager DEBUG Found (00130e0401c00e92, 130E, 7) Focusrite SAFFIRE_PRO_24
16:19:38 registration DEBUG version/GUID combo already registered
16:19:38 matrixmixer DEBUG Mixer has 16 rows and 18 columns

but when I run jackd -R -d firewire -n 3 -p 2048 -v, I get
no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
04637918397: (ffado.cpp)[ 92] ffado_streaming_init: libffado 2.999.0-1804 built Mar 5 2010 07:47:25
firewire ERR: Error creating FFADO streaming device
cannot load driver module firewire

I'm not really sure what else to try - any suggestions? Many thanks...

It would great to get some confirmation whether the adat part of this device is working. 16 inputs is just what I'm looking for. I had my eye on the "pro 26", but I don't need that many channels.

Thanks, Ailo.

I don't have an actual adat device to connect. But from the drivers side all is working. You can route the adat inputs whereever you want in ffadomixer, directly the outputs (rendering the device into a plain adat-analog-converter, into the mixer or into the firewire-stream...

If you really find that its not working, we can try to fix it. But I am pretty sure that adat will be working as fine as spdif input (which is working fine here).

I compiled ffado from svn/trunk, and also compiled jackd. My Saffire PRO 24 seems recognized with "ffado-test Discover" of "ffado-test ListDevices":

ffado-test ListDevices
-----------------------------------------------
FFADO test and diagnostic utility
Part of the FFADO project -- www.ffado.org
Version: 2.999.0-1807M
(C) 2008, Daniel Wagner, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------
=== 1394 PORT 0 ===
Node id GUID VendorId ModelId Vendor - Model
0 0x00130e0401c00f89 0x0000130E 0x00000007 Focusrite - SAFFIRE_PRO_24
1 0x0017fb340000e0f4 0x000017FB 0x00000000 Linux - ohci1394 -
no message buffer overruns

But using qjackctl gives me errors:

JACK compiled with System V SHM support.
loading driver ..
00770280213: (ffado.cpp)[ 92] ffado_streaming_init: libffado 2.999.0-1807M built Apr 3 2010 23:32:45
00770674067: [Warning (dice_eap.cpp)[1398] read: No routes found. Base 0x7, offset 0x4000
00770706026: [Warning (dice_eap.cpp)[ 881] updateNameCache: What is this function about?
00770829523: (dice_avdevice.cpp)[ 625] showDevice: DICE Parameter Space info:
00770829537: (dice_avdevice.cpp)[ 626] showDevice: Global : offset=0x0028 size=0360
00770829543: (dice_avdevice.cpp)[ 627] showDevice: TX : offset=0x0190 size=0568
00770829547: (dice_avdevice.cpp)[ 628] showDevice: nb= 1 size=0280
00770829552: (dice_avdevice.cpp)[ 629] showDevice: RX : offset=0x03C8 size=1128
00770829556: (dice_avdevice.cpp)[ 630] showDevice: nb= 1 size=0280
.../...
00770874829: (dice_avdevice.cpp)[ 739] showDevice: Channel names :
00770874845: (dice_avdevice.cpp)[ 744] showDevice: Mon 1
00770874853: (dice_avdevice.cpp)[ 744] showDevice: Mon 2
00770874861: (dice_avdevice.cpp)[ 744] showDevice: Line 3
00770874874: (dice_avdevice.cpp)[ 744] showDevice: Line 4
00770874881: (dice_avdevice.cpp)[ 744] showDevice: Line 5
00770874894: (dice_avdevice.cpp)[ 744] showDevice: Line 6
00770874901: (dice_avdevice.cpp)[ 744] showDevice: SPDIF L
00770874914: (dice_avdevice.cpp)[ 744] showDevice: SPDIF R
firewire ERR: Could not start streaming threads: -1
DRIVER NT: could not start driver
cannot start driver
no message buffer overruns

I would appreciate any help

Please provide logs as indicated in the README files. You can then create a bug-report or contact us on the mailinglists. These comments here are probably not good to post big files...

From the output I can't even guess what is wrong. But something is working as it detects the device...

As Takashi Sakamoto explained in http://mailman.alsa-project.org/pipermail/alsa-devel/2014-September/0817..., there is a conflict between ALSA and FFADO due to the 'snd_dice' kernel module.

With my Focusrite Saffire Pro 40, unloading the kernel module resolve the issue. Just needed to 'modprobe -r snd_dice' and voilĂ : jack can start to run and stream to my device :)

Just got my Focusrite Sapphire Pro 24 today, and just finished building FFADO from SVN trunk, doing permissions, rebuilding JACK, etc. ffado-mixer works without errors, but interface is not found, so I did a

./ffado-test Discover

and found the following in the mix:

00773592349: Debug (Configuration.cpp)[ 163] showSetting: Group: (null)
00773592395: Debug (Configuration.cpp)[ 185] showSetting: vendorid = 4878 (0x0000130E)
00773592431: Debug (Configuration.cpp)[ 185] showSetting: modelid = 7 (0x00000007)
00773592472: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Focusrite
00773592508: Debug (Configuration.cpp)[ 209] showSetting: modelname = Saffire PRO 24
00773592547: Debug (Configuration.cpp)[ 185] showSetting: driver = 20 (0x00000014)
00773592582: Debug (Configuration.cpp)[ 209] showSetting: mixer = Saffire_Dice
00773704546: Warning (dice_eap.cpp)[ 881] updateNameCache: What is this function about?
00773706207: Error (saffire_pro24.cpp)[ 114] discover: This is a Focusrite Saffire Pro24 but not the right firmware. Better stop here before something goes wrong.
00773706282: Error (saffire_pro24.cpp)[ 115] discover: This device has firmware 0x10002 while we only know about version 0x10004.
00773706318: Error (devicemanager.cpp)[ 632] discover: could not discover device
00773719771: Debug (devicemanager.cpp)[ 665] discover: Discovery finished...

How do I change my firmware? Do I need to find a Windows or Mac machine, install the software, and I will see a firmware-writing option/util? Hoping a neighbor will let me install this stuff on their machine, as I have no Mac or Windows at this time.

Thanks!

Sorry for the late reply...

Yes, you need a windows or mac machine to update the firmware trough the official driver. The only alternative would be the development tools from tc itself, but I am told these run on windows only too.

Greetings! When I launch ffado-mixer (with or without JACK running) I get the following. Any ideas on what/how to fix? Otherwise, my Focusrite Saffire Pro 24 seems to be working with Ardour! Thanks :)

22:35:12 dbus DEBUG connecting to: Updated on /org/ffado/Control/DeviceManager (server: org.ffado.Control)
22:35:12 panelmanager DEBUG PanelManager::updatePanels()
22:35:12 panelmanager DEBUG going to add 00130e0401c00c02
22:35:12 panelmanager DEBUG Adding device 0: 00130e0401c00c02
22:35:12 panelmanager DEBUG Found (00130e0401c00c02, 130E, 7) Focusrite SAFFIRE_PRO_24
22:35:12 registration DEBUG version/GUID combo already registered
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/ffado/panelmanager.py", line 333, in updatePanels
""" % (mixerapp.lower(), mixerapp.lower(), mixerapp) )
File "", line 2, in
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/saffire_dice.py", line 168, in
class MonitoringDelegate(QtGui.QStyledItemDelegate):
AttributeError: 'module' object has no attribute 'QStyledItemDelegate'

Looks as if your version of Qt is to old. The QStyledItemDelegate was introduced in Qt4.4, which version do you have installed? And what distribution?

Thanks for the help; I believe I have version 4.3.4 installed through repositories.

I'm running Ubuntu 8.04 with kernel 2.6.24-27. I have the following packages related to "qt":
dpkg -l | grep qt
ii avidemux-qt 1:2.4.1-0.0ubuntu1
ii libavahi-qt3-1 0.6.22-2ubuntu4.1
ii libdbus-qt-1-1c2 0.62.git.20060814-2build1
ii libdbus-qt-1-dev 0.62.git.20060814-2build1
ii libqt3-headers 3:3.3.8-b-0ubuntu3
ii libqt3-mt 3:3.3.8-b-0ubuntu3
ii libqt3-mt-dev 3:3.3.8-b-0ubuntu3
ii libqt4-core 4.3.4-0ubuntu3.1
ii libqt4-dev 4.3.4-0ubuntu3.1
ii libqt4-gui 4.3.4-0ubuntu3.1
ii libqt4-qt3support 4.3.4-0ubuntu3.1
ii libqt4-sql 4.3.4-0ubuntu3.1
ii libqthreads-12 1.6.8-6ubuntu1
ii pyqt-tools 3.17.4-1ubuntu4
ii pyqt4-dev-tools 4.3.3-2ubuntu4.1
ii python-qt4 4.3.3-2ubuntu4.1
ii python-qt4-common 4.3.3-2ubuntu4.1
ii python-qt4-dbus 4.3.3-2ubuntu4.1
ii python-qt4-dev 4.3.3-2ubuntu4.1
ii qt3-dev-tools 3:3.3.8-b-0ubuntu3
ii qt4-designer 4.3.4-0ubuntu3.1
ii qt4-dev-tools 4.3.4-0ubuntu3.1
ii qt4-qtconfig 4.3.4-0ubuntu3.1

Is this possibly due to having QT3 and QT4 installed simultaneously? I need QT3 for a lot of apps, I think (e.g. Hydrogen).
When I run ffado-diag I see prerequisite determined disappointingly (for both run-time and static):
PyQt............... Python User Interface Compiler 3.17.4 for Qt version 3.3.8b

No, the problem is solely that the StyledItemDelegate is only present in Qt4.4 or higher, not in the 4.3 you have installed. Can you create a ticket for this so I won't forget it?

And on a side-note, can you also create a ticket for the ffado-diag tool to check for the correct version of PyQt?

Thanks.

Ok, two tickets created and assigned to you.

Thanks for the help, in the meantime I've downloaded the latest Qt source tarball and if time allows, I may freeze/lock my repository version and replace/update some files from the tarball.

I built and installed the latest QT (not sure if it really overwrote my existing files from repository packages) and tried rebuilding trunk revision 1817... still didn't work. Then I copied all the includes from the latest QT into /usr/include/qt4 and overwrote the old ones, then rebuilt ffado... still the same problem.

When launching ffado-mixer, there are also the following errors, they come before the panelmanager updates:

(:20126): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GtkMenuItem' has no property named `label'
(:20126): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GtkCheckMenuItem' has no property named `label'

I've done a complete cleanup of all my QT files and re-installed the repository packages (versions as above), and I've done a fresh build of rev 1827. Here's the results of my attempt at ffado-mixer:

18:44:25 dbus DEBUG connecting to: Updated on /org/ffado/Control/DeviceManager (server: org.ffado.Control)
18:44:25 panelmanager DEBUG PanelManager::updatePanels()
18:44:25 panelmanager DEBUG going to add 00130e0401c00c02
18:44:25 panelmanager DEBUG Adding device 0: 00130e0401c00c02
18:44:25 panelmanager DEBUG Found (00130e0401c00c02, 130E, 7) Focusrite SAFFIRE_PRO_24
18:44:25 registration DEBUG version/GUID combo already registered
18:44:25 matrixmixer DEBUG Mixer has 16 rows and 18 columns
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/ffado/panelmanager.py", line 349, in updatePanels
mixerwidget.buildMixer()
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/saffire_dice.py", line 207, in buildMixer
Generic_Dice_EAP.buildMixer(self)
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/generic_dice_eap.py", line 46, in buildMixer
self.router = CrossbarRouter(self.hw.servername, self.hw.basepath+"/EAP/Router", self)
File "/usr/local/lib/python2.5/site-packages/ffado/widgets/crossbarrouter.py", line 154, in __init__
self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
TypeError: argument 2 of QSettings.value() has an invalid type

Will I be successful at running ffado-mixer if I am successful at installing the latest version of QT? It's a massive build/install... Thanks :)

Hmph, more functions that where added in newer versions of Qt.

Can you please try to compile the current versions on your own? Or maybe look for ppa- or overlay-repositories shipping the newer versions.

Ok, thanks, I'll come back to this in a week or two, currently doing a recording project (with FFADO svn/trunk as it is, without mixer, working stable and good, thanks).

Quick question, is there any way I can do the following without ffado-mixer?
a) get the driver to sync clocksource to external (spdif through optical), and
b) get the driver to accept spdif instead of ADAT over the optical?

Many thanks!

No, this things are really only configurable via the mixer. But if you want that as the static "always on" configuration, you can do that in the official software on the other OS and save it as default to the device.

Thanks again! That sorta worked (optical spdif yes, external sync no) but it's off-topic.

I found QT4.4 in Hardy Backports repositories; I tried this instead of building the latest source again. Last time I built the latest source it took overnight and it broke my Skype, so I'm keen to try ready-built. So, after installing all the QT4.4 packages, I rebuilt revision 1827 and tried ffado-mixer; here's what I got:


20:01:28 panelmanager DEBUG Found (00130e0401c00c02, 130E, 7) Focusrite SAFFIRE_PRO_24
20:01:28 registration DEBUG version/GUID combo already registered
20:01:28 matrixmixer DEBUG Mixer has 16 rows and 18 columns
CrossbarRouter.__del__()
Exception exceptions.TypeError: 'argument 2 of QSettings.setValue() has an invalid type' in > ignored
20:01:31 panelmanager DEBUG devlistPostUpdate failed (9)
20:01:33 panelmanager DEBUG PanelManager::updatePanels()
20:01:33 panelmanager DEBUG going to add 00130e0401c00c02
20:01:33 panelmanager DEBUG Adding device 0: 00130e0401c00c02
20:01:33 panelmanager DEBUG Found (00130e0401c00c02, 130E, 7) Focusrite SAFFIRE_PRO_24
20:01:33 registration DEBUG version/GUID combo already registered
20:01:34 matrixmixer DEBUG Mixer has 16 rows and 18 columns
CrossbarRouter.__del__()
Exception exceptions.TypeError: 'argument 2 of QSettings.setValue() has an invalid type' in > ignored

.... (many repeats of above before final output below) ....


SAFFIRE_PRO_24
20:02:40 registration DEBUG version/GUID combo already registered
20:02:40 matrixmixer DEBUG Mixer has 16 rows and 18 columns
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/ffado/panelmanager.py", line 349, in updatePanels
mixerwidget.buildMixer()
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/saffire_dice.py", line 207, in buildMixer
Generic_Dice_EAP.buildMixer(self)
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/generic_dice_eap.py", line 46, in buildMixer
self.router = CrossbarRouter(self.hw.servername, self.hw.basepath+"/EAP/Router", self)
File "/usr/local/lib/python2.5/site-packages/ffado/widgets/crossbarrouter.py", line 154, in __init__
self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
TypeError: argument 2 of QSettings.value() has an invalid type

Just did a complete QT4.4 cleanup and compiled/built (overnight) QT4.6.2.
I tried rebuilding ffado-svn revisions 1827 and 1839.
I am compiling with: scons DEBUG=True ENABLE_DICE=True ENABLE_OPTIMIZATIONS=True.
In either case, I get what appears to be the same error when I try to launch the mixer:

$ ffado-mixer

(:9609): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GtkMenuItem' has no property named `label'

(:9609): GLib-GObject-WARNING **: IA__g_object_set_valist: object class `GtkCheckMenuItem' has no property named `label'
13:16:58 dbus DEBUG connecting to: Updated on /org/ffado/Control/DeviceManager (server: org.ffado.Control)
13:16:58 panelmanager DEBUG PanelManager::updatePanels()
13:16:58 panelmanager DEBUG going to add 00130e0401c00c02
13:16:58 panelmanager DEBUG Adding device 0: 00130e0401c00c02
13:16:58 panelmanager DEBUG Found (00130e0401c00c02, 130E, 7) Focusrite SAFFIRE_PRO_24
13:16:58 registration DEBUG version/GUID combo already registered
13:16:59 matrixmixer DEBUG Mixer has 16 rows and 18 columns
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/ffado/panelmanager.py", line 349, in updatePanels
mixerwidget.buildMixer()
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/saffire_dice.py", line 207, in buildMixer
Generic_Dice_EAP.buildMixer(self)
File "/usr/local/lib/python2.5/site-packages/ffado/mixer/generic_dice_eap.py", line 46, in buildMixer
self.router = CrossbarRouter(self.hw.servername, self.hw.basepath+"/EAP/Router", self)
File "/usr/local/lib/python2.5/site-packages/ffado/widgets/crossbarrouter.py", line 154, in __init__
self.vubtn.setChecked(self.settings.value("crossbarrouter/runvu", False).toBool())
TypeError: argument 2 of QSettings.value() has an invalid type

On the side, I'd be happy to skip the mixer for now if I could just set the clock source to SPDIF Optical.
It's clear from dice_defines.h, and from the output of Dice ShowDevice(), that the clock source I want
is 0x02 (integer 2).
I tried forcing it with "idx = 2;" after the declaration ClockSelect::select(int idx) in ClockSelect.cpp
but that didn't work; still defaults to internal clock source 0x0C.
I also thought to try forcing it in Dice setActiveClockSource(clocksource s) but it's gonna take
me a while to understand these datatypes (clocksource, fb_quadlet_t).

How embarrassing, I've just realized that my previous post has exact same error as a few posts back... sorry! Even though I did upgrade to QT4.4.x in between. As you suggested on May 12, I'll search for later versions through other repositories, else I'll have to do the *big build* of the 4.6.2 libs from Nokia, and possibly build my own Skype (and whatever else that breaks).

I wish I would have known this during my last recording project (when I asked the question on optical spdif)...

ffado-test Discover (to show the node and active clock source, among other things)
ffado-test -n 0 SetClockSource 2 (to set active clock source to SPDIF OPT)
ffado-test -n 0 SetClockSource 12 (to set to focusrite internal clock source)

It's imperative to have the clock source set to the external converter when recording spdif from said external converter, else you'll get popping.

I found I can change the clock source to SPDIF OPT this way before running JACK, and then JACK messages confirmed that I was using 0x2 (ID 2) instead of OxC (ID 12).

Hi
I'm not a musician and actually not knowing too much about audio interfaces. However, during one academic project, I found it is very useful to use these interfaces to simultanously connect 8 microphones to computer instead of building microphone arryas from the scratch. Now PROBLEM is, I couldn't install ffado-mixer. So it was very interesting for me that how could you start recording without using ffado-mixer? Is there any way to initialize the device parameters such as sampling rate by some commands and then start to read from firewire by a matlab or java program?
Cheers

The standard setup will probably already do what you want as the analog (and spdif and adat) inputs are routed both to the mixer and to the firewire.

But you can only use ffado with jack for recording. And plain reading from firewire is not as easy as reading from serial console...

I am trying to compile ffado lib for my updated Linux box (distro Ubuntu 10.04 64bit), It is complaining about c++ compiler. I think I have got all needed dependencies I didn't have this problem on 9.04). Output:

abc@abc:~/Documents/source/ffado-svn/libffado$ scons
scons: Reading SConscript files ...

scons: warning: The Options class is deprecated; use the Variables class instead.
File "/home/daniel/Documents/source/ffado-svn/libffado/SConstruct", line 38, in

scons: warning: The BoolOption() function is deprecated; use the BoolVariable() function instead.
File "/home/daniel/Documents/source/ffado-svn/libffado/SConstruct", line 43, in

scons: warning: The PathOption() function is deprecated; use the PathVariable() function instead.
File "/home/daniel/Documents/source/ffado-svn/libffado/SConstruct", line 45, in

scons: warning: The EnumOption() function is deprecated; use the EnumVariable() function instead.
File "/home/daniel/Documents/source/ffado-svn/libffado/SConstruct", line 73, in
Checking for a working C-compiler (cached) yes
Checking for a working C++-compiler no

It seems as if your system isn't even able to compile any C-/C++-programs. Probably you don't have gcc and g++ installed. Compiling a package from source without a working compiler is very hard to do, please install the needed packages.
Hint: on *ubuntu you need both gcc- and g++-packages installed, easiest solution is to install build-essential which depends on gcc and g++.

gcc/g++ confitmation
abc@abc:~/Documents/source/ffado-svn/libffado$ g++ -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)

Any reason why does it not work?