Skip to content

[BUG] Audio driver fails to load on Dell XPS 16 2024 (9640) with a Cirrus Logic CS42L43 #4879

@moritz89

Description

@moritz89

Describe the bug
The audio driver fails to load with an error that the firmware/topology (intel/sof-ipc4/mtl/sof-mtl.ri and intel/sof-ace-tplg/sof-mtl-rt711.tplg) files were not found.

Attempts to fix where to extract the zst file sof-mtl.ri of the same name and the similarly named sof-mtl-rt711-4ch.tplg.zst, the driver loaded but resulted in the error below.

To Reproduce

  • Boot Ubuntu 24.04 (20240319) on a Dell XPS 16 2024 (9640)
  • dmesg to show error

Reproduction Rate
100% on boot

Expected behavior
The sound card is detected

Impact
No audio via built-in speakers

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: Linux 6.8.0-11-generic x86_64 / Ubuntu 6.8.0-11.11-generic 6.8.0-rc4
    • SOF: TBD
  2. Name of the topology file
    • Topology: sof-mtl-rt711.tplg
  3. Name of the platform(s) on which the bug is observed.
    • Platform: Dell XPS 16 2024 (9640)

Screenshots or console output

# dmesg
sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 0
sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found.
sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles
sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested):
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-rt711.tplg
sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from:
sof-audio-pci-intel-mtl 0000:00:1f.3: https://github.com/thesofproject/sof-bin/
sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2

After extracting the intel/sof-ipc4/mtl/sof-mtl.ri.zst and intel/sof-ace-tplg/sof-mtl-rt711-4ch.tplg.zst and placing them in the same folder, the following dmesg output is created:

# dmesg
snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 0
sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/mtl
sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-rt711.tplg
sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.8.1.1
cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:2: supply VDD_P not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:2: supply VDD_IO not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:2: supply VDD_A not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:3: supply VDD_P not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:3: supply VDD_IO not found, using dummy regulator
cs35l56 sdw:0:2:01fa:3556:01:3: supply VDD_A not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_P not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_IO not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:0: supply VDD_A not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_P not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_IO not found, using dummy regulator
cs35l56 sdw:0:3:01fa:3556:01:1: supply VDD_A not found, using dummy regulator
sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.8.1.1
cs42l43 sdw:0:0:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
cs35l56 sdw:0:2:01fa:3556:01:3: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
cs35l56 sdw:0:3:01fa:3556:01:1: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
cs35l56 sdw:0:2:01fa:3556:01:2: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
cs35l56 sdw:0:3:01fa:3556:01:0: Cirrus Logic CS35L56 Rev B0 OTP3 fw:3.4.4 (patched=0)
cs42l43 sdw:0:0:01fa:4243:01: Slave 6 state check1: UNATTACHED, status was 1
cs35l56 sdw:0:2:01fa:3556:01:3: Slave 1 state check1: UNATTACHED, status was 1
cs35l56 sdw:0:2:01fa:3556:01:2: Slave 2 state check1: UNATTACHED, status was 1
cs35l56 sdw:0:3:01fa:3556:01:1: Slave 1 state check1: UNATTACHED, status was 1
cs35l56 sdw:0:3:01fa:3556:01:0: Slave 2 state check1: UNATTACHED, status was 1
Adding alias for supply vdd-amp,(null) -> vdd-amp,sdw:0:0:01fa:4243:01
sof-audio-pci-intel-mtl 0000:00:1f.3: Topology: ABI 3:29:0 Kernel ABI 3:23:0
sof-audio-pci-intel-mtl 0000:00:1f.3: error: can't connect DAI dai-copier.DMIC.dmic01.capture stream dmic01
sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to add widget id 0 type 28 name : dai-copier.DMIC.dmic01.capture stream dmic01
sof_sdw sof_sdw: ASoC: failed to load widget dai-copier.DMIC.dmic01.capture
sof_sdw sof_sdw: ASoC: topology: could not load header: -22
sof-audio-pci-intel-mtl 0000:00:1f.3: error: tplg component load failed -22
sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to load DSP topology -22
sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22
sof_sdw sof_sdw: ASoC: failed to instantiate card -22
sof_sdw sof_sdw: error -EINVAL: snd_soc_register_card failed -22
sof_sdw: probe of sof_sdw failed with error -22

sof-logger. See https://thesofproject.github.io/latest/developer_guides/debugability/logger/index.html

# sof-logger
# TBD

The bug has initially been reported on launchpad

Metadata

Metadata

Assignees

No one assigned

    Labels

    SDWApplies to SoundWire bus for codec connectionbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions