thesofproject / linux

Linux kernel source tree
Other
91 stars 131 forks source link

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

Closed moritz89 closed 6 months ago

moritz89 commented 6 months ago

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

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).

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

charleskeepax commented 5 months ago

No problem.

sudo dmesg > debug.log

Will save a file debug.log holding the kernel log, just run that fairly quickly after you see the issue.

vinassefranche commented 5 months ago

Had the issue this morning when launching my computer. Here are the 2 commands:

$ amixer -D hw cget iface=CARD,name="Headphone Jack"
numid=88,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
$ amixer -D hw cget iface=CARD,name="Headset Mic Jack"
numid=89,iface=CARD,name='Headset Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off

Here's the debug.log file.

I unplugged and re-plugged the headset and here are the lines that were added to the debug.log file, in case it's useful:

[ 1506.947277] audit: type=1326 audit(1714720547.294:300): auid=1000 uid=1000 gid=1000 ses=4 subj=snap.slack.slack pid=4974 comm="slack" exe="/snap/slack/142/usr/lib/slack/slack" sig=0 arch=c000003e syscall=92 compat=0 ip=0x77d52b76e3b7 code=0x50000
[ 1565.911118] workqueue: pm_runtime_work hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
[ 1600.016368] snd_soc_cs42l43:cs42l43_tip_sense_work: cs42l43-codec cs42l43-codec: Tip sense: 0x8
[ 1600.016382] snd_soc_cs42l43:cs42l43_stop_button_detect: cs42l43-codec cs42l43-codec: Stop button detect
[ 1600.016390] snd_soc_cs42l43:cs42l43_stop_hs_bias: cs42l43-codec cs42l43-codec: Stop headset bias
[ 1600.058015] snd_soc_cs42l43:cs42l43_hp_shutdown: cs42l43-codec cs42l43-codec: hp_shutdown completed
[ 1600.516393] snd_soc_cs42l43:cs42l43_tip_sense_work: cs42l43-codec cs42l43-codec: Tip sense: 0x0
[ 1600.516399] snd_soc_cs42l43:cs42l43_stop_button_detect: cs42l43-codec cs42l43-codec: Stop button detect
[ 1600.516403] snd_soc_cs42l43:cs42l43_stop_hs_bias: cs42l43-codec cs42l43-codec: Stop headset bias
[ 1601.596676] snd_soc_cs42l43:cs42l43_tip_sense_work: cs42l43-codec cs42l43-codec: Tip sense: 0x8
[ 1601.596687] snd_soc_cs42l43:cs42l43_stop_button_detect: cs42l43-codec cs42l43-codec: Stop button detect
[ 1601.596693] snd_soc_cs42l43:cs42l43_stop_hs_bias: cs42l43-codec cs42l43-codec: Stop headset bias
[ 1602.097877] snd_soc_cs42l43:cs42l43_tip_sense_work: cs42l43-codec cs42l43-codec: Tip sense: 0xc
[ 1602.097884] snd_soc_cs42l43:cs42l43_start_hs_bias: cs42l43-codec cs42l43-codec: Start headset bias
[ 1602.280697] snd_soc_cs42l43:cs42l43_type_detect: cs42l43-codec cs42l43-codec: type_detect completed
[ 1602.281048] snd_soc_cs42l43:cs42l43_stop_hs_bias: cs42l43-codec cs42l43-codec: Stop headset bias
[ 1602.281788] snd_soc_cs42l43:cs42l43_run_type_detect: cs42l43-codec cs42l43-codec: Type detect: 0x2
[ 1602.282144] snd_soc_cs42l43:cs42l43_start_load_detect: cs42l43-codec cs42l43-codec: Start load detect
[ 1602.307290] snd_soc_cs42l43:cs42l43_hp_startup: cs42l43-codec cs42l43-codec: hp_startup completed
[ 1602.377786] snd_soc_cs42l43:cs42l43_hp_shutdown: cs42l43-codec cs42l43-codec: hp_shutdown completed
[ 1602.377789] snd_soc_cs42l43:cs42l43_load_detect: cs42l43-codec cs42l43-codec: load_detect completed
[ 1602.377792] snd_soc_cs42l43:cs42l43_stop_load_detect: cs42l43-codec cs42l43-codec: Stop load detect
[ 1602.379872] snd_soc_cs42l43:cs42l43_run_load_detect: cs42l43-codec cs42l43-codec: Headphone load detect: 0x1
[ 1602.405287] snd_soc_cs42l43:cs42l43_hp_startup: cs42l43-codec cs42l43-codec: hp_startup completed
charleskeepax commented 5 months ago

