Focusrite Saffire Pro 40

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

Post Reply
User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 71 times
Been thanked: 186 times

Focusrite Saffire Pro 40

Post by Largos »

I have a problem with this device and I hope someone can help. Whether the firewire connects is very hit and miss, mostly miss. I need to constantly restart and hope it connects and and I am able to use (when it connects, it works perfectly). I also have Windows and it connects fine with it every time, so I don't think it's a problem with the hardware. I did get a new cable just in case but that hasn't made a difference.

Also. When it does connect, the F/W Active light flickers and goes off again. It doesn't stay on constant until I start up jack

I have this output from ffado-dbus-server

Code: Select all

1602540369501379:  (ffado-dbus-server.cpp)[ 275] main:  Discovering devices...
1602540369517743: Fatal (devicemanager.cpp)[ 187] initialize: No firewire adapters (ports) found.
1602540369517757: Error (ffado-dbus-server.cpp)[ 282] main: Could not initialize device manager
1602540369517763: Debug (ffado-dbus-server.cpp)[ 207] exitfunction: Debug output flushed...
no message buffer overruns
User avatar
sadko4u
Established Member
Posts: 989
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 361 times

Re: Focusrite Saffire Pro 40

Post by sadko4u »

If you're using FFADO, you need to blacklist the 'dice' kernel driver which tries to use Saffire PRO device.
Another problem can be in your IOMMU. I was forced to disable IOMMU on my PC via BIOS settings.
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 71 times
Been thanked: 186 times

Re: Focusrite Saffire Pro 40

Post by Largos »

Thanks, the IOMMU was already disabled.

I followed the instruction here to disable the snd_dice module but that made no difference. When the saffire connects, I have been able to select the firewire backend without issue without disabling though.
User avatar
sadko4u
Established Member
Posts: 989
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 361 times

Re: Focusrite Saffire Pro 40

Post by sadko4u »

Largos wrote: Wed Oct 14, 2020 12:18 pm Thanks, the IOMMU was already disabled.
OK
I followed the instruction here to disable the snd_dice module but that made no difference.
What does dmesg show when you're connecting the firewire cord to the device?
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 71 times
Been thanked: 186 times

Re: Focusrite Saffire Pro 40

Post by Largos »

Using dmesg --follow

Code: Select all

[ 8339.881993] firewire_core 0000:02:00.0: phy config: new root=ffc1, gap_count=5
[ 8340.291625] firewire_ohci 0000:02:00.0: failed to read phy reg 5
[ 8340.291630] CPU: 4 PID: 24989 Comm: kworker/4:1 Not tainted 5.4.0-51-lowlatency #56-Ubuntu
[ 8340.291630] Hardware name: To be filled by O.E.M. To be filled by O.E.M./M5A99FX PRO R2.0, BIOS 2501 04/07/2014
[ 8340.291636] Workqueue: events bm_work [firewire_core]
[ 8340.291637] Call Trace:
[ 8340.291642]  dump_stack+0x6d/0x9a
[ 8340.291645]  read_phy_reg.cold+0x19/0x23 [firewire_ohci]
[ 8340.291647]  update_phy_reg+0x20/0x50 [firewire_ohci]
[ 8340.291648]  ohci_update_phy_reg+0x3e/0x60 [firewire_ohci]
[ 8340.291651]  bm_work.cold+0x5c/0xaf [firewire_core]
[ 8340.291654]  ? fw_device_refresh+0x186/0x260 [firewire_core]
[ 8340.291657]  process_one_work+0x1e2/0x3d0
[ 8340.291659]  worker_thread+0x4a/0x3d0
[ 8340.291661]  kthread+0x11d/0x160
[ 8340.291662]  ? process_one_work+0x3d0/0x3d0
[ 8340.291663]  ? kthread_park+0x90/0x90
[ 8340.291665]  ret_from_fork+0x22/0x40
User avatar
sadko4u
Established Member
Posts: 989
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 361 times

Re: Focusrite Saffire Pro 40

Post by sadko4u »

It looks like your driver doesn't work properly with Firewire controller built into the motherboard.
Do you have any external PCIe firewire controller like cards based on TexasIstruments or VIA?
Have you tried to upgrade BIOS of your ASUS motherboard?
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
sadko4u
Established Member
Posts: 989
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 361 times

Re: Focusrite Saffire Pro 40

Post by sadko4u »

Ah, I see, you have the latest one BIOS.
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 71 times
Been thanked: 186 times

Re: Focusrite Saffire Pro 40

Post by Largos »

The motherboard itself doesn't have a firewire port. I use this card https://www.startech.com/en-us/cards-adapters/pex1394b3

The manual says the chipset is Texas Instruments - XIO2213B
User avatar
Largos
Established Member
Posts: 638
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 71 times
Been thanked: 186 times

Re: Focusrite Saffire Pro 40

Post by Largos »

Just in case anyone comes across this thread during a search, I did manage to find a fix.

What was confusing is the f/w active LED was flashing and occasionally connecting, allowing connection through the ALSA section of jack. I did not actually want to be using that, I want to use the Firewire drivers. Trying to connect with this resulted not even in a flashing of the LED. The first thing is to ignore the flashing lights, just don't use ALSA. As was said, I needed to blacklist snd_dice in the kernel but that wasn't all. I also can't hotplug it, nor is it very reliable from startup. What I need to do is put the OS in sleep mode and restart then it connects every time. So to sum up:

1: blacklist snd_dice
2: use firewire mode in jack. Use Cadence and not the Ubuntu Studio utility, that doesn't select firewire and caused problems because I had to use qjackctl as well and the programs clashed.
3: Don't hotplug and if it doesn't start at boot, use standby off and on.
Post Reply