Skip to content

[ADL] DMIC pipeline stops after first buffer on Lenovo IdeaPad Slim 3 14IAH8 (ALC257, NHLT reports 0 DMICs) #5701

@ghanirahmans

Description

@ghanirahmans

[ADL] DMIC pipeline stops after first buffer on Lenovo IdeaPad Slim 3 14IAH8 (ALC257, NHLT reports 0 DMICs)

System Information

Field Value
Machine Lenovo IdeaPad Slim 3 14IAH8 (83EQ)
CPU Intel Core i5-12450H (Alder Lake-P)
Codec Realtek ALC257 (PCI SSID 17aa:38b6)
Kernel 6.19.8-200.fc43.x86_64
Distro Fedora 43 Workstation
SOF Firmware sof-adl.ri version 2:2:0-57864 (alsa-sof-firmware 2025.12.2)
Topology sof-hda-generic-2ch.tplg
PipeWire 1.4.10

DSP Power State During Recording

DSP remains active throughout — confirmed by monitoring /sys/bus/pci/devices/0000:00:1f.3/power/runtime_status every second during a 10-second recording. Power management is not the cause.

ALSA Mixer State

Dmic0 Capture Volume:  70/70 [100%] [20.00dB] [on]
Capture Volume:        63/63 [100%] [30.00dB] [on]

All relevant mixer controls are unmuted and at maximum volume.

UCM Status

  • alsa-ucm-utils installed
  • UCM profile sof-hda-dsp active
  • alsa.components includes cfg-dmics:2
  • device.profile.name = "HiFi: Mic1: source" (Digital Microphone correctly mapped)

What Has Been Tried

  • snd_sof_intel_hda_generic.dmic_num=2 — parameter accepted, value confirmed = 2
  • snd_sof.tplg_filename=sof-hda-generic-2ch.tplg — topology loads correctly
  • alsa-ucm-utils installed — UCM now correctly identifies DMIC as Mic1
  • Disabling PipeWire and testing raw ALSA — same result
  • Increasing autosuspend_delay_ms to 10000 — no effect
  • amixer sset 'Capture' cap — already on
  • amixer sset 'Dmic0' on — already on

Expected Behavior

DMIC should capture audio continuously throughout the recording session, not just in the first buffer frame.

Additional Notes

This appears to be a firmware-level issue in sof-adl.ri where the DMIC pipeline produces data only for the first DMA buffer and then stops, despite the DSP remaining active. The behavior is reproducible on both device 6 (48kHz) and device 7 (16kHz), suggesting the issue is in the DMIC capture pipeline initialization, not in a specific PCM device.

The BIOS NHLT bug (reporting 0 DMICs) may be related — the firmware may not be handling the dmic_num override path correctly for the capture pipeline lifecycle.

nyyhms@fedora:~$ sudo dmesg | grep -i "sof\|hda" | grep -v "Command\|Kernel\|software\|integrity" > /tmp/full-dmesg-audio.txt
cat /tmp/full-dmesg-audio.txt
[    0.466485] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    6.656636] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    6.656832] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    6.656896] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[    6.663974] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    6.748448] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[    6.748454] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    6.748456] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[    6.748457] sof-audio-pci-intel-tgl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[    6.748458] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[    6.803509] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[    6.803514] sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/sof-adl.ri
[    6.803515] sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-hda-generic-2ch.tplg
[    6.825714] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    6.923941] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    7.021667] sof-audio-pci-intel-tgl 0000:00:1f.3: loading topology: intel/sof-tplg/sof-hda-generic-2ch.tplg
[    7.035466] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Parent card not yet available, widget card binding deferred
[    7.095222] snd_hda_codec_alc269 ehdaudio0D0: ALC257: picked fixup  for PCI SSID 17aa:38b6
[    7.096158] snd_hda_codec_alc269 ehdaudio0D0: autoconfig for ALC257: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    7.096166] snd_hda_codec_alc269 ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    7.096170] snd_hda_codec_alc269 ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    7.096172] snd_hda_codec_alc269 ehdaudio0D0:    mono: mono_out=0x0
[    7.096174] snd_hda_codec_alc269 ehdaudio0D0:    inputs:
[    7.096177] snd_hda_codec_alc269 ehdaudio0D0:      Internal Mic=0x12
[    7.096179] snd_hda_codec_alc269 ehdaudio0D0:      Mic=0x19
[    7.139826] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[    7.162089] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input16
[    7.162189] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
[    7.162216] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
[    7.162253] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input19
[    7.162278] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input20
nyyhms@fedora:~$ 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions