Page MenuHomeSolus

Focurite Saffire LE (Audio device) - Pulseaudio integration
Closed, ResolvedPublic

Description

Dear Solus Team,

since I'm a patreon supporter of your work now, I just downloaded the Solus-UNSTABLE-BUDGIE-AUGUST.iso in order to test the new release. I must admit, that I really like your work done so far, but came across a bug that affects my system usability/setup entirely. My firewire sound card (focusrite saffire le) is not recognized via pulseaudio. I can guarantee that it is recognized using other systems such as Ubuntu or Arch linux.

In order to address the problem investigation, I have some logs and screenshots for you (c.f. attachments and code below). You can reognize, that the firewire card is detected by the system (last log output), but pulseaudio does not detect it.

Hope you can help me out on this one; I'd totally want to stay on solus, but I can't if my audio device is not working...

christian@woodquarter-pc ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****


christian@woodquarter-pc ~ $ record -L
bash: record: command not found


christian@woodquarter-pc ~ $ cat /proc/asound/cards
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xfe7fc000 irq 33
                      
                      
christian@woodquarter-pc ~ $ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Barts HDMI Audio [Radeon HD 6790/6850/6870 / 7720 OEM]


christian@woodquarter-pc ~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
  
  
christian@woodquarter-pc ~ $ /sbin/lsmod | grep snd
snd_hda_codec_hdmi     45056  1
snd_hda_intel          32768  1
snd_hda_codec          94208  2 snd_hda_intel,snd_hda_codec_hdmi
snd_hda_core           61440  3 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi
snd_hwdep              16384  1 snd_hda_codec
snd_pcm                81920  4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_timer              28672  1 snd_pcm
snd                    61440  8 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_pcm
soundcore              16384  1 snd


christian@woodquarter-pc ~ $ lspci | grep -E -i "(1394|firewire)"
06:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)


christian@woodquarter-pc ~ $ lsmod | grep -E -i "(1394|firewire)"
bash: lsmod: command not found


christian@woodquarter-pc ~ $ sudo eopkg install lsmod
System error. Program terminated.
Repo item lsmod not found
Please use 'eopkg help' for general help.
Use --debug to see a traceback.


