Ticket #168 (closed bug: fixed)

Opened 12 years ago

Last modified 8 years ago

SaffirePro26: when switching the ADAT ports on or off streaming and/or ffadomixer crashes

Reported by: ppalmers Assigned to: ppalmers
Priority: minor Milestone: FFADO 2.x
Component: Version: FFADO 2.0-beta6 (1.999.36)
Keywords: Cc:
The device the bug applies to: saffire pro 26


When the ADAT ports are switched on or off, the issues a series of bus resets. These make streaming clients crash. Due to the device not always being in a correct state, it can also happen that ffadomixer locks. Restarting ffadomixer (w/o restarting the dbus-server) makes it work again.

This won't be solved for 2.0

Change History

10/21/08 10:47:38 changed by ppalmers

  • status changed from new to assigned.

01/01/10 14:24:49 changed by arnonym

Is that the same as #55?

03/28/12 04:11:48 changed by jwoithe

  • milestone changed from FFADO 2.1 to FFADO 2.x.

Yes, it sounds very close to #55. However, while #55 is talking about generic xruns, this ticket is dealing with a specific trigger.

Changing the optical mode on devices can be tricky because it can alter the structure of the data being sent by the device. Ports can appear and disappear, and this clearly has an impact on jackd too (I don't think jackd itself can cope with ports appearing and disappearing at will). So while the impact of the xruns themselves will hopefully be dealt with by ticket #55, the effects of ADAT changes (and others which affect channel count) may not be quite so easily dealt with.

There's been no progress on this for around 3 years, so it's clearly not going to be solved before 2.1 is released. I'm not entirely convinced that we will resolve the general case. For what it's worth, my solution to this particular issue with RME and MOTU devices is to disable the ADAT mode controls whenever the device is streaming. Perhaps as a workaround this could be done for the Saffire series as well.

03/28/12 05:26:45 changed by jwoithe

Ticket #144 is closely related to this one and has been marked as a duplicate.

05/04/12 04:29:58 changed by jwoithe

A thought: are the described ADAT changes being made from within ffado-mixer, or by using controls on the physical interface?

06/01/12 05:08:04 changed by jwoithe

  • status changed from assigned to closed.
  • resolution set to fixed.

Svn r2120 checked in a change which makes ffado-fixer aware of the streaming state of DICE-based devices. Furthermore, the SaffirePro? mixer in saffirepro.py includes code (at line 299 in r2159) which prevents the ADAT ports being switched on/off when streaming is active. I think we've therefore done all we can software-wise so I'll close this ticket as "fixed".

The only scenario this doesn't cover is one where the device itself includes an ability to switch the ADAT ports on/off directly on the device. Normally interfaces which include such functionality automatically lock it when the computer has control of the device. If this applies to the Saffire, then perhaps the locking isn't automatic and we need to determine how to instruct the device to lock the hardware control. Or maybe there is no way to lock the control. In either case, this scenario is outside the scope of this particular ticket; if it turns out that this is an issue a separate ticket should be raised because its nature is fundamentally different to that being dealt with here.