You are not logged in.

#1 2024-01-28 08:41:34

jtprince
Member
Registered: 2024-01-14
Posts: 7

[Solved] Pipewire cuts out frequently but randomly and needs a restart

For the last several months since installing Arch on my desktop, I have been running into a very frustrating and seemingly-random audio bug with my USB headphones. Most of the time, the audio stack (Pipewire, Wireplumber) works perfectly. However, semi-frequently and seemingly at random (anywhere from once to 4 times per day on average), all sounds stop coming out of the headphones entirely.

A workaround that almost always fixes the issue is to restart either Pipewire or Wireplumber with systemctl. However, whenever I do that, I have to restart applications to get their sound to continue working, and it frequently breaks again immediately as soon as I restart.

I've been hitting my head on this for a while now, so here are all of the findings I have so far. Nothing has ever fixed the issue beyond "it stopped happening for a few days and then started again".

Circumstances of the issue:

  • It only happens on my Arch installation. I used the dongle on Windows on the same PC with no such problem for a few years before switching to Arch.

  • I also have a laptop that runs roughly the same Arch stack (packages, configs, etc.). I use the same dongle on that laptop and have never run into any issues like this. (So this isn't purely a hardware issue)

  • Sound only cuts out on this specific sound device. When it happens, I can still make volume level feedback sounds play on all other devices through KDE's volume mixer.

  • Applications "know" that the sound is not working. For example, YouTube videos stop playing and start an endless buffering animation, and the KDE volume mixer does not give any visual indicator of sound levels playing on the device like it normally does.

  • I have loosely associated the incidence of the issue with a new application starting or stopping sound playback. For example, the sound stops working more frequently than random chance when changing songs (playing in Firefox) or launching a new program that uses audio. This is not 100% though, because on many occasions, I will be doing nothing on the PC other than listening to something or speaking on a Discord call when it cuts out suddenly.

  • When the issue happens, it tends to happen many more times in succession. For example, if the sound cuts out in the middle of a Discord call, and I go through the process of restarting Pipewire and Discord, re-joining the call will immediately cause sound to cut out again (even if I verified with the audio mixer feedback that it was working right before re-joining the call). This cycle might happen anywhere between one and ten times in a row (not an exaggeration). Rebooting does not break the cycle.

Some things I've tried, but still eventually run into the issue in every one of these setups:

  • Plugging the dongle into other USB ports on the back of the PC, front of the PC, USB 3.0 ports, 3.2 ports, 2.0 ports...

  • Updating to the latest BIOS version

  • Installing wireplumber-git and pipewire-git

  • Switching to pipewire-media-session (removing wireplumber)

  • Switching to the Zen kernel

  • Applying various Wireplumber configuration changes at `/etc/wireplumber/main.lua.d/50-alsa-config.lua`, including:

    • api.alsa.period-size

    • api.alsa.headroom

    • session.suspend-timeout-seconds (I set to 0 to disable suspend)

  • Adding amd_iommu=off as a kernel parameter per this suggestion

The only things left I can think to do are do a fresh Arch install, or get a new headset.

Environment Details:
Audio-related packages as of today:

$ pacman -Q | grep -e pipe -e jack -e pulse -e wire -e alsa  
alsa-card-profiles 1:1.0.1-2  
alsa-lib 1.2.10-2  
alsa-plugins 1:1.2.7.1-2  
alsa-topology-conf 1.2.5.1-3  
alsa-ucm-conf 1.2.10-2  
alsa-utils 1.2.10-1  
kpipewire 5.27.10-1  
lib32-alsa-lib 1.2.10-2  
lib32-alsa-plugins 1.2.7.1-2  
lib32-libpulse 17.0-1  
libpipeline 1.5.7-1  
libpipewire 1:1.0.1-2  
libpulse 17.0-3  
libwireplumber 0.4.17-1  
pipewire 1:1.0.1-2  
pipewire-alsa 1:1.0.1-2  
pipewire-audio 1:1.0.1-2  
pipewire-jack 1:1.0.1-2  
pipewire-pulse 1:1.0.1-2  
pulseaudio-qt 1.4.0-1  
wireplumber 0.4.17-1  
wireshark-cli 4.2.2-1  
wireshark-qt 4.2.2-1

Non-audio-related packages:

linux 6.7.1.arch1-1      (tried with both kernels)
linux-zen 6.7.1.zen1-1

plasma-desktop 5.27.10-1  (running in Wayland)
xorg-xwayland 23.2.4-1  
xwaylandvideobridge 0.4.0-1
  • Motherboard is a MSI MAG B550 Tomahawk

  • CPU is a Ryzen 9 5900X

  • The USB headset is connected through a Creative BT-W2 dongle. This is a Bluetooth dongle, but it does not expose itself to the host's Bluetooth stack at all - Linux only sees a USB sound device.

refind kernel parameters:

"root=UUID=(REDACTED) rw rootflags=subvol=@ initrd=@\boot\amd-ucode.img initrd=@\boot\initramfs-%v.img resume=UUID=(REDACTED)"

Finally, here are a few command outputs:

  • lsusb on the headset device

  • systemctl outputs on one instance of it happening

    • Notable errors:

      pipewire[1272]: mod.client-node: 0x5790e6295860: unknown peer 0x5790e6a03f70 fd:112
      pipewire-pulse[1401]: mod.protocol-pulse: client 0x5f44100d7b60 [Plasma PA]: ERROR command:-1 (invalid) tag:815 error:25 (Input/output error)
  • Other errors I've picked out of journals on various occurrences of the issue, which line up with when the sound cut out:

    pipewire[17552]: mod.client-node: 0x61016b92f890: unknown peer 0x61016b534f30 fd:106
    pipewire[6538]: spa.alsa: front:2p: (125 suppressed) snd_pcm_avail after recover: Broken pipe  

Thank you sincerely to anyone who has read through all of this. I would thoroughly appreciate any further tips for where I might look to help determine what exactly is happening or how to prevent it happening.

Last edited by jtprince (2024-04-12 02:30:06)

Offline

#2 2024-01-28 11:20:41

PasAmoreux
Member
From: Eastern Europe
Registered: 2022-12-17
Posts: 8

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Since everything works on your laptop, I'd try copying your wireplumber config from there to your desktop.
Also, I'd look into Linux kernel's USB autosuspend. USB Power Saving.
I'm not an expert, though, and those are just wild guesses.

Offline

#3 2024-01-29 01:57:17

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

PasAmoreux wrote:

Since everything works on your laptop, I'd try copying your wireplumber config from there to your desktop.

My laptop has no Wireplumber config in either /etc/wireplumber or ~/.config/wireplumber. I deleted the configs on my desktop and will update if I run into it again.

PasAmoreux wrote:

It looks like power saving is already disabled by default on this device, I don't have any udev rules that are setting it.

$ cat /sys/bus/usb/devices/usb1/1-3/idProduct          
3125   (this matches the output of lsusb I linked above)
$ cat /sys/bus/usb/devices/usb1/1-3/idVendor 
041e   (this matches the output of lsusb I linked above)
$ cat /sys/bus/usb/devices/usb1/1-3/power/control 
on

I appreciate the pointers!

Offline

#4 2024-01-29 04:54:14

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Unfortunately, even with no added Pipewire or Wireplumber config in /etc or ~/.config, I still hit the issue.

Offline

#5 2024-01-29 10:24:13

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,447

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Is this actually a problem with pipewire or with the kernel driver. When this happens post

sudo fuser -v /dev/snd/*
aplay -lL
lsusb -t
sudo journalctl -b

FWIW usb based audio devices are also quite prone and react allergic to insufficient power on the USB bus. If this is plugged into some hub or similar try to plug it somewhere different (looking at the lsusb -t, it should best be alone on a USB 2+ capable hub)

FWIW2 lol,creative I'd not put it past them if they have some stupid firmware logic that suspends/breaks the device if it wasn't receiving audio for a while. Or does this actually actively happen while sound should be playing?

Offline

#6 2024-01-30 03:00:43

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

V1del wrote:

Is this actually a problem with pipewire or with the kernel driver. When this happens post

sudo fuser -v /dev/snd/*
aplay -lL
lsusb -t
sudo journalctl -b

I'll try these next time it happens!

V1del wrote:

FWIW usb based audio devices are also quite prone and react allergic to insufficient power on the USB bus. If this is plugged into some hub or similar try to plug it somewhere different (looking at the lsusb -t, it should best be alone on a USB 2+ capable hub)

I will give it a try on other ports again, but I did run into it at least once on several different ports on both the motherboard and case. Standard setup is that it's the only thing plugged into any of the case ports.

V1del wrote:

FWIW2 lol,creative I'd not put it past them if they have some stupid firmware logic that suspends/breaks the device if it wasn't receiving audio for a while. Or does this actually actively happen while sound should be playing?

It does happen suddenly every once in a while while sound is actively playing and not changing at all. However, it is definitely more common to see when sounds start or stop.

Offline

#7 2024-01-30 07:42:03

Archttila
Member
From: Hungary
Registered: 2021-11-16
Posts: 26

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Same problem here:
- iFi Zen DAC v2 with external power supply

[alucard@desktop ~]$ uname -a
Linux desktop 6.7.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 26 Jan 2024 19:10:20 +0000 x86_64 GNU/Linux
[alucard@desktop ~]$ systemctl --user status pipewire-pulse pipewire wireplumber
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: enabled)
     Active: active (running) since Tue 2024-01-30 08:17:16 CET; 16min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1956 (pipewire-pulse)
      Tasks: 3 (limit: 16564)
     Memory: 11.2M (peak: 13.1M)
        CPU: 1.786s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─1956 /usr/bin/pipewire-pulse

Jan 30 08:17:16 desktop systemd[706]: Started PipeWire PulseAudio.

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)
     Active: active (running) since Tue 2024-01-30 08:17:16 CET; 16min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1950 (pipewire)
      Tasks: 3 (limit: 16564)
     Memory: 12.0M (peak: 13.1M)
        CPU: 658ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1950 /usr/bin/pipewire

Jan 30 08:17:16 desktop systemd[706]: Started PipeWire Multimedia Service.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-01-30 08:17:16 CET; 16min ago
   Main PID: 1955 (wireplumber)
      Tasks: 7 (limit: 16564)
     Memory: 24.1M (peak: 27.5M)
        CPU: 272ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1955 /usr/bin/wireplumber

Jan 30 08:17:16 desktop systemd[706]: Started Multimedia Service Session Manager.
Jan 30 08:17:16 desktop wireplumber[1955]: [0:07:14.551032854] [1955] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo >
Jan 30 08:17:16 desktop wireplumber[1955]: [0:07:14.551041530] [1955] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA m>
Jan 30 08:17:16 desktop wireplumber[1955]: [0:07:14.551060075] [1955]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0
[alucard@desktop ~]$ pacman -Qs 'pipe|pulse'
local/lib32-libpipewire 1:1.0.1-1
    Low-latency audio/video router and processor - 32-bit - client library
local/lib32-pipewire 1:1.0.1-1
    Low-latency audio/video router and processor - 32-bit
local/libpipeline 1.5.7-1
    a C library for manipulating pipelines of subprocesses in a flexible and convenient way
local/libpipewire 1:1.0.1-2
    Low-latency audio/video router and processor - client library
local/libpulse 17.0-3
    A featureful, general-purpose sound server (client library)
local/libwireplumber 0.4.17-1
    Session / policy manager implementation for PipeWire - client library
local/pipewire 1:1.0.1-2
    Low-latency audio/video router and processor
local/pipewire-alsa 1:1.0.1-2
    Low-latency audio/video router and processor - ALSA configuration
local/pipewire-audio 1:1.0.1-2
    Low-latency audio/video router and processor - Audio support
local/pipewire-jack 1:1.0.1-2
    Low-latency audio/video router and processor - JACK replacement
local/pipewire-pulse 1:1.0.1-2
    Low-latency audio/video router and processor - PulseAudio replacement
local/pulsemixer 1.5.1-5
    CLI and curses mixer for pulseaudio
local/wireplumber 0.4.17-1
    Session / policy manager implementation for PipeWire
[alucard@desktop ~]$ inxi -A
Audio:
  Device-1: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
  Device-2: AMD Family 17h/19h HD Audio driver: snd_hda_intel
  Device-3: XMOS iFi (by AMR) HD USB Audio driver: snd-usb-audio type: USB
  API: ALSA v: k6.7.2-arch1-1 status: kernel-api
  Server-1: PipeWire v: 1.0.1 status: active
[alucard@desktop ~]$ sudo lspci -kv | grep Audio
[sudo] password for alucard: 
02:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
02:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
	Subsystem: ASRock Incorporation Family 17h/19h HD Audio Controller
[alucard@desktop ~]$ aplay -lL
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
hdmi:CARD=Generic,DEV=0
    HD-Audio Generic, HDMI 0
    HDMI Audio Output
hdmi:CARD=Generic,DEV=1
    HD-Audio Generic, LG HDR QHD
    HDMI Audio Output
hdmi:CARD=Generic,DEV=2
    HD-Audio Generic, HDMI 2
    HDMI Audio Output
hdmi:CARD=Generic,DEV=3
    HD-Audio Generic, HDMI 3
    HDMI Audio Output
usbstream:CARD=Generic
    HD-Audio Generic
    USB Stream Output
sysdefault:CARD=Generic_1
    HD-Audio Generic, ALC233 Analog
    Default Audio Device
front:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    Front output / input
surround21:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic_1,DEV=0
    HD-Audio Generic, ALC233 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=Generic_1
    HD-Audio Generic
    USB Stream Output
sysdefault:CARD=Audio
    iFi (by AMR) HD USB Audio, USB Audio
    Default Audio Device
front:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    Front output / input
surround21:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Audio,DEV=0
    iFi (by AMR) HD USB Audio, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Audio
    iFi (by AMR) HD USB Audio
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [LG HDR QHD]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC233 Analog [ALC233 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [iFi (by AMR) HD USB Audio], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
[alucard@desktop ~]$ sudo lshw -C multimedia
  *-multimedia:0            
       description: Audio device
       product: Renoir Radeon High Definition Audio Controller
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0.1
       bus info: pci@0000:02:00.1
       logical name: card0
       logical name: /dev/snd/controlC0
       logical name: /dev/snd/hwC0D0
       logical name: /dev/snd/pcmC0D3p
       logical name: /dev/snd/pcmC0D7p
       logical name: /dev/snd/pcmC0D8p
       logical name: /dev/snd/pcmC0D9p
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:58 memory:fcd88000-fcd8bfff
  *-usb
       description: Audio device
       product: iFi (by AMR) HD USB Audio
       vendor: iFi (by AMR)
       physical id: 2
       bus info: usb@3:2.2
       logical name: card2
       logical name: /dev/snd/controlC2
       logical name: /dev/snd/pcmC2D0p
       version: 7.4b
       serial: 0000
       capabilities: usb-2.00 audio-control
       configuration: driver=snd-usb-audio speed=480Mbit/s
  *-multimedia:1
       description: Audio device
       product: Family 17h/19h HD Audio Controller
       vendor: Advanced Micro Devices, Inc. [AMD]
       physical id: 0.6
       bus info: pci@0000:02:00.6
       logical name: card1
       logical name: /dev/snd/controlC1
       logical name: /dev/snd/hwC1D0
       logical name: /dev/snd/pcmC1D0c
       logical name: /dev/snd/pcmC1D0p
       logical name: /dev/snd/pcmC1D2c
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:59 memory:fcd80000-fcd87fff
[alucard@desktop ~]$ wpctl status | more
PipeWire 'pipewire-0' [1.0.1, alucard@desktop, cookie:3085962476]
 └─ Clients:
        31. pipewire                            [1.0.1, alucard@desktop, pid:1956]
        33. WirePlumber                         [1.0.1, alucard@desktop, pid:1955]
        34. WirePlumber [export]                [1.0.1, alucard@desktop, pid:1955]
        44. Firefox                             [1.0.1, alucard@desktop, pid:911]
        49. C* Music Player                     [1.0.1, alucard@desktop, pid:2198]
        60. wpctl                               [1.0.1, alucard@desktop, pid:3707]

Audio
 ├─ Devices:
 │      42. iFi (by AMR) HD USB Audio           [alsa]
 │      55. Renoir Radeon High Definition Audio Controller [alsa]
 │      56. Family 17h/19h HD Audio Controller  [alsa]
 │  
 ├─ Sinks:
 │      41. Renoir Radeon High Definition Audio Controller Digital Stereo (HDMI 2) [vol: 0.40]
 │  *   48. iFi (by AMR) HD USB Audio Digital Stereo (IEC958) [vol: 1.00]
 │  
 ├─ Sink endpoints:
 │  
 ├─ Sources:
 │  
 ├─ Source endpoints:
 │  
 └─ Streams:
        51. C* Music Player                                             
             50. output_FR       > iFi (by AMR) HD USB Audio:playback_FR	[active]
             53. output_FL       > iFi (by AMR) HD USB Audio:playback_FL	[active]

Video
 ├─ Devices:
 │  
 ├─ Sinks:
 │  
 ├─ Sink endpoints:
 │  
 ├─ Sources:
 │  
 ├─ Source endpoints:
 │  
 └─ Streams:

Settings
 └─ Default Configured Node Names:
         0. Audio/Sink    alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0000-00.iec958-stereo

Removing  ~/.local/state/wireplumber does not resolve the issue.


Passionate about minimalistic software, the Linux philosophy, and having fun. SFF and AV enthusiast, APU retro gamer.

Offline

#8 2024-02-01 08:39:13

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

V1del wrote:
sudo fuser -v /dev/snd/*
aplay -lL
lsusb -t
sudo journalctl -b
sudo fuser -v /dev/snd/*
[sudo] password for jtprince: 
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  jtprince  13519 F.... wireplumber
/dev/snd/controlC1:  jtprince  13519 F.... wireplumber
/dev/snd/controlC2:  jtprince  13519 F.... wireplumber
/dev/snd/controlC3:  jtprince  13519 F.... wireplumber
/dev/snd/pcmC0D0p:   jtprince  13517 F...m pipewire
/dev/snd/pcmC3D0c:   jtprince  13517 F...m pipewire
/dev/snd/seq:        jtprince  13517 F.... pipewire
aplay -lL
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault
    Default Audio Device
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=W2
    Creative Bluetooth Audio W2, USB Audio
    Default Audio Device
front:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    Front output / input
surround21:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=W2,DEV=0
    Creative Bluetooth Audio W2, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=W2
    Creative Bluetooth Audio W2
    USB Stream Output
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA ATI HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA ATI HDMI, Gigabyte M32U
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA ATI HDMI, Gigabyte M32U
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
    HDA ATI HDMI, HDMI 5
    HDMI Audio Output
usbstream:CARD=HDMI
    HDA ATI HDMI
    USB Stream Output
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1220 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    Front output / input
surround21:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Generic
    HD-Audio Generic
    USB Stream Output
usbstream:CARD=Microphone
    Antlion Wireless Microphone
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: W2 [Creative Bluetooth Audio W2], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [Gigabyte M32U]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [Gigabyte M32U]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/10p, 480M
    |__ Port 002: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 005: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 008: Dev 004, If 0, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 001: Dev 002, If 0, Class=Billboard, Driver=[none], 12M
/:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 001: Dev 008, If 0, Class=Audio, Driver=snd-usb-audio, 12M
    |__ Port 001: Dev 008, If 1, Class=Audio, Driver=snd-usb-audio, 12M
    |__ Port 001: Dev 008, If 2, Class=Audio, Driver=snd-usb-audio, 12M
    |__ Port 001: Dev 008, If 3, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 003: Dev 003, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 001: Dev 004, If 0, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 001: Dev 004, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 001: Dev 004, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 002: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 480M
        |__ Port 002: Dev 005, If 1, Class=Human Interface Device, Driver=usbhid, 480M
        |__ Port 002: Dev 005, If 2, Class=Human Interface Device, Driver=usbhid, 480M
        |__ Port 003: Dev 006, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 003: Dev 006, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 006: Dev 007, If 0, Class=Human Interface Device, Driver=usbhid, 480M
/:  Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    |__ Port 003: Dev 002, If 0, Class=Hub, Driver=hub/3p, 5000M

journalctl: https://pastes.io/0qsu9n3god
Sound cut out around 20:28:39 and again at 00:03:42. The usual errors are present:

Feb 01 00:03:42 ruby pipewire[13517]: mod.client-node: 0x5f12f20e3da0: unknown peer 0x5f12f1a70980 fd:97
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 target not found
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
Feb 01 00:04:00 ruby plasmashell[1130]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:7
Feb 01 00:04:00 ruby pipewire[13517]: mod.client-node: 0x5f12f183efc0: unknown peer 0x5f12f16f5620 fd:97
Feb 01 00:04:00 ruby pipewire[13517]: mod.client-node: 0x5f12f16b3b70: unknown peer 0x5f12f2a0a280 fd:97
...
Feb 01 00:06:29 ruby pipewire[13517]: spa.alsa: iec958:0p: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Feb 01 00:06:31 ruby pipewire[13517]: spa.alsa: iec958:0p: (62 suppressed) snd_pcm_avail after recover: Broken pipe
Feb 01 00:06:33 ruby pipewire[13517]: spa.alsa: iec958:0p: (62 suppressed) snd_pcm_avail after recover: Broken pipe

I tried again in various different ports, no change. This output is with it in a motherboard 3.2 port.

One interesting note the most recent time it happened is that as soon as I quit Discord, the sound came back and I heard the queued feedback sounds from the KDE volume mixer. So these sounds are getting queued somewhere, but blocked from making it to the output and "released" when Discord is closed. Maybe Discord is the problem?

Offline

#9 2024-02-02 14:03:12

seth
Member
Registered: 2012-09-03
Posts: 59,911

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Maybe Discord is the problem?

Always.

repo, aur or flatschpak/docker?
Have you ever experienced the problem w/o discord?

https://gitlab.freedesktop.org/pipewire … issues/618
https://gitlab.freedesktop.org/pipewire … ssues/1797
vs.
https://wiki.archlinux.org/title/PipeWi … om_Discord
?


Ftr, pastes.io seems to have a broken cookie consenter or it's b/c the file is so big, but: https://pastes.io/raw/0qsu9n3god

Offline

#10 2024-02-07 04:44:04

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Unfortunately, I still did hit the issue without Discord, but it seemed much less frequent. Probably because Discord likes to open and close audio devices frequently.

I bought a $13 TP-Link Bluetooth dongle from Amazon and have been using it instead of continuing to try to debug. I haven't hit the issue at all in the last few days of using it. (I originally used the Creative one since it supported aptX Low Latency, but Linux's Bluetooth stack gives the same codec option with this adapter and identical quality, so I'm not really missing anything with the new dongle.) Sorry for anyone else who hits a similar issue reading this in the future, but I don't think I'm going to try to debug this any further. Clearly something about the Creative adapter acting as a plain USB sound device didn't play well with Linux.

Offline

#11 2024-02-07 07:12:33

Archttila
Member
From: Hungary
Registered: 2021-11-16
Posts: 26

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

In my case, the external 5-volt DAC power supply was causing the sound to be muted. Works perfectly from USB smile

Last edited by Archttila (2024-02-11 18:51:47)


Passionate about minimalistic software, the Linux philosophy, and having fun. SFF and AV enthusiast, APU retro gamer.

Offline

#12 2024-02-07 10:03:29

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,447

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Creative in general is very whacky on linux most of the time I'm afraid, unless you opt for older/professional studio cards. Had a built in creative sound card that never really worked on my previous mainboard that I replaced with a cheap Xonar DGX. So while this isn't really a satisfactory conclusion, chances are this is just Creative being  "creative" (in a bad way roll)

@Archtilla  For the future please don't fullquote posts if it's not strictly necessary.

Last edited by V1del (2024-02-07 10:04:02)

Offline

#13 2024-03-07 13:26:39

gsheremeta
Member
Registered: 2024-03-07
Posts: 1

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

@jtprince, I've been running into a similar problem but with a different device -- Jabra 510 speakerphone. I was having a similar thought: "this USB sound device doesn't play well with Linux [anymore]". Problem for me is, I don't experience the issue on a different computer with a newer motherboard/chipset, and the issue only started last year whereas I've had the Jabra for years.

Your troubleshooting skills are admirable -- I've tried many of the same things. After I found your post yesterday, I found another one that finally did the trick for me. I set these 3 lines of pipewire config

        default.clock.quantum     = 2048
        default.clock.min-quantum = 1024
        default.clock.max-quantum = 4096

and the dreaded

snd_pcm_avail after recover: Broken pipe

finally stops and the Jabra now works great.

I don't know what a quantum is (I'm a pipewire newb) or what this config actually does, but it seems like they are on to something in this thread. https://gitlab.freedesktop.org/pipewire … ssues/1984

Sharing in case you want to give it another try with this config change. I'd certainly be interested to know if it helps.

Offline

#14 2024-04-12 02:29:31

jtprince
Member
Registered: 2024-01-14
Posts: 7

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

gsheremeta wrote:
        default.clock.quantum     = 2048
        default.clock.min-quantum = 1024
        default.clock.max-quantum = 4096

One month later, and incredibly, I'm pretty sure this fixed it for good! I had to switch back to the Creative dongle and it hasn't cut out a single time since I set these in /etc/pipewire/pipewire.conf. It's either that, or the 0.5 wireplumber update, but I'm definitely leaning towards higher quantum values being the fix. Thank you so much for the tip!

Offline

#15 2024-07-23 12:52:32

chipgoon
Member
Registered: 2024-07-23
Posts: 1

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

Thought I'd chime in.  I struggled with this issue forever with my Tascam model 12 mixer USB interface.

Notice this line in pipewire status:

Archttila wrote:

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)

I found enabling the service solved all audio cutoffs for me.

systemctl --user enable pipewire.service
systemctl --user enable pipewire-pulse.service

Seems simple, but it was PITA to figure out.
Not sure why it's not fully enabled by default after installing pipewire.

Offline

#16 2024-08-09 07:48:58

Archttila
Member
From: Hungary
Registered: 2021-11-16
Posts: 26

Re: [Solved] Pipewire cuts out frequently but randomly and needs a restart

I have both services running by default, but thanks for the tip!

[alucard@desktop ~]$ systemctl --user status pipewire.service
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-08-09 09:32:00 CEST; 14min ago
 Invocation: e8e5ab2b0f224d03acb472bca19bc463
TriggeredBy: ● pipewire.socket
   Main PID: 783 (pipewire)
      Tasks: 3 (limit: 16591)
     Memory: 7.5M (peak: 10M)
        CPU: 3.269s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─783 /usr/bin/pipewire

Aug 09 09:32:00 desktop systemd[771]: Started PipeWire Multimedia Service.
[alucard@desktop ~]$ systemctl --user status pipewire-pulse                     
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-08-09 09:32:00 CEST; 14min ago
 Invocation: 7910565fe0b340469a74e724890170da
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 785 (pipewire-pulse)
      Tasks: 3 (limit: 16591)
     Memory: 8.5M (peak: 10.4M)
        CPU: 4.194s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─785 /usr/bin/pipewire-pulse

Aug 09 09:32:00 desktop systemd[771]: Started PipeWire PulseAudio.

Passionate about minimalistic software, the Linux philosophy, and having fun. SFF and AV enthusiast, APU retro gamer.

Offline

Board footer

Powered by FluxBB