Ticket #56 (closed bug: fixed)

Opened 13 years ago

Last modified 13 years ago

SaffireLE mixer controls mapped strangely

Reported by: grib Assigned to: ppalmers
Priority: minor Milestone: FFADO 2.0
Component: Version: FFADO 2.0-beta2 (1.999.21)
Keywords: Cc:
The device the bug applies to: SaffireLE


I was able to get the saffire mixer up and running yesterday with SVN r758. I didn't have time to be scientific about the testing, but the mixer controls did not control the levels that they advertised.

My hardware is Saffire LE, using the freebob driver for jackd .103. Kernel 2.6.24-rc4, raw1394 from the kernel tree.

I had monitor speakers connected to outputs 1-2 and headphones in the headphone jack, which the manual says are outputs 3-4. Inputs came from the front panel (input 1) and the back panel line inputs (input 3).

Some data points. I'm away from the machine right now so I may get the exact mappings wrong, but if it's important I can reproduce them tomorrow.

  • I was not able to find controls that affected the level of inputs present on any output ("hardware monitoring" levels). All the output I got was from DAW return ("software monitoring")
  • Input 3 Level on Output tabs 1/2 and 5/6 appeared to control DAW return level for output streams 1/2 on Saffire output channels 1/2 (speakers)
  • Input 3 Level on Output tabs 3/4 and 7/8 appeared to control DAW return level for output streams 1/2 on Saffire output channels 3/4 (headphones)
  • The "output level" sliders had no effect. I had them all set at 0 when I was actually

listening to output on speakers and headphones.

Change History

12/15/07 09:52:14 changed by ppalmers

  • owner set to ppalmers.
  • status changed from new to assigned.

12/26/07 11:24:35 changed by grib

I exhaustively mapped the actual functions of the sliders in the saffire mixer when used with my Saffire LE.

My notation in these tables: "1in3" means the "Out 1/2" tab, slider "IN3" (the leftmost in the IN3/4 pair). "7dw5" means the "Out 7/8" tab, slider "DAW Return Channel Mix 5/6". "5rv2" means the "Out 5/6" tab, slider "Reverb Mix 2". And so on.

DAW output to Saffire physical output assignments:

               saffire physical output 
	       1       2	3      4
jack port 1    9in1    3in1	1in1   5in1
jack port 2    1in2    5in2	3in2   7in2
jack port 3    7in1    1in3	9in3   3in3
jack port 4    9in4    3in4	1in4   5in4
jack port 5    5in3    9rv1	7in3   1rv1
jack port 6    7in4    1rv2	9rv2   3rv2
jack port 7    3rv1    7rv1	5rv1   9in2
jack port 8    5rv2    9dw9	7rv2   1dw9

Foldback (hardware monitoring) assignments:

               saffire physical output
	       1       2        3      4
input 1	       3dw9    7dw9	5dw9   9dw1
input 2	       7dw3    1dw5	9dw5   3dw5
input 3	       1dw1    5dw1	3dw1   7dw1
input 4	       5dw5    9dw7	7dw5   1dw7

I was not able to get any output on Saffire outputs 5 and 6 with either DAW output or input foldback.

I did not hook up an S/PDIF signal source or output to test inputs 5/6 and outputs 7/8.

02/19/08 11:45:34 changed by ppalmers

at the moment I don't have a way to discriminate between the saffire and the saffireLE, since they both have the same firewire id's. So I'll have to contact focusrite to figure this out.

02/19/08 11:57:31 changed by grib

There's some level of the stack that can identify the Saffire LE, because the mixer program prints that the device is a SaffireLE at startup... if it's necessary to specify a --device=saffirele or something that would be fine with me.

03/16/08 04:32:34 changed by ppalmers

I've had contact with focusrite and implemented a basic mixer for the 44.1k/48k mode in r945. Check how far you get with this.

03/16/08 08:21:05 changed by syastrov

I had to make some changes to get it working. Tested using Freebob because I couldn't get the FFADO driver to work long enough.