Thanks for the logs, we will do some investigation on this end and see if we can replicate at all. A couple more questions that might be helpful:

vinassefranche commented 5 months ago
  • About how frequently after booting would you say this issue happens?

I'll edit here if I'm wrong but I think it's always the case when I reboot. At least it's very often.

  • Does it only happen after boot or have you seen it happen randomly at other times as well?

Only after boot. Once it's properly set, I can unplug an re-plug without having the issue.

  • And just to confirm this headset works fine with other devices? Based on what you have said so far I don't think this sounds like the headset is the problem, but need to check.

Yes. I just changed my computer and the headset was working perfectly with my previous one which was using Ubuntu 20

mikeKulasinski commented 5 months ago

Seems that I have the same issue, Dell XPS 16 9640, Ubuntu 24.04LTS, I tried to install newest kernel which is 6.9.0-060900rc6-generic from Ubuntu official. Seems that I made a progress since my firmare is loaded but ubuntu does not detect any hardware

Logs

https://0x0.st/XXy-.txt

plbossart commented 5 months ago

@mikeKulasinski see errors below

May 03 18:59:31 mike-XPS-16-9640 alsactl[1841]: alsa-lib utils.c:364:(uc_mgr_config_load_into) could not open configuration file /usr/share/alsa/ucm2/sof-soundwire/cs35l56-4.conf
May 03 18:59:31 mike-XPS-16-9640 alsactl[1841]: alsa-lib parser.c:78:(uc_mgr_config_load_file) error: failed to open file /usr/share/alsa/ucm2/sof-soundwire/cs35l56-4.conf: -2
May 03 18:59:31 mike-XPS-16-9640 alsactl[1841]: alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
mikeKulasinski commented 5 months ago

oh nice thanks for such quick reply @plbossart , how to create those configs?

mikeKulasinski commented 5 months ago

seems that I have resoloved some errors but still have this

alsa-lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2

Not sure how to resolve it

https://0x0.st/XXyb.txt

plbossart commented 5 months ago

see comments above https://github.com/thesofproject/linux/issues/4879#issuecomment-2024054054, you need an updated set of UCM files

mikeKulasinski commented 5 months ago

Amazing. Thank you very much for help. Worked like a charm.

yvesh1123 commented 5 months ago

@vinassefranche Hey can you please explain shortly how to build and install the 6.9.0-rc5 kernel? I have the same issue, and nothing works for days. thank you in advance :)

plbossart commented 5 months ago

@yvesh1123 building and installing a kernel is usually distribution-specific. You should refer to the documentation provided by your distro, or lookup the short guide we provided here: https://thesofproject.github.io/latest/getting_started/setup_linux/install_locally.html

It's not simple, but it's not the end of the world either.

yvesh1123 commented 5 months ago

@plbossart Hey thanks for the fast reply! My linux is ubuntu 24.04 running with kernel 6.8.0 ( Dell XPS 16), facing the same issue. I'll go on now and attempt the guide i think it suits ubuntu. i'm new-ish to linux i hope i getit :)

phit commented 5 months ago

on ubuntu you can use mainline to easily switch to RC kernel versions

yvesh1123 commented 5 months ago

@phit latest kernel on mainline is 6.8.8 and not 6.9.0-rc5

image

phit commented 5 months ago

check the settings

yvesh1123 commented 5 months ago

@phit i love you :D i'm trying

yvesh1123 commented 5 months ago

@phit thanks! I've successfully installed kernel 6.9.0-rc5

but the same errors on dmesg regarding the firmware:

[ 17.334712] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 [ 17.334743] sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver [ 17.334757] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002) [ 17.334938] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380 [ 18.093309] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 18.100928] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode [ 18.116060] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4 [ 18.116926] sof-audio-pci-intel-mtl 0000:00:1f.3: Invalid firmware magic: 0x65746e69 [ 18.116933] sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found. [ 18.116935] sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles [ 18.116935] sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested): [ 18.116937] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri [ 18.116938] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-cs42l43-l0-cs35l56-l23.tplg [ 18.116939] sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed. [ 18.116940] sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from: [ 18.116941] sof-audio-pci-intel-mtl 0000:00:1f.3: https://github.com/thesofproject/sof-bin/ [ 18.116970] sof-audio-pci-intel-mtl 0000:00:1f.3: Direct firmware load for (null)/(null) failed with error -2 [ 18.116972] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof firmware file is missing, you might need to [ 18.116973] sof-audio-pci-intel-mtl 0000:00:1f.3: download it from https://github.com/thesofproject/sof-bin/ [ 18.116974] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to load DSP firmware -2 [ 18.617306] Modules linked in: snd_soc_cs35l56_sdw snd_soc_cs35l56 snd_soc_wm_adsp snd_soc_rt711_sdca snd_soc_cs35l56_shared regmap_sdw_mbq snd_hda_codec_hdmi cs42l43_sdw snd_soc_cs_amp_lib regmap_sdw cs_dsp cs42l43 snd_soc_dmic qrtr cmac algif_hash algif_skcipher af_alg bnep snd_sof_pci_intel_mtl snd_sof_intel_hda_common soundwire_intel snd_sof_intel_hda_mlink soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_ext_core ivsc_csi snd_soc_acpi_intel_match v4l2_fwnode soundwire_generic_allocation v4l2_async intel_uncore_frequency snd_soc_acpi intel_uncore_frequency_common iwlmvm r8153_ecm videodev soundwire_bus cdc_ether usbnet x86_pkg_temp_thermal mc ivsc_ace xe intel_powerclamp snd_soc_core snd_compress mac80211 ac97_bus snd_pcm_dmaengine drm_gpuvm coretemp drm_exec snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec gpu_sched kvm_intel drm_suballoc_helper r8152 snd_hda_core drm_ttm_helper mii ledtrig_audio binfmt_misc i915 mei_vsc snd_hwdep [ 19.065587] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2

Although I have the actual firmware at: image image

