[BUG] Dummy Outputs with SOF enabled using sof-hda-generic-1ch.tplg
Describe the bug Dummy Outputs with SOF enabled on an ASUS NUC with single speaker, meaning no speaker audio. The driver probes, and I can see the CS35L41 HDA driver is activated when trying to play back using aplay, but no audio is heard.
To Reproduce Boot the system with SOF enabled
Reproduction Rate 100% when SOF is loaded, it doesn't occur with SOF is disabled (by setting snd_intel_dspcfg.dsp_driver=1).
Expected behavior Real outputs exist and playback works.
Impact No audio
Environment
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Kernel: Linux version 6.15.0-sbinding ([email protected]) (gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #108 SMP PREEMPT_DYNAMIC Wed May 28 14:04:59 BST 2025
- SOF: 287d174806a369764c20894e234b63e8611873cd
- Name of the topology file
- Topology: sof-hda-generic-1ch.tplg
- Name of the platform(s) on which the bug is observed.
- Platform: Platform: Intel(R) Core(TM) Ultra 9 288V 3.30GHz
- ASUS NUC14LNS
Screenshots or console output dmesg log with SOF enabled:
journalctl log with SOF enabled:
journalctl_with_sof_04062025.log
dmesg log with SOF disabled:
dmesg_without_sof_04062025.log
journalctl log with SOF disabled:
journalctl_without_sof_04062025.log
Nodes: (SOF Enabled) dd@dd-NUC14LNK:~$ pw-cli list-objects | grep node.name node.name = "Dummy-Driver" node.name = "Freewheel-Driver" node.name = "Midi-Bridge" node.name = "bluez_midi.server" node.name = "auto_null"
(SOF Disabled) dd@dd-NUC14LNK:~$ pw-cli list-objects | grep node.name node.name = "Dummy-Driver" node.name = "Freewheel-Driver" node.name = "Midi-Bridge" node.name = "bluez_midi.server" node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo" node.name = "alsa_input.pci-0000_00_1f.3.analog-stereo"
@rfvirgil I assume this was what was discussed today ? Adding @bardliao and @ujfalusi
@stefdb Can you share the output of alsaucm dump text?
@stefdb, does aplay -Dhw:0,0 piano16b48k_long.wav plays out correctly?
- As @bardliao already asked, what is the output of
alsaucm dump text? - can you attach the output of
alsa-info.sh --no-uploadas well (when SOF is enabled) - can you also attach the output of
aplay -lLandarecord -lLwith SOF enabled and SOF disabled? - can you also attach
aplay -Dhw:0,0 -fdat --dump-hw-params /dev/zerofor both SOF enabled and disabled?
According to the manual I can find, this NUC have a single Headphone/Headset/Microphone jack as audio, no mention about DMIC, but the ACPI table reports this. ALC294+cs35l41 is the setup, right?
The hardware probing is identical in both cases, I don't see what goes wrong. If direct aplay works then this is likely an UCM issue, what is the version of alsa-lib, alsa-utils, alsa-ucm-conf, pipewire, wireplumber.
Hi,
Looks like aplay -Dhw:0,0 piano16b48k_long.wav does play audio, even with SOF enabled.
Our previous test doing this failed, because the Speaker Switch was muted with SOF enabled, (and not with it disabled) and I didn't notice at the time, though we still have Dummy Outputs in the UI.
I've attached the logs requested.
alsa-info-sof_en.log alsaucm-dump-sof_dis.log alsaucm-dump-sof_en.log aplay-1l-sof_dis.log aplay-1l-sof_en.log aplay-dump-hw-params-sof_dis.log aplay-dump-hw-params-sof_en.log arecord-1l-sof_dis.log arecord-1l-sof_en.log alsa-info-sof_dis.log
As for versions: ii alsa-base 1.0.25+dfsg-0ubuntu7 all ALSA driver configuration files ii alsa-topology-conf 1.2.5.1-3 all ALSA topology configuration files ii alsa-ucm-conf 1.2.10-1ubuntu6 all ALSA Use Case Manager configuration files ii alsa-utils 1.2.11-1ubuntu1 amd64 Utilities for configuring and using ALSA ii gnome-remote-desktop 47.0-1 amd64 Remote desktop daemon for GNOME using PipeWire ii gstreamer1.0-alsa:amd64 1.24.8-1ubuntu0.1 amd64 GStreamer plugin for ALSA ii gstreamer1.0-pipewire:amd64 1.2.4-1ubuntu1 amd64 GStreamer 1.0 plugin for the PipeWire multimedia server ii libasound2-data 1.2.12-1 all Configuration files and profiles for ALSA drivers ii libasound2t64:amd64 1.2.12-1 amd64 shared library for ALSA applications ii libatopology2t64:amd64 1.2.12-1 amd64 shared library for handling ALSA topology definitions ii libgsound0t64:amd64 1.0.3-3.2build2 amd64 small library for playing system sounds ii libpipewire-0.3-0t64:amd64 1.2.4-1ubuntu1 amd64 libraries for the PipeWire multimedia server ii libpipewire-0.3-common 1.2.4-1ubuntu1 all libraries for the PipeWire multimedia server - common files ii libpipewire-0.3-modules:amd64 1.2.4-1ubuntu1 amd64 libraries for the PipeWire multimedia server - modules ii libspa-0.2-bluetooth:amd64 1.2.4-1ubuntu1 amd64 libraries for the PipeWire multimedia server - bluetooth plugins ii libspa-0.2-modules:amd64 1.2.4-1ubuntu1 amd64 libraries for the PipeWire multimedia server Simple Plugin API - modules ii linux-sound-base 1.0.25+dfsg-0ubuntu7 all base package for ALSA and OSS sound systems ii pipewire:amd64 1.2.4-1ubuntu1 amd64 audio and video processing engine multimedia server ii pipewire-alsa:amd64 1.2.4-1ubuntu1 amd64 PipeWire ALSA plugin, for ALSA applications to output via PipeWire ii pipewire-audio 1.2.4-1ubuntu1 all recommended set of PipeWire packages for a standard audio desktop use ii pipewire-bin 1.2.4-1ubuntu1 amd64 PipeWire multimedia server - programs ii pipewire-pulse 1.2.4-1ubuntu1 amd64 PipeWire PulseAudio daemon ii wireplumber 0.5.6-1ubuntu1 amd64 modular session / policy manager for PipeWire
Thanks, Stefan
It is the 1ch which confuses PW (ucm), I can reproduce it easily by:
options snd_sof tplg_filename=sof-hda-generic-cavs25-1ch.tplg
on upx-i11 for example, switching to -2ch and all is good.
@singalsu do you have any hints on why ucm get's confused by -1ch? You have added these -1ch hda topology targets.
Wow, thanks for report @ujfalusi ! I'll check what happens.
I can replicate the issue with Ubuntu 25.04.
Looks like wireplumber have issues with mono capture? -2ch
D 13:58:21.366039 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:714:pa_alsa_open_by_device_string: Trying _ucm0009.hw:sofhdadsp,6 with SND_PCM_NO_AUTO_FORMAT ...
I 13:58:21.366702 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:724:pa_alsa_open_by_device_string: ALSA device open '_ucm0009.hw:sofhdadsp,6' capture: 0x55559d0eda10
D 13:58:21.366764 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:79:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D 13:58:21.366777 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:109:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D 13:58:21.366789 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D 13:58:21.366800 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D 13:58:21.366812 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:327:pa_alsa_set_hw_params: Maximum hw buffer size is 10922 ms
D 13:58:21.387616 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:341:pa_alsa_set_hw_params: Set buffer size first (to 4800 samples), period size second (to 1200 samples).
I 13:58:21.387667 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:395:pa_alsa_set_hw_params: Device hw:sofhdadsp,6 doesn't support sample format s16le, changed to s32le.
D 13:58:21.387700 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2625:ucm_probe_profile_set: Profile HiFi supported.
I 13:58:21.388181 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:1828:prepare_mixer: Successfully attached to mixer '_ucm0009.hw:sofhdadsp'
D 13:58:21.388210 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:1899:pa_alsa_open_mixer_by_name: ALSA alias mixers: _ucm0009.hw:0 = _ucm0009.hw:sofhdadsp
I 13:58:21.388235 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2556:ucm_mapping_jack_probe: UCM jack HDMI/DP,pcm=5 has_control=1
I 13:58:21.388257 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2556:ucm_mapping_jack_probe: UCM jack HDMI/DP,pcm=4 has_control=1
I 13:58:21.388294 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2556:ucm_mapping_jack_probe: UCM jack HDMI/DP,pcm=3 has_control=1
I 13:58:21.388320 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2556:ucm_mapping_jack_probe: UCM jack Headphone has_control=0
I 13:58:21.388356 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2556:ucm_mapping_jack_probe: UCM jack Mic has_control=1
-1ch
D 13:53:59.867456 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:714:pa_alsa_open_by_device_string: Trying _ucm0006.hw:sofhdadsp,6 with SND_PCM_NO_AUTO_FORMAT ...
I 13:53:59.867948 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:724:pa_alsa_open_by_device_string: ALSA device open '_ucm0006.hw:sofhdadsp,6' capture: 0x55559d0eda10
D 13:53:59.868012 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:79:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D 13:53:59.868033 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:109:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D 13:53:59.868055 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D 13:53:59.868078 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D 13:53:59.868101 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:299:pa_alsa_set_hw_params: snd_pcm_hw_params_set_channels(2) failed: Invalid argument
I 13:53:59.868121 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:677:pa_alsa_close: ALSA device close 0x55559d0eda10
D 13:53:59.868249 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:714:pa_alsa_open_by_device_string: Trying _ucm0006.hw:sofhdadsp,6 without SND_PCM_NO_AUTO_FORMAT ...
I 13:53:59.868837 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:724:pa_alsa_open_by_device_string: ALSA device open '_ucm0006.hw:sofhdadsp,6' capture: 0x55559d0eda10
D 13:53:59.868908 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:79:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D 13:53:59.868932 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:109:set_format: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D 13:53:59.868952 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D 13:53:59.868972 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:121:set_format: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D 13:53:59.868993 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:299:pa_alsa_set_hw_params: snd_pcm_hw_params_set_channels(2) failed: Invalid argument
I 13:53:59.869013 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:677:pa_alsa_close: ALSA device close 0x55559d0eda10
D 13:53:59.869158 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:714:pa_alsa_open_by_device_string: Trying plug:SLAVE='_ucm0006.hw:sofhdadsp,6' with SND_PCM_NO_AUTO_FORMAT ...
I 13:53:59.869285 spa.alsa pcm.c:2722:snd_pcm_open_noupdate: Unknown PCM _ucm0006.hw:sofhdadsp,6
I 13:53:59.869323 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-util.c:721:pa_alsa_open_by_device_string: Error opening PCM device plug:SLAVE='_ucm0006.hw:sofhdadsp,6': No such file or directory
I 13:53:59.869346 spa.alsa ../pipewire/spa/plugins/alsa/acp/alsa-ucm.c:2611:ucm_probe_profile_set: Profile 'HiFi' mapping 'HiFi: Mic1: source': input PCM open failed
With -1ch the card is rejected.
@stefdb, can you try: https://github.com/alsa-project/alsa-ucm-conf/pull/579
FYI, @singalsu
Hi,
Looks like that fixes it!
Thanks, Stefan
@stefdb, https://github.com/alsa-project/alsa-ucm-conf/pull/579 is merged, can you close the issue if the solution is OK?
@stefdb, ping, can you check and close the issue if it is fixed?