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:
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/linuxmaster) — not a recent regression.Hardware
ThinkPad X1 Carbon Gen 13 (Lunar Lake), SoundWire — RT713-SDCA on link 0, RT1318 on link 1.
Software
torvalds/linuxmaster (2026-05-08), whereinclude/uapi/sound/sof/abi.hdefines:Distinct from #10401 — same hardware, opposite NHLT variant
NHLT here reports
DMICs detected in NHLT tables: 2(vs0in #10401), so the DMIC DAI binding succeeds; the failure shifts to widgetdrc.100.1(UUIDB36EE4DA-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_cardfails with-22(-EINVAL);cat /proc/asound/cardsreturns--- no soundcards ---.The relevant chain in that trace: topology load is initiated, the
Topology: ABI 3:29:1 Kernel ABI 3:23:1line is logged informationally and the kernel proceeds; the kernel then issues IPC4 message0x19000000to instantiate widgetdrc.100.1on the DSP; the DSP returns-19(-ENODEV); topology load aborts with-22andsof_sdwnever 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.sof-ipc4/lnl/intel-signed/sof-lnl.riv2.11.x/sof-ipc4-v2.11.1/lnl/intel-signed/sof-lnl.risof-ipc4/lnl/community/sof-lnl.riv2.11.x/sof-ipc4-v2.11.1/lnl/community/sof-lnl.risof-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.tplgv2.11.x/sof-ipc4-tplg-v2.11.2/sof-lnl-rt713-l0-rt1318-l1-2ch.tplgTopology comparison
sof-lnl-rt713-l0-rt1318-l1-2ch.tplg:drc.NN.Nstringsdrc.100.1)B36EE4DA-006F-47F9-A06D-FECBE2D8B6CEThe 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:1dmesg signature:3:22:1vs kernel3:23:1).