Repository navigation
[BUG] Acer Swift Go 14 - No sound card detected - "No SoundWire machine driver found" #4923
Description
Describe the bug
No sound card detected on a laptop - Acer Swift Go 14
System : Fedora 40
Packages :
Fedora:
alsa-sof-firmware-2024.03-2.fc40.noarch
alsa-firmware-1.2.4-12.fc40.noarch
And even with manually installing: sof-bin-2024.03.tar.gz
To Reproduce
Install Linux on this Acer laptop.
sudo modprobe -r snd_sof_pci_intel_mtl
sudo modprobe snd_sof_pci_intel_mtl
Reproduction Rate
All the time
Expected behavior
The sound card should be detected.
Impact
showstopper
It is necessary for meeting.
Environment
Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
Kernel: : vmlinuz-6.8.5-300.fc40.x86_64 or Linus 6.9.0-rc3+
SOF: sof-bin-2024.03
Name of the topology file
Topology file: intel/sof-ace-tplg/sof-hda-generic-idisp-2ch.tplg
Name of the platform(s) on which the bug is observed.
Platform: Acer Swift Go 14
Screenshots or console output
** No SoundWire machine driver found **
[ 119.281924] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 119.281952] sof-audio-pci-intel-mtl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 119.282189] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 119.282297] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 119.289796] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[ 119.303215] sof-audio-pci-intel-mtl 0000:00:1f.3: No SoundWire machine driver found
[ 119.303218] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[ 119.303220] sof-audio-pci-intel-mtl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 119.303224] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[ 119.304432] sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found.
[ 119.304434] sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles
[ 119.304435] sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested):
[ 119.304437] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
[ 119.304438] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology file: intel/sof-ace-tplg/sof-hda-generic-idisp-2ch.tplg
[ 119.304440] sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
[ 119.304441] sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from:
[ 119.304442] sof-audio-pci-intel-mtl 0000:00:1f.3: https://github.com/thesofproject/sof-bin/
[ 119.304470] sof-audio-pci-intel-mtl 0000:00:1f.3: Direct firmware load for (null)/(null) failed with error -2
[ 119.304473] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof firmware file is missing, you might need to
[ 119.304474] sof-audio-pci-intel-mtl 0000:00:1f.3: download it from https://github.com/thesofproject/sof-bin/
[ 119.304475] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to load DSP firmware -2
[ 119.306005] sof-audio-pci-intel-mtl 0000:00:1f.3: error: sof_probe_work failed err: -2
Activity
plbossart commentedon Apr 12, 2024
@rodrigovivi if you have 2 DMICs and no HDaudio external codec, then chances are the configuration is similar to the HP SoundWire versions.
Can you add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot then attach the dmesg log.
Also provide the result of
rodrigovivi commentedon Apr 12, 2024
$ cat /sys/bus/acpi/devices/*/adr | grep 025d
0x000030025d071201
rodrigovivi commentedon Apr 12, 2024
dmesg-audio-dyndbg-config.txt
plbossart commentedon Apr 12, 2024
Thanks @rodrigovivi, so you have one RT712 on SoundWire link0, 2 DMICs and HDMI support with iDISP.
of course we don't support this configuration...
Usually we have a RT712 for jack/amp and the RT1712 for the DMIC. Here the latter seems replaced by the PCH-attached DMIC.
wow. I'll start cooking up a patch shortly.
ASoC: Intel: soc-acpi: mtl: add support for Acer Swift Go 14
plbossart commentedon Apr 12, 2024
@rodrigovivi can you try the patch in PR thesofproject/sof#4925 and also unzip/copy this file
sof-mtl-rt712-l0-2ch.tplg.gz in /lib/firmware/intel/sof-ipc4-tplg/
Reboot and attach the results. You should see a sound card if I didn't screw up the indices.
Thanks!
topology2: add support for MTL Acer Swift Go 14
rodrigovivi commentedon Apr 13, 2024
dmesg-audio-with-patch-take-1.txt
It goes further, then it fails...
[ 16.204785] snd_sof:sof_route_load: sof-audio-pci-intel-mtl 0000:00:1f.3: sink module-copier.101.2 control none source eqiir.101.1
[ 16.204786] sof_sdw sof_sdw: ASoC: physical link dmic01 (id 4) not exist
[ 16.204787] sof_sdw sof_sdw: ASoC: topology: could not load header: -22
[ 16.204832] sof-audio-pci-intel-mtl 0000:00:1f.3: error: tplg component load failed -22
[ 16.204834] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed to load DSP topology -22
[ 16.204835] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22
[ 16.204845] sof_sdw sof_sdw: ASoC: failed to instantiate card -22
[ 16.204882] sof_sdw sof_sdw: error -EINVAL: snd_soc_register_card failed -22
[ 16.204888] sof_sdw sof_sdw: probe with driver sof_sdw failed with error -22
plbossart commentedon Apr 13, 2024
Ok that's probably the topology file, I don't really understand how the indices are handled. @bardliao can you take a look?
rodrigovivi commentedon Apr 14, 2024
one important information here: the sound over USB works pretty well even without this patch.
USB speaker and USB headset works well. only the native laptop speakers and mic doesn't work.
I was surprised by that over the weekend. So, I really can do meetings on this laptop and sound works for my regular case.
But I'm still up to test any patch here and get this product really working out of the box. There might be users out there who really depend on the native speakers/mic.
bardliao commentedon Apr 15, 2024
@rodrigovivi Can you try sof-mtl-rt712-l0-2ch.zip?
The dmic01 id is 3. I modified the indices in the topology.
plbossart commentedon Apr 15, 2024
@bardliao is this because we don't have the amp feedback on rt712?
topology2: add support for MTL Acer Swift Go 14
95 remaining items
slawekabramczyk commentedon Sep 14, 2024
Since kernel version 6.10.7 there is no sound on Fedora. I repeated the test in version 6.10.6 and there was sound. That's probably why @falkanson had problems on Ubuntu because installed a newer kernel
plbossart commentedon Sep 16, 2024
Known regression, see #5168
This should be fixed shortly by linux-stable
if you can't wait, revert the commit "soundwire: stream: fix programming slave ports for non-continous port maps"
VincentMTAC commentedon Oct 11, 2024
Quick comment, I have an Acer Swift Go 14, using Fedora 41 (kernel 6.11.3-300.fc41).
Almost works out of the box, minus I had to download alsa-ucm-conf from this repo (branch: add-rt712va) ucm2 folder and put it in my /usr/share/alsa/ucm2 one.
Otherwise I had the speakers detected, no mic, and no sound.
Thanks !
SirSteel commentedon Oct 11, 2024
I have been bothered by this issue for a few weeks now. Tried so many things I lost track.
Today I installed Ubuntu 24.10 with the latest kernel 6.11.0-0-8. (No improvement)
Then I installed latest alsa following these type of guides: https://www.linuxfromscratch.org/blfs/view/svn/multimedia/alsa-utils.html (No improvement)
And now I tried what Vincent suggested since I have the same computer. Used the repo and the branch.
Aaaand finally! It worked, I have sound, I have a mic. Hell yea!
Thanks mate!
shassard commentedon Oct 13, 2024
On an updated Arch Linux machine, we have almost all the bits that we need for this to work with the exception of the patch to
alsa-ucm-confthat hasn't been merged upstream.I was able to get this to work with a one-liner to my system:
Then reboot the system.
shassard commentedon Nov 19, 2024
I've created a PR for nixpkgs, which will hopefully get merged soon:
NixOS/nixpkgs#355732
SirSteel commentedon Nov 27, 2024
There was recently an update, which again destroyed my sound. I knew I should not have updated it but tried it anyways but now I am stuck again trying to get my sound to work.
But the main repo seems to have updated, so I just checked out master https://github.com/alsa-project/alsa-ucm-conf
and copied ucm and ucm2. And followed their restart instructions.
liquidev commentedon Dec 26, 2024
I'm having the same problem; updated my packages, and sound is not working anymore.
What can I do to help diagnose the issue?
bardliao commentedon Dec 26, 2024
@liquidev Please add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot then attach the dmesg log.
liquidev commentedon Dec 26, 2024
Here's the verbose log after a fresh boot: dmesg.txt
bardliao commentedon Dec 27, 2024
@liquidev
It looks like the soundwire bus bandwidth is not sufficient in your configuration. I suspect that your topology uses 32 bit format.
Can you get sof-mtl-rt712-l0-2ch.tplg from https://github.com/thesofproject/sof-bin/tree/main/v2.11.x/sof-ipc4-tplg-v2.11.3 and put it in the /lib/firmware/intel/sof-ace-tplg/sof-mtl-rt712-l0-2ch.tplg folder?
I.e Replace the sof-mtl-rt712-l0-2ch.tplg file in your device.
liquidev commentedon Dec 27, 2024
@bardliao That helped, I have my headphone sound back, and now speakers are working too :3
Edit: just checked and mic is working too. Not sure about HDMI as I'm outside home right now and can't check.
ujfalusi commentedon Mar 3, 2025
@rodrigovivi (@liquidev ), based on the comments this is now considered to be fixed? If so, can you close the issue?
rodrigovivi commentedon Mar 3, 2025
I confirm that with recent kernel: 6.14.0-rc4+ and sof-mtl-rt712-l0-2ch.tplg from https://github.com/thesofproject/sof-bin/tree/main/v2.11.x/sof-ipc4-tplg-v2.11.3, both built-in speaker and built-in microphone works.
Thank you so much