Skip to content

ASUS Vivobook K3605ZF (ALC256): DMIC internal microphone not working with dsp_driver=1, speakers not working with dsp_driver=3 #11117

Open

Description

@stip27

ASUS Vivobook K3605ZF (ALC256): DMIC internal microphone not working with dsp_driver=1, speakers not working with dsp_driver=3

Describe the bug

On the ASUS Vivobook K3605ZF with Realtek ALC256 codec (subsystem ID 0x104318b3), there is a conflict between DMIC microphone functionality and speaker output depending on the DSP driver mode:

  • With dsp_driver=1 (HDA classic): speakers and headphones work correctly, but the internal DMIC microphone is unavailable. Pin 0x12 (DMIC) is initialized as 0x411111f0 (N/A) by the BIOS and no kernel quirk corrects it for this specific subsystem ID.
  • With dsp_driver=3 (SOF) + sof-hda-generic-4ch-bt.tplg: DMIC captures real signal (confirmed via arecord hw:0,6, 4ch, 48000Hz), but internal speakers produce no output. No UCM2 profile exists for this hardware combination.

NHLT tables report 2 DMICs detected. It is not possible to have both DMIC and speakers working simultaneously with any current configuration.

What have you tried to diagnose or workaround this issue?

  • Tried multiple snd-hda-intel model overrides: dell-headset-multi, auto, asus-vivobook, alc256-asus-headset-mic, alc256-asus-aio, headset-mic, headset-mode, alc256-asus-aio — none resolved DMIC detection with dsp_driver=1
  • Used hdajackretask to override pin 0x12 to Internal Mic and DMIC — resulted in noise/static, not actual microphone capture
  • Tried overriding pin 0x19 (headset mic) — only activates with physical headset connected, not internal DMIC
  • Updated BIOS to latest version (K3605ZF v316, 2025-08-05) — no change
  • Compiled libfprint elanmoc2 branch for fingerprint (unrelated) — confirmed NHLT reports 2 DMICs
  • Created patch file via hda-jack-retask.fw — no improvement

To Reproduce

  1. Boot any Linux distribution on ASUS Vivobook K3605ZF with default kernel settings
  2. Set options snd-intel-dspcfg dsp_driver=1 in /etc/modprobe.d/
  3. Check available audio inputs: pactl list sources
  4. Observe that only analog input is available, no DMIC source
  5. Try arecord -D hw:0,0 — no microphone signal

Alternatively:

  1. Set options snd-intel-dspcfg dsp_driver=3
  2. Speakers produce no output while DMIC captures signal

Reproduction Rate

100% — all the time, reproducible on every boot across multiple kernel versions (6.x to 7.0.5).

Expected behavior

Both internal DMIC microphone and internal speakers should work simultaneously, as they do under Windows with ASUS proprietary drivers.

Impact

Showstopper for microphone usage. The internal microphone is completely non-functional under normal HDA mode. SOF mode enables DMIC but breaks speaker output entirely. No workaround exists for simultaneous audio I/O.

Environment

  1. Repositories:

    • Kernel: 7.0.5-1-cachyos (CachyOS, Arch-based)
    • SOF: current as of 2026-08-24
  2. Topology file (with dsp_driver=3):

    • Topology: sof-hda-generic-4ch-bt.tplg
  3. Platform:

    • Platform: Intel Alder Lake (i7-12700H), ASUS Vivobook K3605ZF

Hardware details

Laptop:    ASUS Vivobook K3605ZF (K3605ZF_K3605ZF)
CPU:       Intel Core i7-12700H (Alder Lake-P)
Codec:     Realtek ALC256
           HDA:10ec0256,104318b3,00100002
Subsystem: 0x104318b3
Kernel:    7.0.5-1-cachyos
BIOS:      K3605ZF v316 (2025-08-05)
OS:        CachyOS (Arch-based), Hyprland

Pin configuration (from /sys/class/sound/hwC0D0/init_pin_configs)

0x12 0x411111f0   # DMIC — marked N/A by BIOS
0x13 0x40000000
0x14 0x90170110   # Internal Speaker — working
0x18 0x411111f0   # N/A
0x19 0x411111f0   # Headset mic — N/A (works only with physical headset)
0x1a 0x411111f0   # N/A
0x1b 0x411111f0   # N/A
0x1d 0x40679a2d
0x1e 0x411111f0   # N/A
0x21 0x03211020   # Headphone jack — working

Driver pin config applied by kernel:

0x19 0x03a1103c

ALSA diagnostic

Full ALSA info attached (generated with alsa-info.sh):

Codec: Realtek ALC256
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10ec0256
Subsystem Id: 0x104318b3

Node 0x12 [Pin Complex] — Pincap IN only, Pin Default 0x411111f0 (N/A)
Node 0x19 [Pin Complex] — Headset Mic Boost Volume control present
                           Pin Default 0x411111f0 (N/A by BIOS)
                           Driver override: 0x03a1103c

NHLT: 2 DMICs reported

Additional notes

With dsp_driver=3 and topology sof-hda-generic-4ch-bt.tplg, DMIC capture works:

arecord -D hw:0,6 -f S16_LE -r 48000 -c 4 /tmp/dmic_test.wav
# Successfully captures microphone signal

But no UCM2 profile exists for this hardware, causing speaker output to fail completely under SOF mode.

A UCM2 profile for HDA Intel PCH with subsystem 104318b3 would likely resolve the SOF mode speaker issue. A kernel quirk adding the subsystem ID 0x104318b3 to the ALC256 pin configuration table would resolve the HDA classic mode DMIC issue.

Activity

  1. added
    bugSomething isn't working as expected
    on Aug 24, 2026
  2. kv2019i commented on Aug 25, 2026

    @kv2019i
    Collaborator

    Given speaker works with dsp_driver=1 then the codec driver should work and it should work with SOF as well (same codec driver is used both with dsp_driver=1 and dsp_driver=3).

    @SebastianTibata Can you test speaker playback with aplay or speaker-test from the command-line? It could be just the UCM is wrong and audio work at driver level but not at Pipewire level.

    Another thing to test (with dsp_driver=3) is set:
    /etc/modprobe.d/snd_sof_pci.conf:

    options snd_sof_pci tplg_filename=sof-hda-generic-4ch.tplg
    

    And reboot. This might help with finding a working UCM.

  3. added
    HDAApplies to HD-Audio bus for codec connection
    ADLApplies to Alder Lake platform
    on Aug 25, 2026
  4. ujfalusi commented on Aug 25, 2026

    @ujfalusi
    Contributor

    Other way to disable the BT link: options snd_sof_intel_hda_generic bt_link_mask=0 to /etc/modprobe.d/sof-disable-bt.conf file and reboot.

  5. ujfalusi commented on Aug 25, 2026

    @ujfalusi
    Contributor

    @SebastianTibata , can you also provide the output of (without any kernel parameters and in dsp_driver=3 mode):
    alsa-info.sh --no-upload
    alsaucm dump text
    spa-acp-tool l

  6. lgirdwood commented on Aug 25, 2026

    @lgirdwood
    Member

    adding @shumingfan for ALC256 codec.

  7. shumingfan commented on Aug 25, 2026

    @shumingfan
    Contributor

    Adding HDA driver owner @KailangYang.
    Could you take a look at this issue?

  8. github-actions commented on Oct 25, 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.

  9. added
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on Oct 25, 2026
  10. stip27 commented on Oct 28, 2026

    @stip27
    Author

    This issue is still active and relevant. I have been testing the suggested configurations and have new results to share.

    Please keep this open. I will add the full test results in a follow-up comment.

  11. stip27 commented on Oct 28, 2026

    @stip27
    Author

    Thank you for the suggestions. Here are the results with dsp_driver=3:

    alsaucm dump text: UCM profile is present with Speaker, Headphones, Mic1 (DMIC) and Mic2 devices properly defined.

    spa-acp-tool l: Shows pro-audio profile with 5 playback devices (hw:0,0 hw:0,3 hw:0,4 hw:0,5 hw:0,8) and 4 capture devices.

    speaker-test results (direct ALSA, no PipeWire):

    • hw:0,0: runs without error but no audio output
    • hw:0,4, hw:0,5: run without error but no audio output
    • hw:0,8: fails with "Invalid argument"

    In pavucontrol, the playback bar moves as if audio is playing, but no sound comes from speakers. This confirms the issue is at the SOF topology/driver level, not PipeWire.

    Also tested tplg_filename=sof-hda-generic-4ch.tplg and bt_link_mask=0 — same result, speakers remain silent.

    DMIC capture works correctly via arecord -D hw:0,6 -f S16_LE -r 48000 -c 4.

    Kernel: 7.0.5-1-cachyos. Any further debugging steps appreciated.

  12. removed
    staleIssue/PR marked as stale and will be closed after 14 days if there is no activity.
    on Oct 28, 2026
  13. lgirdwood commented on Oct 28, 2026

    @lgirdwood
    Member

    adding @thesofproject/realtek

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

    ADLApplies to Alder Lake platformHDAApplies to HD-Audio bus for codec connectionbugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions