Skip to content

[BUG] Acer Swift Go 14 - No sound card detected - "No SoundWire machine driver found" #4923

Closed

Description

@rodrigovivi

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

alsa-info.txt

Activity

  1. plbossart commented on Apr 12, 2024

    @plbossart
    Member

    @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

    cat /sys/bus/acpi/devices/*/adr  | grep 025d
    
  2. added
    SDWApplies to SoundWire bus for codec connection
    MTLApplies to Meteor Lake platform.
    on Apr 12, 2024
  3. rodrigovivi commented on Apr 12, 2024

    @rodrigovivi
    Author

    $ cat /sys/bus/acpi/devices/*/adr | grep 025d
    0x000030025d071201

  4. rodrigovivi commented on Apr 12, 2024

    @rodrigovivi
    Author
  5. plbossart commented on Apr 12, 2024

    @plbossart
    Member

    Thanks @rodrigovivi, so you have one RT712 on SoundWire link0, 2 DMICs and HDMI support with iDISP.

    [   14.813241] soundwire_intel:sdw_intel_probe_controller: acpi PRP00001:00: Creating 4 SDW Link devices
    [   14.813350] soundwire_bus:sdw_extract_slave_id: soundwire sdw-master-0-0: SDW Slave Addr: 30025d071201
    [   14.813352] soundwire_bus:sdw_extract_slave_id: soundwire sdw-master-0-0: SDW Slave class_id 0x01, mfg_id 0x025d, part_id 0x0712, unique_id 0x0, version 0x3
    [   14.813487] snd_sof_intel_hda:hda_codec_probe: sof-audio-pci-intel-mtl 0000:00:1f.3: HDA codec thesofproject/sof#2 probed OK: response: 8086281d
    

    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.

  6. plbossart commented on Apr 12, 2024

    @plbossart
    Member

    @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!

  7. rodrigovivi commented on Apr 13, 2024

    @rodrigovivi
    Author

    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

  8. plbossart commented on Apr 13, 2024

    @plbossart
    Member

    Ok that's probably the topology file, I don't really understand how the indices are handled. @bardliao can you take a look?

  9. rodrigovivi commented on Apr 14, 2024

    @rodrigovivi
    Author

    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.

  10. bardliao commented on Apr 15, 2024

    @bardliao
    Collaborator

    @rodrigovivi Can you try sof-mtl-rt712-l0-2ch.zip?

    [   16.204349] snd_soc_sof_sdw:sof_card_dai_links_create: sof_sdw sof_sdw: sdw 3, ssp 0, dmic 2, hdmi 3, bt: 0
    [   16.204350] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback-SimpleJack, id 0
    [   16.204371] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Capture-SimpleJack, id 1
    [   16.204372] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link SDW0-Playback-SmartAmp, id 2
    [   16.204372] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link dmic01, id 3
    [   16.204373] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link dmic16k, id 4
    [   16.204375] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp1, id 5
    [   16.204376] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp2, id 6
    [   16.204377] snd_soc_sof_sdw:init_dai_link: sof_sdw sof_sdw: create dai link iDisp3, id 7
    

    The dmic01 id is 3. I modified the indices in the topology.

  11. plbossart commented on Apr 15, 2024

    @plbossart
    Member

    The dmic01 id is 3. I modified the indices in the topology.

    @bardliao is this because we don't have the amp feedback on rt712?

  12. 95 remaining items

  13. slawekabramczyk commented on Sep 14, 2024

    @slawekabramczyk

    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

  14. plbossart commented on Sep 16, 2024

    @plbossart
    Member

    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"

  15. VincentMTAC commented on Oct 11, 2024

    @VincentMTAC

    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 !

  16. SirSteel commented on Oct 11, 2024

    @SirSteel

    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!

  17. shassard commented on Oct 13, 2024

    @shassard

    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-conf that hasn't been merged upstream.

    I was able to get this to work with a one-liner to my system:

    cd /usr/share/alsa && curl -q "https://github.com/alsa-project/alsa-ucm-conf/commit/9e3312c1471b8cb64036a5bd740e5c4f8c8f1186.diff" | sudo patch -p1

    Then reboot the system.

  18. shassard commented on Nov 19, 2024

    @shassard

    I've created a PR for nixpkgs, which will hopefully get merged soon:
    NixOS/nixpkgs#355732

  19. SirSteel commented on Nov 27, 2024

    @SirSteel

    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.

  20. liquidev commented on Dec 26, 2024

    @liquidev

    I'm having the same problem; updated my packages, and sound is not working anymore.

    What can I do to help diagnose the issue?

  21. bardliao commented on Dec 26, 2024

    @bardliao
    Collaborator

    @liquidev Please add this file
    sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot then attach the dmesg log.

  22. liquidev commented on Dec 26, 2024

    @liquidev

    Here's the verbose log after a fresh boot: dmesg.txt

  23. bardliao commented on Dec 27, 2024

    @bardliao
    Collaborator

    @liquidev

    Dec 26 20:59:32 construct kernel: soundwire sdw-master-0-0: sdw_compute_bus_params: could not find frame configuration for bus dr_freq 9600000
    Dec 26 20:59:32 construct kernel: soundwire sdw-master-0-0: Compute params failed: -22
    Dec 26 20:59:32 construct kernel:  SDW0-Capture-SimpleJack: ASoC: error at snd_soc_link_prepare on SDW0-Capture-SimpleJack: -22
    

    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.

  24. liquidev commented on Dec 27, 2024

    @liquidev

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

  25. ujfalusi commented on Mar 3, 2025

    @ujfalusi
    Collaborator

    @rodrigovivi (@liquidev ), based on the comments this is now considered to be fixed? If so, can you close the issue?

  26. rodrigovivi commented on Mar 3, 2025

    @rodrigovivi
    Author

    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

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

    MTLApplies to Meteor Lake platform.SDWApplies to SoundWire bus for codec connection

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions