Ticket #368 (reopened bug)

Opened 11 years ago

Last modified 11 years ago

Jack with ffado is one-shot only

Reported by: rgreen Assigned to:
Priority: major Milestone:
Component: devices/bebob Version: FFADO 2.1.0
Keywords: Cc:
The device the bug applies to: focusrite saffire pro 26 I/O

Description

I can start jack only once. Attempting to start it a second time fails.

Jack with alsa can be started and stopped multiple times. Jack with ffado can be started, stopped, and started again ONLY if no connections were made to it during the first sesssion. If jack is actually used, it won't restart until I reboot the machine and power cycle the interface.

I just retried it to capture a log for you. This time, I was able to start jack twice, and it failed on the third attempt.

Attachments

jack_messages (26.0 kB) - added by rgreen on 04/18/13 00:13:39.

Change History

04/18/13 00:13:39 changed by rgreen

  • attachment jack_messages added.

04/18/13 00:43:06 changed by rgreen

system is freshly-installed UbuntuStudio? 12.04.2. ffado reports its version as 2.999.0- the ubuntu packaging system calls it 2.0.99+svn2019-1ubuntu1

04/18/13 01:11:56 changed by adi

  • status changed from new to closed.
  • resolution set to invalid.

You're looking for the "ffado-test BusReset?" command to get it working without rebooting everything.

Also note that you're using jackdbus instead of jackd. The former is a little bit more cumbersome to restart when FFADO crashes.

You may want to disable the DBUS interface in qjackctl.

04/18/13 05:45:41 changed by stefanr

Are you sure this ticket is invalid?

As far as I remember, there was a shortcoming in FFADO's implementation of IEC 61883 Connection Management which makes FFADO unable to hop onto existing plugs, or something like that. While an IEEE 1394 bus reset clears those plugs, IEC 61883 controllers are not supposed to issue bus resets for such a purpose. (Bus resets are for 1394 topology changes and for some 1394 and 1212 node management or bus management procedures.)

I now browsed all open and closed FFADO Trac tickets as well as the FFADO git history since SVN rev 2019 but did not spot an existing ticket or changeset about that. But I may have missed something or may be remembering wrong.

04/18/13 05:50:32 changed by adi

Not entirely sure. rgreen, feel free to reopen if my understanding was wrong.

(follow-up: ↓ 7 ) 04/18/13 10:44:53 changed by rgreen

  • status changed from closed to reopened.
  • resolution deleted.

I don't quite understand your comment. Yes, I'm using qjackctl to start jack, but I don't understand the relationship between jackd and jackdbus. It never occurred to me that I could run jackd without jackdbus. Why would I want to??

I tried running ffado-test BusReset? after this failure. It didn't clear the problem, but instead the ffado-test command itself 'hung' and did not complete. after waiting a minute, I got my shell prompt back with ctrl-C. Then I tried to start jack, and qjackctl gave me two popup messages. First the generic 'server is not running or could not be started', but then I got a new one:

D-BUS: ResetParameterValue?('engine:name'):

Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.. (org.freedesktop.DBus.Error.NoReply?)

04/18/13 11:01:28 changed by rgreen

