sof-soundwire: cs42l43 headphone output is muted due to missing Headphone Switch in UCM
GitHub issues - opened <[email protected]> Sun, 5 Jul 2026 12:15:39 +0200 (CEST)
| Newsgroups | org.alsa-project.alsa-devel |
|---|---|
| Message-ID | <[email protected]> |
alsa-project/alsa-ucm-conf issue #804 was opened 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 `/usr/share/alsa/ucm2/sof-soundwire/cs42l43.conf` 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