Skip to content

[BUG] X1 Carbon Gen 13 (LNL, RT713/RT1318, DMICs present): widget drc.100.1 fails IPC load (UUID B36EE4DA-...) — distinct from fixed #10401 (no-DMIC variant) #10755

@wee-beybrice

Description

@wee-beybrice

Audio fails to initialize on the X1 Carbon Gen 13 (Lunar Lake) with current sof-firmware: no ALSA cards register, no playback or capture available. Reproduces 100% across reboots and across multiple kernel versions (Linux 7.0.3, 7.0.4, mainline torvalds/linux master) — not a recent regression.

Hardware

ThinkPad X1 Carbon Gen 13 (Lunar Lake), SoundWire — RT713-SDCA on link 0, RT1318 on link 1.

Software

  • sof-bin v2025.12.2
  • Linux 7.0.4 (also seen on 7.0.3 with identical dmesg signature)
  • Also reproduced against torvalds/linux master (2026-05-08), where include/uapi/sound/sof/abi.h defines:
#define SOF_ABI_MAJOR 3
#define SOF_ABI_MINOR 23
#define SOF_ABI_PATCH 1

Distinct from #10401 — same hardware, opposite NHLT variant

NHLT here reports DMICs detected in NHLT tables: 2 (vs 0 in #10401), so the DMIC DAI binding succeeds; the failure shifts to widget drc.100.1 (UUID B36EE4DA-006F-47F9-A06D-FECBE2D8B6CE). #10410's no-DMIC topology variant does not apply to this variant.

Filing per kv2019i's "Please file a new bug if some issues remain" close note on #10401.

Symptom

snd_soc_register_card fails with -22 (-EINVAL); cat /proc/asound/cards returns --- no soundcards ---.

sof-audio-pci-intel-lnl 0000:00:1f.3: enabling device (0004 -> 0006)
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-lnl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
sof-audio-pci-intel-lnl 0000:00:1f.3: codec #2 probe error, ret: -2
sof-audio-pci-intel-lnl 0000:00:1f.3: no hda codecs found!
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 2
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.14.1.1
soundwire_intel soundwire_intel.link.1: prepare clock stop failed -110
soundwire_intel soundwire_intel.link.1: intel_stop_bus: cannot stop clock: -110
sof-audio-pci-intel-lnl 0000:00:1f.3: loading topology: intel/sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
sof-audio-pci-intel-lnl 0000:00:1f.3: ipc4_tx_msg_unlocked: ipc message send for 0x19000000|0x0 failed: -19
sof-audio-pci-intel-lnl 0000:00:1f.3: failed to find module info for widget drc.100.1 with UUID B36EE4DA-006F-47F9-A06D-FECBE2D8B6CE
sof-audio-pci-intel-lnl 0000:00:1f.3: failed updating IPC struct for drc.100.1
sof-audio-pci-intel-lnl 0000:00:1f.3: error: failed to load DSP topology -22
sof-audio-pci-intel-lnl 0000:00:1f.3: ASoC error (-22): at snd_soc_component_probe() on 0000:00:1f.3
sof_sdw sof_sdw: ASoC: failed to instantiate card -22
sof_sdw sof_sdw: error -EINVAL: snd_soc_register_card failed -22

The relevant chain in that trace: topology load is initiated, the Topology: ABI 3:29:1 Kernel ABI 3:23:1 line is logged informationally and the kernel proceeds; the kernel then issues IPC4 message 0x19000000 to instantiate widget drc.100.1 on the DSP; the DSP returns -19 (-ENODEV); topology load aborts with -22 and sof_sdw never registers a card.

Workaround

Replacing four LNL-specific file groups under /lib/firmware/intel/ with the v2024.09.1 set restores audio after reboot, including the 3.5mm jack on RT713-SDCA. ADSPFW (the boot firmware running on the DSP) downgrades from 2.14.1.1 to 2.13.0.1 as a side effect; firmware files for other platforms are untouched.

installed path replaced with (from sof-bin v2024.09.1)
sof-ipc4/lnl/intel-signed/sof-lnl.ri v2.11.x/sof-ipc4-v2.11.1/lnl/intel-signed/sof-lnl.ri
sof-ipc4/lnl/community/sof-lnl.ri v2.11.x/sof-ipc4-v2.11.1/lnl/community/sof-lnl.ri
sof-ipc4-lib/lnl/ (full directory) v2.11.x/sof-ipc4-lib-v2.11.1/lnl/
sof-ipc4-tplg/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg v2.11.x/sof-ipc4-tplg-v2.11.2/sof-lnl-rt713-l0-rt1318-l1-2ch.tplg

Topology comparison

sof-lnl-rt713-l0-rt1318-l1-2ch.tplg:

v2024.09.1 v2025.12.2
size 59755 bytes 71775 bytes
drc.NN.N strings 0 6 (incl. drc.100.1)
refs to UUID B36EE4DA-006F-47F9-A06D-FECBE2D8B6CE 0 yes

The widget binary itself (/lib/firmware/intel/sof-ipc4-lib/lnl/B36EE4DA-006F-47F9-A06D-FECBE2D8B6CE.bin) is on disk and identical-size in both firmware sets, so this isn't a missing-file-on-disk issue — the file is loadable, but the IPC instantiation request to the DSP returns -ENODEV.

Related issues

Same Topology: ABI 3:29:1 Kernel ABI 3:23:1 dmesg signature:

Metadata

Metadata

Assignees

Labels

LNLApplies to Lunar Lake platformbugSomething 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