tried it again, this time stopping qjackctl first. then issued ffado-test BusReset?, which completed quickly. started qjackctl, went into setup, turned off dbus interface, stopped qjackctl as advised. ps aux told me jackdbus was still running, so I killed it with -9. Restarted qjackctl, attempted to start jack. Got first message (server is not running or cannot be started'

13:52:14.509 Patchbay deactivated. 13:52:14.522 Statistics reset. 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 13:52:25.810 JACK is starting... 13:52:25.811 /usr/bin/jackd -v -dfirewire -r48000 -p1024 -n3 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 13:52:25.842 JACK was started with PID=2862. jackdmp 1.9.8 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2011 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 10 Jack: Create non RT thread Jack: ThreadHandler?: start Jack: JackDriver::Open capture_driver_name = Jack: JackDriver::Open playback_driver_name = Jack: Check protocol client = 8 server = 8 Jack: JackEngine::ClientInternalOpen?: name = system Jack: JackEngine::AllocateRefNum? ref = 0 Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_system val = 0 Jack: JackEngine::NotifyAddClient?: name = system Jack: JackGraphManager::SetBufferSize? size = 1024 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: 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: JackEngine::ClientInternalOpen?: name = freewheel Jack: JackEngine::AllocateRefNum? ref = 1 Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_freewheel val = 0 Jack: JackEngine::NotifyAddClient?: name = freewheel Jack: JackDriver::ClientNotify? ref = 1 driver = system name = freewheel notify = 0 Jack: JackDriver::ClientNotify? ref = 0 driver = freewheel name = system notify = 0 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 1024 fSampleRate 48000 libffado 2.999.0- built Feb 17 2012 15:54:45 firewire MSG: Streaming thread running with Realtime scheduling, priority 15 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line1/2 L_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line1/2 L_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 1 name = firewire_pcm:00130e0100031242_Line1/2 L_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 1 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 1 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line1/2 R_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line1/2 R_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 2 name = firewire_pcm:00130e0100031242_Line1/2 R_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 2 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 2 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line3/4 L_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line3/4 L_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 3 name = firewire_pcm:00130e0100031242_Line3/4 L_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 3 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 3 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line3/4 R_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line3/4 R_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 4 name = firewire_pcm:00130e0100031242_Line3/4 R_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 4 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 4 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line5/6 L_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line5/6 L_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 5 name = firewire_pcm:00130e0100031242_Line5/6 L_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 5 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 5 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line5/6 R_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line5/6 R_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 6 name = firewire_pcm:00130e0100031242_Line5/6 R_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 6 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 6 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line7/8 L_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line7/8 L_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 7 name = firewire_pcm:00130e0100031242_Line7/8 L_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 7 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 7 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_Line7/8 R_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line7/8 R_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 8 name = firewire_pcm:00130e0100031242_Line7/8 R_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 8 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 8 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_SPDIF L_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_SPDIF L_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 9 name = firewire_pcm:00130e0100031242_SPDIF L_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 9 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_SPDIF R_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_SPDIF R_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 10 name = firewire_pcm:00130e0100031242_SPDIF R_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 10 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 10 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 1_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 1_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 11 name = firewire_pcm:00130e0100031242_ADAT1 1_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 11 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 11 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 2_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 2_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 12 name = firewire_pcm:00130e0100031242_ADAT1 2_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 12 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 12 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 3_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 3_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 13 name = firewire_pcm:00130e0100031242_ADAT1 3_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 13 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 13 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 4_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 4_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 14 name = firewire_pcm:00130e0100031242_ADAT1 4_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 14 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 14 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 5_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 5_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 15 name = firewire_pcm:00130e0100031242_ADAT1 5_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 15 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 15 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 6_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 6_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 16 name = firewire_pcm:00130e0100031242_ADAT1 6_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 16 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 16 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 7_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 7_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 17 name = firewire_pcm:00130e0100031242_ADAT1 7_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 17 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 17 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT1 8_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 8_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 18 name = firewire_pcm:00130e0100031242_ADAT1 8_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 18 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 18 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 1_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 1_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 19 name = firewire_pcm:00130e0100031242_ADAT2 1_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 19 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 19 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 2_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 2_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 20 name = firewire_pcm:00130e0100031242_ADAT2 2_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 20 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 20 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 3_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 3_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 21 name = firewire_pcm:00130e0100031242_ADAT2 3_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 21 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 21 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 4_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 4_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 22 name = firewire_pcm:00130e0100031242_ADAT2 4_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 22 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 22 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 5_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 5_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 23 name = firewire_pcm:00130e0100031242_ADAT2 5_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 23 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 23 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 6_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 6_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 24 name = firewire_pcm:00130e0100031242_ADAT2 6_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 24 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 24 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 7_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 7_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 25 name = firewire_pcm:00130e0100031242_ADAT2 7_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 25 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 25 firewire MSG: Registering audio capture port firewire_pcm:00130e0100031242_ADAT2 8_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 8_in type = 32 bit float mono audio flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 26 name = firewire_pcm:00130e0100031242_ADAT2 8_in type = 32 bit float mono audio Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 26 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 26 firewire MSG: Registering midi capture port firewire_pcm:00130e0100031242_Midi_in Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Midi_in type = 8 bit raw midi flags = 22 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 27 name = firewire_pcm:00130e0100031242_Midi_in type = 8 bit raw midi Jack: JackConnectionManager::AddOutputPort? ref = 0 port = 27 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fCapturePortList[i] 27 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line1/2 L_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line1/2 L_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 28 name = firewire_pcm:00130e0100031242_Line1/2 L_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 28 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 28 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line1/2 R_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line1/2 R_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 29 name = firewire_pcm:00130e0100031242_Line1/2 R_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 29 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 29 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line3/4 L_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line3/4 L_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 30 name = firewire_pcm:00130e0100031242_Line3/4 L_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 30 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 30 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line3/4 R_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line3/4 R_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 31 name = firewire_pcm:00130e0100031242_Line3/4 R_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 31 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 31 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line5/6 L_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line5/6 L_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 32 name = firewire_pcm:00130e0100031242_Line5/6 L_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 32 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 32 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line5/6 R_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line5/6 R_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 33 name = firewire_pcm:00130e0100031242_Line5/6 R_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 33 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 33 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line7/8 L_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line7/8 L_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 34 name = firewire_pcm:00130e0100031242_Line7/8 L_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 34 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 34 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_Line7/8 R_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Line7/8 R_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 35 name = firewire_pcm:00130e0100031242_Line7/8 R_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 35 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 35 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_SPDIF L_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_SPDIF L_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 36 name = firewire_pcm:00130e0100031242_SPDIF L_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 36 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 36 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_SPDIF R_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_SPDIF R_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 37 name = firewire_pcm:00130e0100031242_SPDIF R_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 37 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 37 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 1_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 1_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 38 name = firewire_pcm:00130e0100031242_ADAT1 1_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 38 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 38 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 2_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 2_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 39 name = firewire_pcm:00130e0100031242_ADAT1 2_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 39 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 39 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 3_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 3_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 40 name = firewire_pcm:00130e0100031242_ADAT1 3_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 40 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 40 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 4_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 4_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 41 name = firewire_pcm:00130e0100031242_ADAT1 4_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 41 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 41 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 5_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 5_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 42 name = firewire_pcm:00130e0100031242_ADAT1 5_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 42 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 42 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 6_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 6_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 43 name = firewire_pcm:00130e0100031242_ADAT1 6_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 43 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 43 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 7_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 7_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 44 name = firewire_pcm:00130e0100031242_ADAT1 7_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 44 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 44 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT1 8_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT1 8_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 45 name = firewire_pcm:00130e0100031242_ADAT1 8_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 45 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 45 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 1_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 1_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 46 name = firewire_pcm:00130e0100031242_ADAT2 1_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 46 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 46 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 2_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 2_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 47 name = firewire_pcm:00130e0100031242_ADAT2 2_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 47 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 47 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 3_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 3_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 48 name = firewire_pcm:00130e0100031242_ADAT2 3_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 48 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 48 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 4_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 4_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 49 name = firewire_pcm:00130e0100031242_ADAT2 4_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 49 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 49 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 5_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 5_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 50 name = firewire_pcm:00130e0100031242_ADAT2 5_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 50 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 50 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 6_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 6_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 51 name = firewire_pcm:00130e0100031242_ADAT2 6_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 51 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 51 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 7_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 7_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 52 name = firewire_pcm:00130e0100031242_ADAT2 7_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 52 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 52 firewire MSG: Registering audio playback port firewire_pcm:00130e0100031242_ADAT2 8_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_ADAT2 8_out type = 32 bit float mono audio flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 53 name = firewire_pcm:00130e0100031242_ADAT2 8_out type = 32 bit float mono audio Jack: JackConnectionManager::AddInputPort? ref = 0 port = 53 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 53 firewire MSG: Registering midi playback port firewire_pcm:00130e0100031242_Midi_out Jack: JackEngine::PortRegister? ref = 0 name = firewire_pcm:00130e0100031242_Midi_out type = 8 bit raw midi flags = 21 buffer_size = 1024 Jack: JackGraphManager::AllocatePortAux? port_index = 54 name = firewire_pcm:00130e0100031242_Midi_out type = 8 bit raw midi Jack: JackConnectionManager::AddInputPort? ref = 0 port = 54 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackEngine::NotifyClient?: no callback for event = 9 Jack: JackFFADODriver::Attach fPlaybackPortList[i] 54 Jack: Clock source : system clock via clock_gettime Jack: JackServer::Start Jack: JackThreadedDriver::Start 13:52:35.987 Could not connect to JACK server as client. - Overall operation failed. - Server communication error. Please check the messages window for more info. firewire ERR: Could not start streaming threads Cannot start driver JackServer::Start() failed with -1 Failed to start server Jack: JackServer::Close Jack: JackServerSocket::Close /dev/shm/jack_default_1000_0 Cannot read socket fd = 15 err = Connection reset by peer Jack: JackFFADODriver::Detach Cannot read socket fd = 15 err = Connection reset by peer Could not read result type = 22 Client name = qjackctl conflits with another running client Cannot connect to the server 13:52:53.468 JACK is stopping...

It's been eight minutes now, and qjackctl is still hung in 'stopping' state.

(in reply to: ↑ 5 ) 04/18/13 11:18:52 changed by stefanr

Replying to rgreen:

I tried running ffado-test BusReset? after this failure. It didn't clear the problem, but instead the ffado-test command itself 'hung' and did not complete. after waiting a minute, I got my shell prompt back with ctrl-C.

Sounds like ticket #354 which was solved by SVN r2164.

04/18/13 12:04:54 changed by rgreen

can I get some help from someone offline? The last time I tried to recompile ffado and jack from latest source I gave myself a tremendous scrambled-system headache. libffado is in /usr/lib/, but ffado-mixer and jackd are in /usr/bin/. file tells me that jackd is dynamically linked, but libffado isn't mentioned by ldd /usr/bin/jackd ffado-mixer is a pyton script, so ldd tells me nothing. So what prefix do I declare when recompiling ffado?

(follow-up: ↓ 11 ) 04/18/13 22:06:30 changed by rgreen

I followed the directions on the compiling from source page in the wiki, and upgraded both ffado and jack to latest trunk. I can launch ffado-dbus-server and ffado-mixer successfully, but jackd won't start.

I checked the jack binaries, and they're all showing tiday's date. When I attempt to start jack from a terminal window, the first thing I notice is that I've just overlaid jackdmp with jackd 0.121.4. A little while later, I got this: firewire ERR: Incompatible libffado version! (libffado 2.1.9999-2299)

...so latest jack trunk is incompatible with latest ffado trunk???

...and I've again pulled the rug out from under my system. Reinstall and start from scratch?

04/18/13 22:34:48 changed by rgreen

another conundrum: I went out looking for jack2 source, and found jackaudio.org, hosting both jack and jackdmp. Here's the strange part: According to the web site, jackaudio.org uses git, yet the svn commands I found on this wiki yielded me the current source!

(in reply to: ↑ 9 ) 04/21/13 01:30:49 changed by jwoithe

Replying to rgreen:

I checked the jack binaries, and they're all showing tiday's date. When I attempt to start jack from a terminal window, the first thing I notice is that I've just overlaid jackdmp with jackd 0.121.4. A little while later, I got this: firewire ERR: Incompatible libffado version! (libffado 2.1.9999-2299) ...so latest jack trunk is incompatible with latest ffado trunk???

No, but there is a subtlety which should be documented somewhere but isn't. If you are upgrading from a FFADO version earlier than 2.1 to one later than 2.1, there is an additional manual step you need to perform. Due to a stuffup in the library version numbering of FFADO in the leadup to the release of version 2.1, the old shared library has a version number which is greater than that of the FFADO 2.1 release. This means that jackd will pick up the incorrect ffado.so and try to run with that. It will be expecting a new version but will get an older one.

To repair this problem, all you need to do is go to /usr/lib/ and remove the libffado.so.X.Y.Z file corresponding to the older FFADO version. You should be able to tell which is which from the timestamps on the applicable files. As a guide, the file you want to keep is libffado.so.2.1.9999 if compiling from subversion (which is what I understand you've done). The following series of commands should do you (all as root): <code> cd /usr/lib/ rm /usr/lib/libffado.so.X.Y.Z ldconfig </code>

Here you would replace "X.Y.Z" with the applicable numbers as described above.

I should mention that in your case there would have been no need to recompile/upgrade jackd; the version you originally had should have worked just fine. However, what's done is done and we'll work with it.

Please try the above and let us know how you go. I suspect there might be something else we need to address, but let's fix the shared library thing first.

Finally, apologies for the delay in chiming in here; I've been away and off-line for the last 4 days.

...and I've again pulled the rug out from under my system. Reinstall and start from scratch?

I don't think it will be necessary to go to this extend.

04/21/13 06:18:28 changed by stefanr

If Ubuntu Studio does not carry a fitting pair of .debs of jack 1 or 2 and ffado 2.1.0 (the current stable release), then ask them to update. Meanwhile, respective packages from Debian might work for you as well. (Debian Testing, I presume. I am not a user of Debian or of one of its derivatives myself and am therefore not familiar with theory and practice of their package management.)

It is quite possible that current FFADO still does not deal with some Connection Management states during startup. But at least it does have some other startup/shutdown related bugs fixed that evidently exist in your previous version, 2.0.99+svn2019-1ubuntu1. These fixes may at least reduce the chance of the device being left in a state that would get in the way of a subsequent jack startup, from what I understood.