:(

plbossart commented 5 months ago

I don't know what this means [ 18.116926] sof-audio-pci-intel-mtl 0000:00:1f.3: Invalid firmware magic: 0x65746e69

Please make sure the sof-bin release is installed. Also get the topology from this comment https://github.com/thesofproject/linux/issues/4879#issuecomment-2021401702

yvesh1123 commented 5 months ago

@plbossart Yup, this is where i got the file from.

and the other file i got from: https://github.com/thesofproject/sof-bin/blob/main/v2.9.x/sof-ipc4-v2.9/mtl/sof-mtl.ri

Maccchiatooo commented 5 months ago

I have the same problem for XPS 16 (9640). There is no sound when I install 24.04, and I tried a lot of solutions, but it seems that I made the system messy. Here is my alsa txt. Many thanks for any help! https://alsa-project.org/db/?f=38576abecf88929b9f65978b78d744144a8769a7

yvesh1123 commented 5 months ago

I'm still with no audio nor microphone (also Dell XPS 16 (9640)).

I replaced the firmware files again, and now there is a different issue in dmesg:

yves-halimi@yves-halimi-XPS-16-9640:~$ sudo dmesg | grep audio [ 20.209875] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 [ 20.210015] sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver [ 20.210029] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002) [ 20.210233] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380 [ 20.780718] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 20.787758] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode [ 20.801039] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4 [ 20.802720] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1: [ 20.802722] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri [ 20.802723] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/mtl [ 20.802724] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-cs42l43-l0-cs35l56-l23.tplg [ 20.803253] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.9.0.1 [ 23.806843] sof-audio-pci-intel-mtl 0000:00:1f.3: hda_cl_copy_fw: timeout with rom_status_reg (0x180000) read [ 23.806854] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump start ]------------ [ 23.806856] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware download failed [ 23.806858] sof-audio-pci-intel-mtl 0000:00:1f.3: fw_state: SOF_FW_BOOT_IN_PROGRESS (3) [ 23.806863] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM status: 0xffffffff, ROM error: 0xffffffff [ 23.806865] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM debug status: 0xd000000c, ROM debug error: 0x97 [ 23.806867] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM feature bit enabled [ 23.806879] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump end ]------------ [ 23.806914] sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to start DSP [ 23.806916] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to boot DSP firmware -110 [ 23.807142] Modules linked in: qrtr cmac algif_hash algif_skcipher af_alg bnep snd_soc_cs35l56_sdw snd_soc_cs35l56 snd_soc_wm_adsp snd_soc_cs35l56_shared snd_soc_cs_amp_lib snd_soc_rt711_sdca snd_hda_codec_hdmi cs42l43_sdw cs_dsp regmap_sdw_mbq regmap_sdw cs42l43 snd_soc_dmic snd_sof_pci_intel_mtl snd_sof_intel_hda_common soundwire_intel snd_sof_intel_hda_mlink soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_ext_core snd_soc_acpi_intel_match soundwire_generic_allocation snd_soc_acpi soundwire_bus intel_uncore_frequency intel_uncore_frequency_common snd_soc_core snd_compress x86_pkg_temp_thermal ac97_bus snd_pcm_dmaengine intel_powerclamp coretemp snd_hda_intel snd_intel_dspcfg iwlmvm r8153_ecm snd_intel_sdw_acpi kvm_intel cdc_ether snd_hda_codec usbnet mac80211 xe binfmt_misc snd_hda_core libarc4 kvm ledtrig_audio snd_hwdep snd_pcm crct10dif_pclmul polyval_clmulni btusb polyval_generic snd_seq_midi ghash_clmulni_intel snd_seq_midi_event sha256_ssse3 [ 29.857034] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -110

its so frustrating, i cannot connect to work meeting on my computer >: Please help! will offer my endless gratitude and love.

Thanks, Yves.H

Maccchiatooo commented 5 months ago

I'm still with no audio nor microphone (also Dell XPS 16 (9640)).

I replaced the firmware files again, and now there is a different issue in dmesg:

yves-halimi@yves-halimi-XPS-16-9640:~$ sudo dmesg | grep audio [ 20.209875] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380 [ 20.210015] sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver [ 20.210029] sof-audio-pci-intel-mtl 0000:00:1f.3: enabling device (0000 -> 0002) [ 20.210233] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380 [ 20.780718] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 20.787758] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode [ 20.801039] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4 [ 20.802720] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1: [ 20.802722] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri [ 20.802723] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware lib path: intel/sof-ipc4-lib/mtl [ 20.802724] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-mtl-cs42l43-l0-cs35l56-l23.tplg [ 20.803253] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.9.0.1 [ 23.806843] sof-audio-pci-intel-mtl 0000:00:1f.3: hda_cl_copy_fw: timeout with rom_status_reg (0x180000) read [ 23.806854] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump start ]------------ [ 23.806856] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware download failed [ 23.806858] sof-audio-pci-intel-mtl 0000:00:1f.3: fw_state: SOF_FW_BOOT_IN_PROGRESS (3) [ 23.806863] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM status: 0xffffffff, ROM error: 0xffffffff [ 23.806865] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM debug status: 0xd000000c, ROM debug error: 0x97 [ 23.806867] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM feature bit enabled [ 23.806879] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump end ]------------ [ 23.806914] sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to start DSP [ 23.806916] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to boot DSP firmware -110 [ 23.807142] Modules linked in: qrtr cmac algif_hash algif_skcipher af_alg bnep snd_soc_cs35l56_sdw snd_soc_cs35l56 snd_soc_wm_adsp snd_soc_cs35l56_shared snd_soc_cs_amp_lib snd_soc_rt711_sdca snd_hda_codec_hdmi cs42l43_sdw cs_dsp regmap_sdw_mbq regmap_sdw cs42l43 snd_soc_dmic snd_sof_pci_intel_mtl snd_sof_intel_hda_common soundwire_intel snd_sof_intel_hda_mlink soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_ext_core snd_soc_acpi_intel_match soundwire_generic_allocation snd_soc_acpi soundwire_bus intel_uncore_frequency intel_uncore_frequency_common snd_soc_core snd_compress x86_pkg_temp_thermal ac97_bus snd_pcm_dmaengine intel_powerclamp coretemp snd_hda_intel snd_intel_dspcfg iwlmvm r8153_ecm snd_intel_sdw_acpi kvm_intel cdc_ether snd_hda_codec usbnet mac80211 xe binfmt_misc snd_hda_core libarc4 kvm ledtrig_audio snd_hwdep snd_pcm crct10dif_pclmul polyval_clmulni btusb polyval_generic snd_seq_midi ghash_clmulni_intel snd_seq_midi_event sha256_ssse3 [ 29.857034] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -110 ing on my computer >: Please help! will offer my endless gratitude and love.

