0

Im using a Focusrite Scarlett Solo as a headphone audio output and mic input.

The audio output randomly stops and can only be restarted by replugging the Scarlett Solo. It doesn't happen for other usb audio outputs. It randomly stops in very different intervals: sometimes it works for hours, sometimes its fails in quick succession. I have used it on Windows for a couple of hours and had no issues, but can't be sure that it wasnt "luck".

I suspect PulseAudio is causing the problem. I looked on the internet and found this post https://forums.linuxmint.com/viewtopic.php?t=275031 with these commands to log PulseAudio here :

sudo killall pulseaudio

sudo pulseaudio -vvvv --log-time=1 > ~/pulselog.log 2>&1

The full log is are here : https://pastebin.com/Mzm0X0Q6

but i think the key part happens here:

...
(  14.204|   0.617) I: [pulseaudio] module-device-restore.c: Synced.
( 882.588| 868.384) I: [pulseaudio] main.c: Got signal SIGINT.
( 882.590|   0.001) I: [pulseaudio] main.c: Exiting.
( 882.590|   0.000) I: [pulseaudio] main.c: Daemon shutdown initiated.
( 882.590|   0.000) I: [pulseaudio] module.c: Unloading "module-filter-apply" (index: #23).
... 

To me this looks like a crash or shutdown of some kind but i wasn't able to find further information. How do i go on debugging this?

After a crash the correct audio output device is still shown in the PulseAudio Volume Control and the microphone input of the Scarlett Solo still works fine, the audio output just doesn't work.

Specs:
Audio device: Focusrite Scarlett Solo
Distro: Linux Debian 10 (Gnome)
Pulseaudio version 12.2

Im not experienced on debugging linux issues so any help or direction is appreciated.

Edit: Turns out it was a Hardware issue, it happened on Windows and also didn't happen with another Focusrite Scarlett Solo 3rd Gen over 10s of hours.

2 Answers 2

1

The root of your problem could be the USB autosuspend feature of TLP (power management) if that is being shipped with your distro.

Try to disable it by running systemctl disable tlp.service and reboot.

If you want to keep it running you can also blacklist your audiointerface as described in the documentation: https://linrunner.de/tlp/settings/usb.html

There is also a UI for adjusting the config called tlpui.

More Info here: https://wiki.archlinux.org/index.php/TLP#USB_autosuspend

0

Attach GDB to the running PulseAudio daemon and let it continue running:

$ gdb -p $(pgrep pulseaudio) -ex continue /usr/bin/pulseaudio

When a signal is delivered, GDB will catch it and let you examine it. For example:

(gdb) ptype $_siginfo
[...]
(gdb) print $_siginfo._sifields._kill
$2 = {si_pid = 19569, si_uid = 1234}

man sigaction provides some background.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .