I just upgraded from Ubuntu 20.04 to 21.04. Since the upgrade, I'm unable to get any sound output to USB headsets. The microphone on the headsets works. Output to the built-in speakers or headset jack also works.
This worked perfectly on Ubuntu 20.04.
In Sound settings, if I try to test the headphones, no speakers are displayed. This happens for the two USB headsets I tested (Sennheiser PC 8 and Plantronics 5200)
From what I understand, the audio implementation was changed from Pulseaudio to Pipewire. Anything I find via Google still refers to Pulseaudio. So I'm a bit lost.
Any advice on how to debug this issue would be greatly appreciated.
Update:
pactl list cards
Shows the headset. I believe this looks ok... but I'm not an expert.
Card #71
Name: alsa_card.usb-Sennheiser_Communications_Sennheiser_USB_headset-00
Driver: alsa
Owner Module: n/a
Properties:
device.enum.api = "udev"
device.api = "alsa"
media.class = "Audio/Device"
api.alsa.path = "hw:1"
api.alsa.card = "1"
api.alsa.card.name = "Sennheiser USB headset"
api.alsa.card.longname = "Sennheiser Communications Sennheiser USB headset at usb-0000:00:14.0-2, full sp"
device.plugged.usec = "998216405"
device.bus_path = "pci-0000:00:14.0-usb-0:2:1.0"
device.sysfs.path = "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card1"
device.bus-id = "usb-Sennheiser_Communications_Sennheiser_USB_headset-00"
device.bus = "usb"
device.subsystem = "sound"
device.vendor.id = "5013"
device.vendor.name = "Sennheiser Communications"
device.product.id = "37"
device.product.name = "Headset [PC 8]"
device.serial = "Sennheiser_Communications_Sennheiser_USB_headset"
device.form_factor = "headset"
device.name = "alsa_card.usb-Sennheiser_Communications_Sennheiser_USB_headset-00"
device.description = "Headset [PC 8]"
device.nick = "Sennheiser USB headset"
device.icon_name = "audio-headset-usb"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1 = "Audio1"
factory.id = "14"
client.id = "31"
object.id = "71"
object.path = "alsa:pcm:1"
alsa.card = "1"
alsa.card_name = "Sennheiser USB headset"
alsa.long_card_name = "Sennheiser Communications Sennheiser USB headset at usb-0000:00:14.0-2, full sp"
alsa.driver_name = "snd_usb_audio"
device.string = "1"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:analog-stereo+input:mono-fallback: Analog Stereo Output + Mono Input (sinks: 1, sources: 1, priority: 6501, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes)
Active Profile: output:analog-stereo+input:mono-fallback
Ports:
analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "0"
Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability unknown)
Properties:
port.type = "headphones"
device.icon_name = "audio-headphones"
card.profile.port = "1"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
However, pactl list sinks short
does not show it, only the built-in speakers that are working:
43 alsa_output.pci-0000_00_1f.3.analog-stereo PipeWire s32le 2ch 48000Hz SUSPENDED
Continuing my research, I eventually found the issue in journalctl --user -u pipewire
:
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.USB-Audio.pcm.front.0:CARD=1'
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM front:1
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: 'front:1': playback open failed: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: adapter 0x55c2e968c8b0: can't get format: No such file or directory
Aug 02 10:46:32 backxp-HP-EliteBook-840-G5 pipewire[2007]: usage: node.name=<string>
This lead me to the following bug report:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/332
I have pipewire 0.3.32, so I don't understand why this did not fix my issue.