Thanks, Yves.H

Hi, I have the same problem for the same laptop. I am wondering how could you install sof audio? my mesg is like this:

[   15.661676] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   15.661943] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[   15.761140] snd_hda_codec_generic hdaudioC0D2: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[   15.761164] snd_hda_codec_generic hdaudioC0D2:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   15.761169] snd_hda_codec_generic hdaudioC0D2:    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   15.761173] snd_hda_codec_generic hdaudioC0D2:    mono: mono_out=0x0
[   15.761176] snd_hda_codec_generic hdaudioC0D2:    dig-out=0x4/0x0
[   15.761179] snd_hda_codec_generic hdaudioC0D2:    inputs:
plbossart commented 5 months ago

[ 20.803253] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.9.0.1 [ 23.806843] sof-audio-pci-intel-mtl 0000:00:1f.3: hda_cl_copy_fw: timeout with rom_status_reg (0x180000) read [ 23.806854] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump start ]------------ [ 23.806856] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware download failed [ 23.806858] sof-audio-pci-intel-mtl 0000:00:1f.3: fw_state: SOF_FW_BOOT_IN_PROGRESS (3) [ 23.806863] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM status: 0xffffffff, ROM error: 0xffffffff [ 23.806865] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM debug status: 0xd000000c, ROM debug error: 0x97 [ 23.806867] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM feature bit enabled

@yvesh1123 Can you show the result of 'ls -l /lib/firmware/intel/sof-ipc4/mtl/sof-mtl.ri'? (or .ri.zst if compressed) In theory it should point to the intel-signed directory. If not, you will have a firmware authentication failure.

yvesh1123 commented 5 months ago

Hey @plbossart thank you for trying to help!

here is the output:

yves-halimi@yves-halimi-XPS-16-9640:~$ ls -l /lib/firmware/intel/sof-ipc4/mtl/sof-mtl.ri -rw-r--r-- 1 root root 887352 May 12 11:54 /lib/firmware/intel/sof-ipc4/mtl/sof-mtl.ri

plbossart commented 5 months ago

@yvesh1123 you probably have an installation issue, you're not pointing to the 'right' file, that looks like a manual override. see what I have on my device:

/lib/firmware/intel/sof-ipc4/mtl$ ls -l sof-mtl.ri.zst 
lrwxrwxrwx 1 root root 27 Nov 15 09:32 sof-mtl.ri.zst -> intel-signed/sof-mtl.ri.zst

Re-install sof-bin with the install script...

yvesh1123 commented 5 months ago

I just did install with install.sh script:

yves-halimi@yves-halimi-XPS-16-9640:~/sof-bin$ sudo ./install.sh v2.9.x/v2.9

that solved it!

image

thank you so much. for those reading this and having the same issue:

update kernel to 6.9.0-rc5 and use the install script is all i did. hope it helps anyone

Maccchiatooo commented 5 months ago

Mine works now.