Index: support/mixer/ffadomixer.in
--- support/mixer/ffadomixer.in (revision 945)
+++ support/mixer/ffadomixer.in (working copy)
@@ -215,7 +215,7 @@
         vendorId = cfgrom.getVendorId()
         modelId = cfgrom.getModelId()
         GUID = cfgrom.getGUID()
-        print " Found (%X, %X, %X) %s %s" % (GUID, vendorId, modelId, cfgrom.getVendorName(), cfgrom.getModelName())
+        print " Found (%X, %X, %X) %s %s" % (int(GUID, 16), vendorId, modelId, cfgrom.getVendorName(), cfgrom.getModelName())

         thisdev=(vendorId, modelId);

Index: support/mixer/mixer_saffirele.py
--- support/mixer/mixer_saffirele.py    (revision 945)
+++ support/mixer/mixer_saffirele.py    (working copy)
@@ -95,10 +95,6 @@
                     self.chkOut2Mute:      ['/Mixer/Out2Mute'],
                     self.chkOut3Mute:      ['/Mixer/Out3Mute'],
                     self.chkOut4Mute:      ['/Mixer/Out4Mute'],
-                    self.chkOut5Mute:      ['/Mixer/Out5Mute'],
-                    self.chkOut6Mute:      ['/Mixer/Out6Mute'],
-                    self.chkOut7Mute:      ['/Mixer/Out7Mute'],
-                    self.chkOut8Mute:      ['/Mixer/Out8Mute'],


03/18/08 06:16:13 changed by ppalmers

This problem should be fixed in r954 (cfr ticket #76).

Does the mixer do what it is supposed to do? If so we can close the ticket, and are another step closer to a release.

04/26/08 10:43:22 changed by ppalmers

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

Closing the ticket due to lack of feedback. Will most likely reappear in alpha1 if still a problem.

04/27/08 11:36:43 changed by grib

Sorry about the lack of feedback. Current subversion (2008-04-27) performs much better than the version I originally reported on, with the following remaining problems:

  • There are 4 output tabs on the mixer, but the Saffire LE has 8 outputs (6 analog plus S/PDIF)
  • The output tab numberings do not correspond to the Saffire output numbering. For example, the headphone outputs (Saffire outputs 3/4) are controlled by "Out 2" and "Out 4" on the ffadomixer

Within an output tab, at least the "DAW Return Channel" sliders appear to be mapped correctly! Great.

I am continuing to test today and will try to report more full results soon. Unfortunately I have not had much time for recording :(

04/27/08 11:48:15 changed by ppalmers

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

05/01/08 09:33:28 changed by habbe

  • priority changed from major to minor.
  • version set to FFADO 2.0-beta2 (1.999.21).

SaffireLE has: 6 analog and 2 digital outputs (spdif) 4 analog inputs (4 jacks and 2 XLR) and 2 digital inputs (spdif)

The current version of saffireLE mixer has only 4 output tabs: -out1/out3 correspond to analog out 1/2 -out2/out4 correspond to analog out 3/4

In the first case, 'monitor level' -knob on the saffire's panel controls volume. In the second case, output can be had also from headphone jack.

Current fixer for saffireLE has the following defects:

-Only 4 output tabs -out3 and out2 should be reversed -mute doesn't work on any channel

'Input mix' 1,2,3,4 for each channel worked OK. Analog outs 5/6 were working, but no volume control whatsoever.

What was not tested: XLR ins, spdif ins/outs, MIDI

05/01/08 09:33:53 changed by habbe

  • priority changed from minor to major.

05/01/08 09:34:14 changed by habbe

  • version deleted.

05/01/08 09:38:33 changed by ppalmers

  • priority changed from major to minor.
  • version set to FFADO 2.0-beta2 (1.999.21).

05/04/08 15:25:27 changed by ppalmers

The number of mixer channels for the LE is correct. The device doesn't support input mixing to outputs 5/6. This is also not possible on the other operating systems.

05/04/08 15:38:52 changed by ppalmers

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

(In [1120]) fixes #56. Adds some extra controls for the saffire mixer. remove clock widget, is global now.