sof-soundwire: cs42l43 headphone output is muted due to missing Headphone Switch in UCM
GitHub issues - edited <[email protected]> Sun, 5 Jul 2026 12:18:25 +0200 (CEST)
| Newsgroups | org.alsa-project.alsa-devel |
|---|---|
| Message-ID | <[email protected]> |
alsa-project/alsa-ucm-conf issue #804 was edited from Natializd:
Hi,
I'm using a Dell Pro Max 16 Plus (Intel 800 Series ACE / cs42l43
codec via SoundWire) running Ubuntu 26.04 with kernel 7.0.0-27-generic.
When booting up or logging in with headphones plugged in, I get no
sound output. The desktop environment shows that headphones are
selected and unmuted, but there is complete silence.
Checking the mixer status using amixer shows that the "Headphone Switch"
control on card 1 remains off:
$ amixer -c 1 cget name='Headphone Switch'
numid=90,iface=MIXER,name='Headphone Switch'
; type=BOOLEAN,access=rw------,values=1
: values=off
If I manually toggle it on, sound starts working immediately:
$ amixer -c 1 cset name='Headphone Switch' on
The root cause is that `/usr/share/alsa/ucm2/sof-soundwire/cs42l43.conf`
is missing mappings for the Headphone Switch in both the sequences
and values.
I manually edited the configuration file under SectionDevice."Headphones"
from this:
EnableSequence [
cset "name='cs42l43 Headphone L Input 1' 'DP5RX1'"
cset "name='cs42l43 Headphone R Input 1' 'DP5RX2'"
]
DisableSequence [
cset "name='cs42l43 Headphone L Input 1' 'None'"
cset "name='cs42l43 Headphone R Input 1' 'None'"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
PlaybackVolume "cs42l43 Headphone Digital Volume"
JackControl "Headphone Jack"
}
To this:
EnableSequence [
cset "name='cs42l43 Headphone L Input 1' 'DP5RX1'"
cset "name='cs42l43 Headphone R Input 1' 'DP5RX2'"
cset "name='Headphone Switch' on"
]
DisableSequence [
cset "name='cs42l43 Headphone L Input 1' 'None'"
cset "name='cs42l43 Headphone R Input 1' 'None'"
cset "name='Headphone Switch' off"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
PlaybackVolume "cs42l43 Headphone Digital Volume"
PlaybackSwitch "Headphone Switch"
JackControl "Headphone Jack"
}
After restarting PipeWire/WirePlumber, the operating system now
correctly manages the hardware switch automatically and the audio
works on boot/login.
Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/804
Repository URL: https://github.com/alsa-project/alsa-ucm-conf