Procedure is, 1 upgrade to kernel 6.9. 2 reinstall sof-bin. 3 install UCM. 4 Shut down your laptop, but not easily restart. 5 Please make sure you do all of above things at the first time you install 24.04. 6 When I did research, it seems that sound is back for 24.04, xps16. but, camera is not working. And someone is working to solve it!

yvesh1123 commented 5 months ago

@Maccchiatooo i'm having a camera issue also, can you link the issue here please so i can stay updated on it.

Maccchiatooo commented 5 months ago

@Maccchiatooo i'm having a camera issue also, can you link the issue here please so i can stay updated on it. see this: https://www.reddit.com/r/DellXPS/comments/1b9ddhz/does_the_xps_16_intel_ultra_7_support_linux/

alexhulbert commented 5 months ago

@Maccchiatooo i'm having a camera issue also, can you link the issue here please so i can stay updated on it. see this: https://www.reddit.com/r/DellXPS/comments/1b9ddhz/does_the_xps_16_intel_ultra_7_support_linux/

From what I can tell, the ipu6 camera stuff is kinda a mess rn. Since it's not built into the Linux Kernel, it breaks on every kernel release. I'm pretty sure some people have just managed to get it to work with 6.7, and we'd need 6.9.

At least on arch, several changes are needed to get ipu6 cameras working, you can find those changes documented here:

https://github.com/stefanpartheym/archlinux-ipu6-webcam

charleskeepax commented 4 months ago

@vinassefranche - This patch https://lore.kernel.org/linux-sound/20240604132843.3309114-1-ckeepax@opensource.cirrus.com/ should fix your sporadic headset detection issues. I am not sure if building a custom kernel is something you would feel up to, but if so should be pretty easy to cherry-pick that patch in. If not then it is fairly likely the patch should get included in 6.10, 6.11 at the latest. So waiting for those to release would be the way to go.

vinassefranche commented 4 months ago

@charleskeepax so cool! Sorry for now answering before, I don't know why I did not receive the notification email. I'll wait for the next kernel versions I think. I'll confirm here when I have it. Thanks a lot for the effort anyway!

sygi commented 1 month ago

Hello from the future! I tested the suggestions from this thread in 6.10.10. and they don't seem to work. When I moved back to 6.9.12, I started to see the hardware devices:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 2: Speaker (*) []
  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: 0/1
  Subdevice #0: subdevice #0

but I only managed to make one of them (2: speaker) to actually produce sound. I also observed that with options snd-intel-dspcfg dsp_driver=1, I was able to make HDMI sound work but nothing else.

winsvega commented 2 weeks ago

Thanks for hinting which version of sof and kernel to use but that alone was not enough

the solution for me was:

1) install mainline

udo add-apt-repository ppa:cappelikan/ppa
sudo apt update && sudo apt upgrade -y
sudo apt install -y mainline

kernel for sound 6.9.12

2) isntall sound driver over systems (remove the system ones)

sudo rm -r /lib/firmware/intel/sof-ipc4-tplg
sudo rm -r /lib/firmware/intel/sof-ace-tplg
sudo rm -r /lib/firmware/intel/sof-ipc4

git clone https://github.com/thesofproject/sof-bin
sudo ./install.sh v2.9.x/v2.9 (make sure it prints links are created)
cp -r tools-v2.9/ /usr/local/bin/

3) install sound codecs

sudo apt-get install ubuntu-restricted-extras

use pavucontrol to enable sound driver in config tab

pactl list short sinks

set second from the list as default

pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-sof_sdw.pro-output-2

4) debug issues with chat gpt, but don't reinstall packages if it suggest so

journalctl --user -xe | grep pipewire
sudo dmesg | grep snd
sudo dmesg | grep pipewire
sudo dmesg | grep sof
sudo dmesg | grep audio

5) maybe not needed but I edit

gedit /usr/share/pipewire/pipewire.conf
    default.clock.rate = 44100
    default.clock.allowed-rates = [ 44100, 48000 ]
ilmonk commented 1 week ago

Thanks! I followed the steps, and now, if I set my configuration to 'Pro Audio' and use Audio Controller 2, the audio works. However, there's another problem: the headphone jack and the microphone still don't work. If I use USB headphones, the audio is fine, but the microphone doesn't work.