Repository navigation
[BUG] No microphone capture on ThinkPad X1 Carbon Gen 14 (Panther Lake) — cs42l45 PDE 11 event failed: -110, missing sof-ptl-cs42l45 topology #5770
Description
[BUG] No microphone capture on ThinkPad X1 Carbon Gen 14 (Panther Lake) — cs42l45 PDE 11 event failed: -110, missing sof-ptl-cs42l45 topology
Summary
The internal microphone does not work on the Lenovo ThinkPad X1 Carbon Gen 14 (Panther Lake, model 21V7CTO1WW) running Linux. The SOF driver loads and enumerates the audio card successfully, speakers and headphone jack work, but all capture from the internal microphone produces silence. The root cause is a missing sof-ptl-cs42l45*.tplg topology file in sof-firmware — only cs42l43 topologies exist for Panther Lake — combined with a missing SoundWire machine driver match for the cs42l45 codec (mfg_id 0x01fa, part_id 0x4245) on this platform.
Platform
| Field | Value |
|---|---|
| Machine | Lenovo ThinkPad X1 Carbon Gen 14 |
| Model | 21V7CTO1WW |
| BIOS | N4OET41W (1.04) |
| Platform | Intel Panther Lake |
| Kernel | 7.0.4 (Fedora / Aurora Linux) |
| SOF firmware | 2.14.1.1 (sof-ptl.ri) |
| Distribution | Aurora Linux (Fedora-based, immutable) |
Codec Hardware
SoundWire devices reported by the SOF driver at boot:
sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3563 version 0x3 → cs35l56 (speaker amp)
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x4245 version 0x3 → cs42l45 (headset + mic codec)
ALSA components string:
HDA:80862822,80860101,00100000 cfg-amp:2 iec61937-pcm:7,6,5 spk:cs35l56 hs:cs42l45 mic:cs42l45-dmic
Symptoms
aplay -lshows Speaker, Jack Out, HDMI outputs — all work correctlyarecord -lshowsdevice 4: Microphoneanddevice 1: Jack In— devices enumerate but produce silencearecord -D hw:0,4 -f S16_LE -r 48000 -c 2 -d 3 /tmp/test.wavproduces a valid WAV file of correct size but containing only zeros — confirmed withodamixer -c 0 sget 'cs42l45 Microphone'shows volume at 100%[on], but no signal is captured- All mixer controls (
cs42l45 Microphone,cs42l45 IT 31 Microphone, etc.) are present and can be toggled, but toggling has no effect on capture output
Root Cause
1. Missing topology file
The sof-firmware package ships Panther Lake topologies for cs42l43 but not for cs42l45:
# Present in /lib/firmware/intel/sof-ipc4-tplg/:
sof-ptl-cs42l43-agg-l3-cs35l56-l2-4ch.tplg.xz
sof-ptl-cs42l43-agg-l3-cs35l56-l2.tplg.xz
sof-ptl-cs42l43-l2-cs35l56x6-l13.tplg.xz
# MISSING — does not exist:
sof-ptl-cs42l45-*.tplg
Because no matching topology exists, the driver falls back to the generic SDCA function topology (sof-sdca-mic-id4.tplg), which does not properly configure the cs42l45 capture pipeline for this hardware.
2. No SoundWire machine driver match
sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration
sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
The kernel's sound/soc/intel/common/soc-acpi-intel-ptl-match.c has no entry for the cs42l45 (0x01fa:0x4245) + cs35l56 (0x01fa:0x3563) combination on Panther Lake.
3. cs42l45 PDE power domain timeout
Every capture attempt results in:
sof_sdw sof_sdw: ASoC: POST_PMU: cs42l45 PDE 11 event failed: -110
-110 is ETIMEDOUT. The codec's Power Domain Enable (PDE 11) fails to complete, preventing the capture path from being powered up. This is a direct consequence of the missing topology — without a proper pipeline definition, the DSP cannot correctly sequence the codec power-up.
Relevant dmesg
[ 40.567383] sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
[ 40.567387] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3563 version 0x3
[ 40.567390] sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x4245 version 0x3
[ 40.567396] sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
[ 40.982911] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 0: intel/sof-ipc4-tplg/sof-sdca-1amp-id2.tplg
[ 40.988947] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[ 40.989084] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 1: intel/sof-ipc4-tplg/sof-sdca-jack-id0.tplg
[ 40.996107] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-sdca-mic-id4.tplg
[ 41.002109] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[ 55.401716] sof_sdw sof_sdw: ASoC: POST_PMU: cs42l45 PDE 11 event failed: -110
[ 56.507382] sof_sdw sof_sdw: ASoC: POST_PMU: cs42l45 PDE 11 event failed: -110
[ 64.500107] sof_sdw sof_sdw: ASoC: POST_PMU: cs42l45 PDE 11 event failed: -110
What Works / What Doesn't
| Component | Status |
|---|---|
| Speaker playback | ✅ Working |
| Headphone jack playback | ✅ Working |
| HDMI audio | ✅ Working |
| Internal microphone capture | ❌ Silence / PDE timeout |
| Headset microphone (jack) | ❌ Not tested, likely same issue |
Fix Required
Three things need to happen:
-
sof-firmware/thesofproject/sof: Add asof-ptl-cs42l45-l3-cs35l56-l2.tplgtopology (and variants) for the Panther Lake + cs42l45 + cs35l56 codec combination, analogous to the existingsof-ptl-cs42l43-*topologies. -
Kernel
sound/soc/intel/common/soc-acpi-intel-ptl-match.c: Add a SoundWire machine driver match entry formfg_id 0x01fa, part_id 0x4245(cs42l45) on Panther Lake, paired withmfg_id 0x01fa, part_id 0x3563(cs35l56). -
alsa-ucm-conf: The existingsof-soundwire/cs42l45-dmic.confUCM profile referencesCaptureMixerElem "cs42l45 Microphone"which does exist, but theMicCodec1variable is not being resolved for this hardware's component string (mic:cs42l45-dmic) — verify thesof-soundwire.confmatching table covers the full Panther Lake component signature.
Additional Context
- The cs42l43 codec (different chip, similar family) already has working PTL topologies — the cs42l45 work could likely be based on those
- This is the same hardware also missing IPU7 camera bridge support for
OVTI08F4/OVTI01AFsensors, suggesting the X1 Carbon Gen 14 (21V7CTO1WW) has not yet been fully enabled upstream - The SOF DSP firmware boots and authenticates correctly (
version: 2.14.1.1); this is purely a topology/machine driver gap, not a firmware issue rpm -q sof-firmwareand fulldmesgavailable on request
Activity
kv2019i commentedon May 12, 2026
FW is booting up fine and SDCA function topologies are found, so this looks like a kernel driver issue. Moving to kernel.
bardliao commentedon May 12, 2026
@charleskeepax Could you take a look?
charleskeepax commentedon May 13, 2026
Yeah the issue here is that the bios is missing the file set IDs required to load the firmware for the cs42l45. We are talking to the laptop vendor at the moment and hope a fix can be released shortly. I will update here as soon as I can.
charleskeepax commentedon Jun 2, 2026
Still working on this please bear with us, these bios things usually take a little while to get sorted.
MateoTTR commentedon Jun 8, 2026
Confirming this is fixed by a BIOS update.
On my ThinkPad X1 Carbon Gen 14, flashing Lenovo BIOS N4OET49W (1.12) (via LVFS /
fwupdmgr, firmware version 0.1.18) resolved the no-capture issue — even though the official changelog doesn't mention audio at all.After the update the internal mic captures normally, and the kernel now loads the SmartMic SDCA function instead of timing out:
No more
cs42l45 PDE 11 event failed: -110. So it looks like Lenovo added the missing file set IDs in BIOS 1.12, as @charleskeepax expected. Running Ubuntu 26.04, kernel 7.0.0-22. Thanks for the help!dmasiero commentedon Jun 8, 2026
Also confirmed fixed via
fwupdmgras noted by @MateoTTR on my X1C Gen 14. NixOS 25.11, kernel 7.0.11. Thank you!charleskeepax commentedon Jun 9, 2026
Excellent glad that got released, thanks for the patience.
sbarrier commentedon Jun 9, 2026
BIOS update
fwupdmgrconfirmed working also onLinux aurora 6.19.14-101.fc44.x86_64, thanks @charleskeepax