christian@woodquarter-pc ~ $ grep . /sys/bus/firewire/devices/fw*/*
Binary file /sys/bus/firewire/devices/fw0/config_rom matches
/sys/bus/firewire/devices/fw0/dev:248:0
/sys/bus/firewire/devices/fw0/guid:0x001e8c000001728d
/sys/bus/firewire/devices/fw0/is_local:1
/sys/bus/firewire/devices/fw0/model:0x023901
/sys/bus/firewire/devices/fw0/model_name:Juju
grep: /sys/bus/firewire/devices/fw0/power: Is a directory
grep: /sys/bus/firewire/devices/fw0/subsystem: Is a directory
/sys/bus/firewire/devices/fw0/uevent:MAJOR=248
/sys/bus/firewire/devices/fw0/uevent:MINOR=0
/sys/bus/firewire/devices/fw0/uevent:DEVNAME=fw0
/sys/bus/firewire/devices/fw0/vendor:0x001f11
/sys/bus/firewire/devices/fw0/vendor_name:Linux Firewire
/sys/bus/firewire/devices/fw1.0/modalias:ieee1394:ven0000130Emo00000000sp0000A02Dver00010001
/sys/bus/firewire/devices/fw1.0/model:0x000000
/sys/bus/firewire/devices/fw1.0/model_name:SaffireLE
grep: /sys/bus/firewire/devices/fw1.0/power: Is a directory
/sys/bus/firewire/devices/fw1.0/rom_index:15
/sys/bus/firewire/devices/fw1.0/specifier_id:0x00a02d
grep: /sys/bus/firewire/devices/fw1.0/subsystem: Is a directory
/sys/bus/firewire/devices/fw1.0/uevent:MODALIAS=ieee1394:ven0000130Emo00000000sp0000A02Dver00010001
/sys/bus/firewire/devices/fw1.0/version:0x010001
Binary file /sys/bus/firewire/devices/fw1/config_rom matches
/sys/bus/firewire/devices/fw1/dev:248:1
grep: /sys/bus/firewire/devices/fw1/fw1.0: Is a directory
/sys/bus/firewire/devices/fw1/guid:0x00130e010004356f
/sys/bus/firewire/devices/fw1/hardware_version:0x000002
/sys/bus/firewire/devices/fw1/is_local:0
/sys/bus/firewire/devices/fw1/model:0x000000
/sys/bus/firewire/devices/fw1/model_name:SaffireLE
grep: /sys/bus/firewire/devices/fw1/power: Is a directory
grep: /sys/bus/firewire/devices/fw1/subsystem: Is a directory
/sys/bus/firewire/devices/fw1/uevent:MAJOR=248
/sys/bus/firewire/devices/fw1/uevent:MINOR=1
/sys/bus/firewire/devices/fw1/uevent:DEVNAME=fw1
/sys/bus/firewire/devices/fw1/units:0x00a02d:0x010001
/sys/bus/firewire/devices/fw1/vendor:0x00130e
/sys/bus/firewire/devices/fw1/vendor_name:Focusrite
/sys/bus/firewire/devices/fw1/version:0x00160d

two.png (569×778 px, 111 KB)

one.png (475×654 px, 37 KB)

Event Timeline

Herald added a subscriber: ikey.

Little update: On Ubuntu Budgie 17.10 daily from 12.08.2017 the alsa config looks like follows: http://www.alsa-project.org/db/?f=8bdfb3ac4e345749cddb6a53bbd52c1912ee735c

This configuration is applied automatically. Pulseaudio correctly recognizes 7.1 Output config and sound works like a charme

Perk user herb on 1 in ~/src/solus/linux-current/files
$ grep -i "snd_bebob" config
# CONFIG_SND_BEBOB is not set

There's your problem. Required per this site: http://cateee.net/lkddb/web-lkddb/SND_BEBOB.html

Ubuntu 17.10 has CONFIG_SND_BEBOB=m (configured as a module).

Can you download and install http://www.hlmjr.com/builds/linux-focusrite-4.12.6-1-1-x86_64.eopkg, boot it up, and let us know if the audio interface is working? I don't have any firewire audio interfaces to test with. I just built it into the kernel, so shouldn't need insmod. Note that this will conflict with linux-current if you have it installed. You'll need to select "alternative boot entries" from the GRUB menu to see it.

(if you couldn't download it, try again. server was down)

sunnyflunk triaged this task as Unbreak Now! priority.
sunnyflunk moved this task from Backlog to Kernel Drivers on the Hardware board.
sunnyflunk added a subscriber: sunnyflunk.

@ikey can enable CONFIG_SND_BEBOB to both Solus kernels on next rebuilds

Wow, thank you for your quick reply and attempt to solve the problem! I was able to download the kernel you linked in your post, but could not install it because - as you said - it conflicts with linux-current. See the log:

sudo eopkg --debug --verbose install linux-focusrite-4.12.6-1-1-x86_64.eopkg 

DEBUG: HistoryDB initialized in 0.000277996063232.
DEBUG: A = ['linux-focusrite-4.12.6-1-1-x86_64.eopkg']
digraph G {
linux_focusrite[ label = "linux-focusrite(4.12.6,1)" ];


}
Installation order: linux-focusrite 
DEBUG: InstallDB initialized in 0.00302290916443.
Installing linux-focusrite, version 4.12.6, release 1
DEBUG: FilesDB initialized in 0.00564813613892.
Program terminated.
File conflicts:
/usr/lib/kernel/default-current from linux-current package

Please use 'eopkg help' for general help.

How can i savely install your kernel, without breaking my system and still be able to choose the entry from "alternative boot entries" in the GRUB menu? Can I savely uninstall linux-current?

Can you download and install http://www.hlmjr.com/builds/linux-focusrite-4.12.6-1-1-x86_64.eopkg, boot it up, and let us know if the audio interface is working? I don't have any firewire audio interfaces to test with. I just built it into the kernel, so shouldn't need insmod. Note that this will conflict with linux-current if you have it installed. You'll need to select "alternative boot entries" from the GRUB menu to see it.

OK, I just removed linux-current and installed your kernel :D

At reboot, I could only choose linux-current (could not find linux-focusrite entry), but I guess I would have to update grub in order to apply these changes.

Anyway, I just started linux-current (default entry, not in alternative entries) and guess what, my Focusrite Saffire LE just popped its little lights from yellow to green :)

Successfully tested audio output and input; works like a charme :)

If WineAsio x86/x64 support is ready until then (https://dev.solus-project.com/T2338 this is how I found you @herbmillerjr ;) ), I'll try Guitar Rig 5. Additionally I'll bring my other USB audio device (Focusrite Scarlett 2i4) and check if everything works out with this device aswell.

Thanks again! But how shell we proceed? Will this change go into the linux-current kernel?

ikey changed the task status from Open to In Progress.Aug 13 2017, 10:49 AM

@herbmillerjr when doing custom kernels, to ensure they don't conflict basically you must also update the symlink names.

linux-lts has default-lts linux-current has default-current etc, it allows them to be tracked within the series, and means that
clr-boot-manager doesn't need to do any cranky logic to work out which kernel is intended as the upgrade (tip) kernel.

@ikey can enable CONFIG_SND_BEBOB to both Solus kernels on next rebuilds

Hi,

Would it be possible to enable this flag into linux-current? Would be much much appreciated!

Edit: my mistake, it's now available and just a modprobe away. Thank you!