You are not logged in.
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:
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
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
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.
Also, I'd look into Linux kernel's USB autosuspend. USB Power Saving.
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
Unfortunately, even with no added Pipewire or Wireplumber config in /etc or ~/.config, I still hit the issue.
Offline
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
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!
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.
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
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.
Sway WM
Offline
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
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
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
In my case, the external 5-volt DAC power supply was causing the sound to be muted. Works perfectly from USB
Last edited by Archttila (2024-02-11 18:51:47)
Sway WM
Offline
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 )
@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
@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
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
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:
● 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
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.
Sway WM
Offline