Skip to content

[BUG] Lenovo Yoga Slim 7 14ILL11 (17aa:383c) fails to register ALSA card after fallback to CS42L43 Jack topology #11215

Description

@arisunarya

Describe the bug

On a Lenovo Yoga Slim 7 14ILL11 (83R0, PCI subsystem 17aa:383c), the SOF SoundWire driver fails to register any ALSA sound card.

The system has no 3.5 mm headset jack. Its internal audio hardware consists of a CS42L43 SoundWire codec connected to two CS35L56 smart amplifiers. The machine driver correctly detects the sidecar amplifier configuration and the system's four-channel DMIC array, but function-topology selection falls back to the legacy monolithic CS42L43 topology.

That topology contains Playback-SimpleJack endpoints that are not present on this hardware. As a result, topology loading fails with -22, and the sof_sdw card is not instantiated.

The failure occurs before any ALSA card is registered:

$ aplay -l
aplay: device_list:279: no soundcards found...

$ cat /proc/asound/cards
--- no soundcards ---

What I have tried to diagnose or workaround this issue

  • Verified the SoundWire and DMIC topology selection path in the kernel logs.
  • Confirmed that the machine driver detects the expected CS42L43/CS35L56 sidecar configuration.
  • Confirmed that no Playback-SimpleJack DAI is created for this model.
  • Applied a local SSID-gated patch to skip cs42l43-cs35l56 and SSP2-BT during function-topology selection. With that patch, the system successfully registers sof-soundwire, speaker and HDMI playback, and a four-channel DMIC device.

To Reproduce

  1. Boot Fedora 44 KDE on a Lenovo Yoga Slim 7 14ILL11 (83R0).
  2. Allow the default kernel and SOF drivers to load.
  3. Run aplay -l or cat /proc/asound/cards.
  4. Observe that no soundcards are listed.
  5. Inspect the kernel log for topology load failures involving Playback-SimpleJack.

Reproduction Rate

All the time — 100% on every boot.

Expected behavior

The driver should select the proper function-topology fragment for this no-jack SmartAmp system instead of falling back to the legacy monolithic sof-lnl-cs42l43-l0-4ch.tplg topology.

The system should register a sof-soundwire ALSA card with:

  • Internal speaker playback
  • Four-channel DMIC capture
  • HDMI playback
  • No nonexistent headset-jack endpoints

Impact

Showstopper for internal audio. Internal speakers and microphones are unavailable, and the machine provides no usable ALSA card from SOF SoundWire.

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: 7.2.5-200.fc44.x86_64
    • SOF: 2025.12.2-1.fc44
  2. Name of the topology file
    • Topology: sof-lnl-cs42l43-l0-4ch.tplg (incorrect fallback) / sof-sdca-1amp-id2.tplg (expected function topology)
  3. Name of the platform(s) on which the bug is observed.
    • Platform: Lenovo Yoga Slim 7 14ILL11 (83R0), Intel Core Ultra 200V, subsystem 17aa:383c

Screenshots or console output

Relevant kernel log:

sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
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: DMICs detected in NHLT tables: 4
sof-audio-pci-intel-lnl 0000:00:1f.3: loading topology: intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-4ch.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof-audio-pci-intel-lnl 0000:00:1f.3: error: can't connect DAI alh-copier.Playback-SimpleJack.0 stream Playback-SimpleJack
sof-audio-pci-intel-lnl 0000:00:1f.3: failed to add widget type 28 name : alh-copier.Playback-SimpleJack.0 stream Playback-SimpleJack
sof_sdw sof_sdw: ASoC: failed to load widget alh-copier.Playback-SimpleJack.0
sof_sdw sof_sdw: ASoC: topology: could not load header: -22
sof-audio-pci-intel-lnl 0000:00:1f.3: tplg intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-4ch.tplg component load failed -22
sof-audio-pci-intel-lnl 0000:00:1f.3: error: failed to load DSP topology -22
sof_sdw sof_sdw: ASoC: failed to instantiate card -22

Dynamic-debug output confirms the expected sidecar configuration is detected:

sof_sdw sof_sdw: Entry
sof_sdw sof_sdw: quirk SOC_SDW_SIDECAR_AMPS enabled
sof_sdw sof_sdw: DAI link numbers: sdw 2, ssp 0, dmic 2, hdmi 3, bt: 1
sof_sdw sof_sdw: Added echo reference DAI link

The system does not expose a 3.5 mm jack, and no Playback-SimpleJack DAI is created. This is consistent with the model's no-jack SmartAmp configuration.

The issue appears to be in the function-topology selection path rather than in firmware loading itself. Relevant kernel code paths are:

  • sound/soc/intel/common/sof-function-topology-lib.c
  • sound/soc/intel/boards/sof_sdw.c
  • sound/soc/sdw_utils/soc_sdw_bridge_cs35l56.c
  • sound/soc/sof/topology.c

The likely root cause is that sof_sdw_get_tplg_files() does not recognize the machine-created cs42l43-cs35l56 sidecar bridge and the NHLT SSP2-BT link as best-effort entries, so it falls back to the incompatible monolithic Jack topology instead of the correct no-jack SmartAmp function topology.

An SSID-gated local patch that skips cs42l43-cs35l56 and SSP2-BT during function-topology fragment selection allows the correct topology to be loaded successfully. With the patch applied, the system registers sof-soundwire and exposes internal speaker playback plus DMIC capture.

Activity

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

    bugSomething 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