Skip to content

Audio driver fails to load on Meteor Lake reference board #5363

Open
@JianpengChang

Description

@JianpengChang

Hello,

I'm doing some tests on the MTL RVP, there is something wrong with the firmware of sof, the error is missing sof-mtl-rt711-2ch.tplg. But there is no sof-mtl-rt711-2ch.tplg in any version of sof-bin.
I have tried the latest Linux kernel, and got the same error. But if I rename the sof-mtl-rt711-4ch.tplg which I can see in the latest version v2025.1 of sof-bin to sof-mtl-rt711-2ch.tplg, it works. I have read the similar issue #4880, so is this a similar error that the RVP configuration is wrong makes it point to 2ch.tplg?. Hopefully to get any guidance.

Environment:

  • MTL-P DDR5 SODIMM SBS RVP
  • Intel(R) Core(TM) Ultra 7 155H
  • linux 6.6.78-yocto-standard
root@intel-x86-64:~# cat /sys/bus/acpi/devices/*/adr | grep 025d
0x000030025d071101
0x000331025d131601
0x000230025d131601
0x000130025d071401

root@intel-x86-64:~# dmesg | grep -E "sof-|snd"
[   44.848400] bus: 'pci': add driver snd_hda_intel
[   44.848464] bus: 'pci': __driver_probe_device: matched device 0000:00:1f.3 with driver snd_hda_intel
[   44.848472] bus: 'pci': really_probe: probing driver snd_hda_intel with device 0000:00:1f.3
[   44.848496] snd_hda_intel 0000:00:1f.3: no default pinctrl state
[   44.848518] snd_hda_intel 0000:00:1f.3: vgaarb: pci_notify
[   44.848555] snd_hda_intel 0000:00:1f.3: runtime IRQ mapping not provided by arch
[   44.848561] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[   44.858119] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[   44.867171] snd_hda_intel: probe of 0000:00:1f.3 rejects match -19
[   44.867195] snd_hda_intel 0000:00:1f.3: vgaarb: pci_notify
[   45.320988] Registering platform device 'snd-soc-dummy'. Parent at platform
[   45.321007] device: 'snd-soc-dummy': device_add
[   45.321048] bus: 'platform': add device snd-soc-dummy
[   45.321208] PM: Adding info for platform:snd-soc-dummy
[   45.321345] bus: 'platform': add driver snd-soc-dummy
[   45.321427] bus: 'platform': __driver_probe_device: matched device snd-soc-dummy with driver snd-soc-dummy
[   45.321438] bus: 'platform': really_probe: probing driver snd-soc-dummy with device snd-soc-dummy
[   45.321482] snd-soc-dummy snd-soc-dummy: no default pinctrl state
[   45.321802] driver: 'snd-soc-dummy': driver_bound: bound to device 'snd-soc-dummy'
[   45.321882] bus: 'platform': really_probe: bound device snd-soc-dummy to driver snd-soc-dummy
[   45.517689] bus: 'pci': add driver sof-audio-pci-intel-mtl
[   45.518106] bus: 'pci': __driver_probe_device: matched device 0000:00:1f.3 with driver sof-audio-pci-intel-mtl
[   45.518119] bus: 'pci': really_probe: probing driver sof-audio-pci-intel-mtl with device 0000:00:1f.3
[   45.518155] sof-audio-pci-intel-mtl 0000:00:1f.3: no default pinctrl state
[   45.518182] sof-audio-pci-intel-mtl 0000:00:1f.3: vgaarb: pci_notify
[   45.518215] sof-audio-pci-intel-mtl 0000:00:1f.3: runtime IRQ mapping not provided by arch
[   45.518223] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[   45.528298] sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[   45.538408] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002)
[   45.547753] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[   45.548272] driver: 'sof-audio-pci-intel-mtl': driver_bound: bound to device '0000:00:1f.3'
[   45.557195] sof-audio-pci-intel-mtl 0000:00:1f.3: vgaarb: pci_notify
[   45.557422] bus: 'pci': really_probe: bound device 0000:00:1f.3 to driver sof-audio-pci-intel-mtl
[   45.558327] sof-audio-pci-intel-mtl 0000:00:1f.3: trying to bring up adev
[   45.558338] sof-audio-pci-intel-mtl 0000:00:1f.3: Looking for component 0
[   45.558344] sof-audio-pci-intel-mtl 0000:00:1f.3: master has incomplete components
[  109.472305] sof-audio-pci-intel-mtl 0000:00:1f.3: couldn't bind with audio component
[  109.480277] sof-audio-pci-intel-mtl 0000:00:1f.3: init of i915 and HDMI codec failed
[  109.491904] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[  109.499349] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling bus mastering
[  109.509078] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[  109.516612] sof-audio-pci-intel-mtl 0000:00:1f.3: no hda codecs found!
[  109.578730] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.12.0.1
[  109.707221] sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.12.0.1
[  109.715888] device: 'snd_sof.hda-probes.0': device_add
[  109.715927] bus: 'auxiliary': add device snd_sof.hda-probes.0
[  109.716356] PM: Adding info for auxiliary:snd_sof.hda-probes.0
[  109.734545] bus: 'auxiliary': add driver snd_sof_probes
[  109.734605] bus: 'auxiliary': __driver_probe_device: matched device snd_sof.hda-probes.0 with driver snd_sof_probes
[  109.734618] bus: 'auxiliary': really_probe: probing driver snd_sof_probes with device snd_sof.hda-probes.0
[  109.734663] snd_sof_probes snd_sof.hda-probes.0: no default pinctrl state
[  109.734726] snd_sof_probes: probe of snd_sof.hda-probes.0 rejects match -6
[  109.757394] sof-audio-pci-intel-mtl 0000:00:1f.3: Direct firmware load for intel/sof-ace-tplg/sof-mtl-rt711-2ch.tplg failed with error -2
[  109.769799] sof-audio-pci-intel-mtl 0000:00:1f.3: error: tplg request firmware intel/sof-ace-tplg/sof-mtl-rt711-2ch.tplg failed err: -2
[  109.781942] sof-audio-pci-intel-mtl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
[  109.793965] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to load DSP topology -2
[  109.801908] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2
[  109.818435] sof_sdw sof_sdw: snd_soc_register_card failed -2

Using Kernel 6.14

root@intel-x86-64:~# uname -a
Linux intel-x86-64 6.14.0-rc7-yocto-standard+ #1 SMP PREEMPT_DYNAMIC Tue Mar 18 16:44:59 CST 2025 x86_64 GNU/Linux
root@intel-x86-64:~# dmesg | grep -E "sof-|snd"
[   51.752163] snd_hda_codec_hdmi ehdaudio0D2: no default pinctrl state
[   51.752308] snd_hda_codec_hdmi ehdaudio0D2: driver: 'snd_hda_codec_hdmi': driver_bound: bound to device
[   51.752771] snd_hda_codec_hdmi ehdaudio0D2: bus: 'hdaudio': really_probe: bound device to driver snd_hda_codec_hdmi
[   51.777591] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[   51.784583] sof-audio-pci-intel-mtl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[   51.792836] sof-audio-pci-intel-mtl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[   51.800731] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[   51.845709] sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found.
[   51.854752] sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles
[   51.861518] sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested):
[   51.883223] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
[   51.891896] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file: intel/sof-ace-tplg/sof-mtl-rt711-2ch.tplg
[   51.901621] sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
[   51.910796] sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from:
[   51.919526] sof-audio-pci-intel-mtl 0000:00:1f.3:    https://github.com/thesofproject/sof-bin/
[   51.976415] sof-audio-pci-intel-mtl 0000:00:1f.3: Dropping the link to 0000:00:02.0
[   51.976932] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2
root@intel-x86-64:~# ls -l /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-*                                                                                                                                         
-rw-rw-r-- 1 1001 1001 59319 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-4ch.tplg
-rw-rw-r-- 1 1001 1001 67502 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-l0-rt1316-l23-rt714-l1.tplg
-rw-rw-r-- 1 1001 1001 77367 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-l0-rt1316-l3-2ch.tplg
-rw-rw-r-- 1 1001 1001 76751 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-l0-rt1316-l3-4ch.tplg
-rw-rw-r-- 1 1001 1001 53426 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-l0-rt1316-l3.tplg

After I create a link which point to sof-mtl-rt711-4ch.tplg. The soundwire works well on 6.14 kernel, but the rename doesn't work on 6.6.78.

root@intel-x86-64:~# ls -l /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-*
lrwxrwxrwx 1 root root    22 Mar 18 08:51 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-2ch.tplg -> sof-mtl-rt711-4ch.tplg
-rw-rw-r-- 1 1001 1001 59319 Jan 31 16:14 /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt711-4ch.tplg
root@intel-x86-64:~# dmesg | grep -E "sof-|snd"
[   53.046561] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[   53.059107] sof-audio-pci-intel-mtl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[   53.067314] sof-audio-pci-intel-mtl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[   53.075191] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[   53.116675] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[   53.124682] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/mtl/sof-mtl.ri
[   53.133696] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/mtl
[   53.149214] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file:     intel/sof-ace-tplg/sof-mtl-rt711-2ch.tplg
[   53.150524] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.12.0.1
[   53.317718] sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.12.0.1
root@intel-x86-64:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 5: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 6: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 7: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 31: Deepbuffer Jack Out (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions