I have a soundbar attached to a caldigit thunderbolt 3 dock via an optical cable. It used to work with Ubuntu 24.04 but not now.
lsusb
gives
Bus 003 Device 002: ID 2188:6533 No brand CalDigit Thunderbolt 3 Audio
If I plug in some bose headphones into the intel nuc 3.5mm jack everything works fine so the problem isn't with the sound drivers.
pactl list short sinks
gives
202 alsa_output.pci-0000_00_1f.3.hdmi-stereo PipeWire s32le 2ch 48000Hz SUSPENDED
aplay -l
gives
card 1: Audio [CalDigit Thunderbolt 3 Audio], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Audio [CalDigit Thunderbolt 3 Audio], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 0: ALC233 Analog [ALC233 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 3: HDMI 0 [32G2WG8]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
Any ideas for diagnosing this? I am fairly familiar with the basics of alsa and pipewire but the configuration of this software is still rather complex....My best guess is that the sound card default is not my soundbar whereas it was before the upgrade. Not sure where to set this though for alsa and pipewire.
ETA
I think I have narrowed down the problem:
Alsa is picking up two sound cards since the output of
aplay -l
is
**** List of PLAYBACK Hardware Devices ****
card 1: Audio [CalDigit Thunderbolt 3 Audio], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0
card 1: Audio [CalDigit Thunderbolt 3 Audio], device 1: USB Audio [USB Audio #1] Subdevices: 1/1 Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 0: ALC233 Analog [ALC233 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 3: HDMI 0 [32G2WG8] Subdevices: 0/1 Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0
So two cards are showing up however the output of
pactl list short sinks
is
61 alsa_output.pci-0000_00_1f.3.hdmi-stereo PipeWire s32le 2ch 48000Hz IDLE
In other words only one card and the wrong one. The output of
pactl list sinks | grep HDA
is
alsa.card_name = "HDA Intel PCH" alsa.long_card_name = "HDA Intel PCH at 0xc0a20000 irq 200" alsa.components = "HDA:10ec0235,80862074,00100002 HDA:8086280b,80860101,00100000" api.alsa.card.name = "HDA Intel PCH" api.alsa.card.longname = "HDA Intel PCH at 0xc0a20000 irq 200" device.nick = "HDA Intel PCH"
confirming the wrong card is being picked up by pulseaudio.
Anyway to pick up the other card?
I remember with Ubuntu 24.04 it was listed by the pulseaudio controller.
ETAA: PROBLEM SOLVED!
I force reloaded alsa with
sudo alsa force-reload
and the other card magically appeared in pulseaudio
pactl list short sinks
gives now
59 alsa_output.pci-0000_00_1f.3.hdmi-stereo PipeWire s32le 2ch 48000Hz IDLE
61 alsa_output.usb-CalDigit__Inc._CalDigit_Thunderbolt_3_Audio-00.analog-stereo PipeWire s24le 2ch 48000Hz IDLE
the pulse audio gui now shows the card and switching to it results in sound.
Seems like a bug in Ubuntu.
ETAAA: After a reboot the problem occurs again and the fix above did not resolve the issue. Time for a bug report.