Skip to content

TGL (Tiger Lake) ALC257 ABI mismatch: firmware 3:22:1 vs kernel 6.17 ABI 3:23:1 - rain noise on DMIC #10635

Closed as not planned

Description

@10gajendra

System Information:

Machine: Lenovo IdeaPad Flex 5 14ITL05 (LNVNB161216)
Subsystem ID: 17aa38a3
Codec: Realtek ALC257 (10ec0257)
DSP: Intel Tiger Lake (TGL)
OS: Ubuntu 24.04.4 LTS (Noble Numbat)
Kernel: 6.17.0-19-generic (#19~24.04.2-Ubuntu)
firmware-sof-signed: 2025.12.2-1
PipeWire: 1.0.5
WirePlumber: 0.4.17

Problem Description:
Internal DMIC microphone produces only white noise (rain-like sound) when recording. The issue is a SOF firmware ABI mismatch between the installed firmware (3:22:1) and what kernel 6.17 expects (3:23:1).
Kernel log shows:
sof-audio-pci-intel-tgl: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
sof-audio-pci-intel-tgl: Topology: ABI 3:22:1 Kernel ABI 3:23:1
sof-audio-pci-intel-tgl: DMICs detected in NHLT tables: 2
sof-audio-pci-intel-tgl: using HDA machine driver skl_hda_dsp_generic
With IPC4 mode (snd_sof.ipc_type=1):
sof-audio-pci-intel-tgl: Topology: ABI 3:29:1 Kernel ABI 3:23:1
DMIC is visible but produces no audio output.
Expected behavior:
Internal DMIC should record audio cleanly without noise.
Actual behavior:

IPC3 mode: DMIC records only white noise/rain sound
IPC4 mode: DMIC is visible but silent

Workaround:
Currently using Bluetooth headset as temporary microphone workaround.

Activity

  1. added
    bugSomething isn't working as expected
    on Mar 20, 2026
  2. lgirdwood commented on Mar 20, 2026

    @lgirdwood
    Member

    @10gajendra its probably not ABI as its backwards compatible, do you know how many DMICs you have (as this can impact config and is not always known by driver) ?
    Btw, with IPC4 mode do you capture silence i.e. 0s for the duration of capture.
    @singalsu any inputs ?

  3. added
    TGLApplies to Tiger Lake
    DMICDigital Microphone
    on Mar 24, 2026
  4. singalsu commented on Mar 24, 2026

    @singalsu
    Collaborator

    @10gajendra Please attach here the report generated by alsa-info.

  5. 10gajendra commented on Mar 24, 2026

    @10gajendra
    Author

    @10gajendra its probably not ABI as its backwards compatible, do you know how many DMICs you have (as this can impact config and is not always known by driver) ? Btw, with IPC4 mode do you capture silence i.e. 0s for the duration of capture. @singalsu any inputs ?

    I have 2 DMICs (as detected by NHLT tables).
    With IPC4 mode, the capture device is visible but records silence (0s throughout the recording), not actual audio.

  6. 10gajendra commented on Mar 24, 2026

    @10gajendra
    Author

    @10gajendra Please attach here the report generated by alsa-info.

    Here is my ALSA info report:
    http://alsa-project.org/db/?f=ab39eba6a6706d5ff898e67125df85ac82e1982e

    Let me know if any additional logs are needed.

  7. singalsu commented on Mar 26, 2026

    @singalsu
    Collaborator

    @10gajendra Please attach here the report generated by alsa-info.

    Here is my ALSA info report: http://alsa-project.org/db/?f=ab39eba6a6706d5ff898e67125df85ac82e1982e

    Let me know if any additional logs are needed.

    control.41 {
    	iface MIXER
    	name 'Dmic0 Capture Volume'
    	value.0 70
    	value.1 70
    	comment {
    		access 'read write'
    		type INTEGER
    		count 2
    		range '0 - 70'
    		dbmin -9999999
    		dbmax 2000
    		dbvalue.0 2000
    		dbvalue.1 2000
    	}
    }
    control.42 {
    	iface MIXER
    	name 'Dmic0 Capture Switch'
    	value.0 true
    	value.1 true
    	comment {
    		access 'read write'
    		type BOOLEAN
    		count 2
    	}
    }
    

    It looks like you have max. volume and capture switches are enabled so it looks OK. I can't see from alsa-info which topology you are using, but I'm guessing it is this IPC3 sof-hda-generic-2ch.tplg. Can you confirm it from dmesg or journalctl -k.

    Image

    One thing to check is the EQIIR10.0 in capture pipeline from DMIC0.IN. Do you have sof-ctl tool available?

    Find the full control name of the IIR with command "amixer -c0 controls". Then do "sof-ctl -c name='x' where x is the full control name. I can check from the words values if the config blob that the IIR is using is sane. If the IIR and the gain are right then it is a lower level issue than firmware.

    Are the by chance some mic mute or privacy switches in the PC?

  8. singalsu commented on Mar 26, 2026

    @singalsu
    Collaborator

    Ah,I saw now that you've tried both IPC3 and IPC4. It's really strange that you get rain with IPC3 and silence with IPC4. With IPC4 the topology would look like this:

    Image

    With IPC4 would be useful to see control values for gain (alsa-info), eqiir, tdfb, drc (sof-ctl).

    But that possible mute/privacy switch is best to check first. And do the check with low-level arecord command line instead of pulse/pipewire, e.g. "arecord -Dhw:0,6 -f S32_LE -c 2 -r 48000 -d 10 rec.wav".

  9. 10gajendra commented on Mar 27, 2026

    @10gajendra
    Author

    Ah,I saw now that you've tried both IPC3 and IPC4. It's really strange that you get rain with IPC3 and silence with IPC4. With IPC4 the topology would look like this:

    Image With IPC4 would be useful to see control values for gain (alsa-info), eqiir, tdfb, drc (sof-ctl).

    But that possible mute/privacy switch is best to check first. And do the check with low-level arecord command line instead of pulse/pipewire, e.g. "arecord -Dhw:0,6 -f S32_LE -c 2 -r 48000 -d 10 rec.wav".

    DMIC Capture Issue on Lenovo IdeaPad Flex 5 (Tiger Lake)

    System Info:

    OS: Ubuntu 24.04.4 LTS, Kernel 6.17.0-19-generic
    Codec: Realtek ALC257, DSP: Intel Tiger Lake
    Firmware: firmware-sof-signed 2025.12.2-1
    PipeWire: 1.0.5 / WirePlumber: 0.4.17

    Topology:

    sudo dmesg | grep -i tplg

    Output:

    sof-audio-pci-intel-tgl 0000:00:1f.3: Topology file: intel/sof-tplg/sof-hda-generic-2ch.tplg
    2 DMICs detected

    Mixer / Capture Controls:

    Dmic0 Capture Volume: 70 / 70 (max)
    Dmic0 Capture Switch: on

    Raw DMIC Capture Test (IPC4):

    arecord -Dhw:0,6 -f S32_LE -c 2 -r 48000 -d 10 rec.raw
    head -c 200 rec.raw | hd

    Output (all zeros):

    00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
    *
    000000c0 00 00 00 00 00 00 00 00 |........|

    Observations:

    DMIC detected and enabled
    IPC4 capture visible but records silence
    IPC3 capture produces white noise
    Mixer settings correct (max volume, capture on)
    sof-ctl could not be built on Ubuntu 24.04 due to xtensa toolchain

    Conclusion: Likely a low-level DSP/IPC4 routing or firmware issue, not a volume/mixer problem.

  10. github-actions commented on May 27, 2026

    @github-actions

    This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.

  11. added
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on May 27, 2026
  12. lgirdwood commented on May 27, 2026

    @lgirdwood
    Member

    arecord -Dhw:0,6 -f S32_LE -c 2 -r 48000 -d 10 rec.raw head -c 200 rec.raw | hd

    Output (all zeros):

    00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000000c0 00 00 00 00 00 00 00 00 |........|

    Observations:

    This usually means that no data is coming from the DMIC, things that can cause this include wrong DMIC config being selected in topology or the pinmux not enabling the DMIC pins.

    IPC4 uses a binary blob of the DMIC settings from the topology, you could try some changes to the DMIC topology settings, rebuild and reinstall topology to see what helps for your hardware. I'm afraid its a bit of trial and error since some hardware has differences in the DMIC pins, clocking etc that may not be known to the community for upstreaming.

  13. removed
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on May 28, 2026
  14. github-actions commented on Jul 28, 2026

    @github-actions

    This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.

  15. added
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    DMICDigital MicrophoneTGLApplies to Tiger LakebugSomething isn't working as expectedstaleIssue/PR marked as stale and will be closed after 14 days if there is no activity.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions