Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rodrigovivi opened this issue Apr 12, 2024 · 98 comments · Fixed by #4925
Open
Labels
MTL Applies to Meteor Lake platform. SDW Applies to SoundWire bus for codec connection

Comments

@rodrigovivi
Copy link

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

@plbossart
Copy link
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

@plbossart plbossart added SDW Applies to SoundWire bus for codec connection MTL Applies to Meteor Lake platform. labels Apr 12, 2024
@rodrigovivi
Copy link
Author

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

@rodrigovivi
Copy link
Author

@plbossart
Copy link
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.

plbossart added a commit to plbossart/sound that referenced this issue Apr 12, 2024
This device has an RT712 on link0, but does not rely on RT1712 for the
DMIC. PCH-attached DMICs are used instead.

Closes: thesofproject#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart
Copy link
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!

plbossart added a commit to plbossart/sof that referenced this issue Apr 12, 2024
This device has RT712 on link0 2 PCH-attached DMICs.

Add 3 configurations with no DMIC, 4 DMIC and 2 DMIC. For now no
support for -pdm1.

Link: thesofproject/linux#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@rodrigovivi
Copy link
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

@plbossart
Copy link
Member

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

@rodrigovivi
Copy link
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.

@bardliao
Copy link
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.

@plbossart
Copy link
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?

plbossart added a commit to plbossart/sof that referenced this issue Apr 15, 2024
This device has RT712 on link0 2 PCH-attached DMICs.

Add 3 configurations with no DMIC, 4 DMIC and 2 DMIC. For now no
support for -pdm1.

Link: thesofproject/linux#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart
Copy link
Member

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.

Yes, BT and USB are orthogonal to the Intel IP for audio, so they might work even if the DSP doesn't. Still there's no reason why this configuration wouldn't work with minor tweaks, as you said there will be lots of others who need jack/speaker/mic.

@bardliao
Copy link
Collaborator

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?

Yes.

@rodrigovivi
Copy link
Author

with dmic01 id 3 it goes further, and then it fails:
[ 18.577436] sof_sdw sof_sdw: ASoC: physical link dmic16k (id 5) not exist

dmesg-audio-dmic01-id-3.txt

@bardliao
Copy link
Collaborator

with dmic01 id 3 it goes further, and then it fails: [ 18.577436] sof_sdw sof_sdw: ASoC: physical link dmic16k (id 5) not exist

dmesg-audio-dmic01-id-3.txt

@rodrigovivi Thanks for testing. Could you try sof-mtl-rt712-l0-2ch.zip?

plbossart added a commit to plbossart/sof that referenced this issue Apr 16, 2024
This device has RT712 on link0 2 PCH-attached DMICs.

Add 3 configurations with no DMIC, 4 DMIC and 2 DMIC. For now no
support for -pdm1.

Link: thesofproject/linux#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
plbossart added a commit that referenced this issue Apr 19, 2024
This device has an RT712 on link0, but does not rely on RT1712 for the
DMIC. PCH-attached DMICs are used instead.

Closes: #4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@bardliao
Copy link
Collaborator

@rodrigovivi Do you have a chance to test sof-mtl-rt712-l0-2ch.zip? We will merge thesofproject/sof#9041 if the test result is positive.

intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 26, 2024
This device has an RT712 on link0, but does not rely on RT1712 for the
DMIC. PCH-attached DMICs are used instead.

Closes: thesofproject#4923
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
plbossart added a commit that referenced this issue Apr 26, 2024
This device has an RT712 on link0, but does not rely on RT1712 for the
DMIC. PCH-attached DMICs are used instead.

Closes: #4923
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@franc5
Copy link

franc5 commented Apr 27, 2024

@rodrigovivi Do you have a chance to test sof-mtl-rt712-l0-2ch.zip? We will merge thesofproject/sof#9041 if the test result is positive.

Hello everyone! I'm also having this issue in a Swift SFG14-72 running latest Ubuntu 24.04. I tried the linked topology and it didn't work for me. Is this ticket going to be continued in issue 9085? Is there something I can help to debug this?

@bardliao
Copy link
Collaborator

@rodrigovivi Do you have a chance to test sof-mtl-rt712-l0-2ch.zip? We will merge thesofproject/sof#9041 if the test result is positive.

Hello everyone! I'm also having this issue in a Swift SFG14-72 running latest Ubuntu 24.04. I tried the linked topology and it didn't work for me. Is this ticket going to be continued in issue 9085? Is there something I can help to debug this?

@franc5 You need to apply #4925 to your kernel. And from #4970, thesofproject/sof#9041 should be good. The DSP panic looks like a different issue.

@plbossart
Copy link
Member

Ah yes, if there's Headphone playback, Headset Capture and Speaker playback all open in 32 bits then this would fail indeed.

bardliao pushed a commit to bardliao/sof that referenced this issue Aug 2, 2024
This device has RT712 on link0 2 PCH-attached DMICs.

Add 2 configurations with 4 DMIC and 2 DMIC. For now no
support for -pdm1.

Link: thesofproject/linux#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
lgirdwood pushed a commit to thesofproject/sof that referenced this issue Aug 5, 2024
This device has RT712 on link0 2 PCH-attached DMICs.

Add 2 configurations with 4 DMIC and 2 DMIC. For now no
support for -pdm1.

Link: thesofproject/linux#4923
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@brentlu
Copy link

brentlu commented Aug 6, 2024

Just record that following configuration works on my side for HP/SPK/DP playback and HP/PCH DMIC recording.

OS: Ubuntu 24.04 LTS
linux: https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/noble (tag: Ubuntu-oem-6.10-6.10.0-1006.6)
alsa-ucm-conf: https://github.com/shumingfan/alsa-ucm-conf (branch: add-rt712va)
alsa-lib: https://github.com/alsa-project/alsa-lib (commit: d9694398)
topology: sof-mtl-rt712-l0-2ch.tplg (found in above commit)

@marplusz
Copy link

From version 6.10 the kernel is ready, but there must be corrections in:
alsa-ucm-conf
alsa-lib
sof -> sof-mtl-rt712-l0-2ch-4ch
When can they be expected to be released so as not to perform these steps manually?

@falkanson
Copy link

falkanson commented Aug 26, 2024

Hello Guys, i appreciate the hard work you guys have all put into this...
Is there a way to install this early patch? already tried installing the 6.11-rc but it seems like the fix has not yet made it into there...

I tried to match brentlu's confiq but i was pretty unsure on how to install the topology stuff, as that escaped my technical ability. I would appreciate the help!

@plbossart
Copy link
Member

the kernel patch is in 6.10 already

Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>  2024-04-26 17:21:15
Committer: Mark Brown <broonie@kernel.org>  2024-04-29 17:10:00
Parent: 02e6f7cb487f18e1171ae6d12ad1066fbd25176d (ASoC: Intel: soc-acpi: mtl: add Dell SKU 0C64 and 0CC6)
Child:  6d339113df3ab510ce075a18ccb10a20cb325d4e (ASoC: Intel: soc-acpi-intel-lnl-match: adds RT714 and RT1318 support)
Branches: master, remotes/stable/linux-6.10.y and many more (168)
Follows: v6.9-rc2
Precedes: asoc-v6.10, sof-dev-rebase-20240503, sof-dev-rebase-20240509

    ASoC: Intel: soc-acpi: mtl: add support for Acer Swift Go 14
    
    This device has an RT712 on link0, but does not rely on RT1712 for the
    DMIC. PCH-attached DMICs are used instead.
    
    Closes: https://github.com/thesofproject/linux/issues/4923
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20240426152123.36284-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

the topology file can be installed in /lib/firmware/intel/sof-ipc4-tplg/

UCM needs to be cloned and copied over to your target.

@falkanson
Copy link

Thanks for answering!
How do install a topology file? just copy the zib to the path?

@falkanson
Copy link

falkanson commented Aug 27, 2024

I now followed yours and brentlus instructions, the only differecne is that i installed the kernel from https://kernel.ubuntu.com/mainline/v6.10.6/

I still only have dummy audio, this is the dmesg output:

[    2.684887] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    2.695999] [drm] Initialized i915 1.6.0 20230929 for 0000:00:02.0 on minor 1
[    2.697995] ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.698193] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[    2.698406] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input13
[    2.698722] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    2.698799] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    2.705382] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[    2.706510] fbcon: i915drmfb (fb0) is primary device
[    2.706513] fbcon: Deferring console take-over
[    2.706516] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    2.721732] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    2.721739] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[    2.726793] sof-audio-pci-intel-mtl 0000:00:1f.3: SOF firmware and/or topology file not found.
[    2.726799] sof-audio-pci-intel-mtl 0000:00:1f.3: Supported default profiles
[    2.726801] sof-audio-pci-intel-mtl 0000:00:1f.3: - ipc type 1 (Requested):
[    2.726803] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware file: intel/sof-ipc4/mtl/sof-mtl.ri
[    2.726804] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file: intel/sof-ace-tplg/sof-mtl-rt712-l0-2ch.tplg
[    2.726806] sof-audio-pci-intel-mtl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
[    2.726807] sof-audio-pci-intel-mtl 0000:00:1f.3: Optionally it can be manually downloaded from:
[    2.726808] sof-audio-pci-intel-mtl 0000:00:1f.3:    https://github.com/thesofproject/sof-bin/

I really appreciate your help...

@plbossart
Copy link
Member

@bardliao can you copy the topology file again, the instructions above are difficult to follow.

@falkanson
Copy link

Small update i got the speakers, no mic and not working, to show up by putting the file from here into /lib/firmware/intel/sof-ace-tplg/

@brentlu
Copy link

brentlu commented Aug 28, 2024

You need to copy sof-mtl-rt712-l0-2ch.tplg to /lib/firmware/intel/sof-ace-tplg

[    2.726804] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file: intel/sof-ace-tplg/sof-mtl-rt712-l0-2ch.tplg

And you could find FW here if not installed in your system.
https://github.com/thesofproject/sof-bin/tree/main/v2.9.x/sof-ipc4-v2.9/mtl

@bardliao
Copy link
Collaborator

@bardliao can you copy the topology file again, the instructions above are difficult to follow.

sof-mtl-rt712-l0-2ch-4ch.zip

@shumingfan
Copy link

@falkanson I upstreamed the UCM config already. (alsa-project/alsa-ucm-conf#435)
Before merging configs, you should copy these configs into your system.

@falkanson
Copy link

falkanson commented Aug 28, 2024

I followed you guys instructions, dmsg seams to be ok:

[    2.745824] sof-audio-pci-intel-mtl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    2.745978] sof-audio-pci-intel-mtl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    2.752934] sof-audio-pci-intel-mtl 0000:00:1f.3: use msi interrupt mode
[    2.753526] fbcon: i915drmfb (fb0) is primary device
[    2.753530] fbcon: Deferring console take-over
[    2.753533] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    2.758177] iwlwifi 0000:00:14.3: Detected RF GF, rfid=0x2010d000
[    2.766800] sof-audio-pci-intel-mtl 0000:00:1f.3: DMICs detected in NHLT tables: 2
[    2.766804] sof-audio-pci-intel-mtl 0000:00:1f.3: hda codecs found, mask 4
[    2.770184] sof-audio-pci-intel-mtl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[    2.770187] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/mtl/sof-mtl.ri
[    2.770189] sof-audio-pci-intel-mtl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/mtl
[    2.770190] sof-audio-pci-intel-mtl 0000:00:1f.3:  Topology file:     intel/sof-ace-tplg/sof-mtl-rt712-l0-2ch.tplg
[    2.771245] sof-audio-pci-intel-mtl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.9.0.1
[    2.824528] iwlwifi 0000:00:14.3: base HW address: 04:e8:b9:37:34:bc
[    2.840978] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[    2.876189] i915 0000:00:02.0: [drm] GT1: Loaded GSC firmware i915/mtl_gsc_1.bin (cv1.0, r102.0.0.1655, svn 1)
[    2.894461] sof-audio-pci-intel-mtl 0000:00:1f.3: Booted firmware version: 2.9.0.1
[    2.896292] i915 0000:00:02.0: [drm] GT1: HuC: authenticated for all workloads
[    2.900157] sof-audio-pci-intel-mtl 0000:00:1f.3: Topology: ABI 3:29:0 Kernel ABI 3:23:0
[    2.900544] sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
[    2.915233] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3

but again no audio, while speakers show up but mic doesn't...
Speakers and Mic don't work - port works

Could the difference be that i got the 6.10.6 Kernel from another source?
What do i have to do with sof-mtl-rt712-l0-4ch.tplg?

Additionally i get this output from alsaucm reload

ALSA lib parser.c:270:(parse_syntax_field) Incompatible syntax 7 in sof-soundwire.conf
ALSA lib main.c:1554:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -22
alsaucm: error failed to open sound card hw:0: Invalid argument

Thanks again for helping me out with this

@marplusz
Copy link

@falkanson everything is described here
#4923 (comment)
Have you installed alsa-ucm-conf and alsa-lib from the appropriate branches?

It works :)

@falkanson
Copy link

falkanson commented Aug 28, 2024

Im 99% sure i did, i just redid the entire process from a fresh Ubuntu 24.04.1 LTS Install and came to the same result

With these files: AcerAudioFiles.zip I correctly downloaded from the sources

And the kernel from here: https://kernel.ubuntu.com/mainline/v6.10.6/

I ran these commands during installation:

Install the Kernel: (installed the 4 amd4 files)

sudo dpkg -i *.deb

Set the cum2 config

sudo rm -r /usr/share/alsa/ucm2
sudo cp -r ucm2 /usr/share/alsa

install alsa lib and dependencies for installation

sudo apt install libtool
sudo apt install make
./gitcompile
sudo make install

Copy the Topography and the firmware

sudo cp sof-mtl-rt712-l0-2ch.tplg /lib/firmware/intel/sof-ace-tplg/

sudo rm -r /lib/firmware/intel/sof-ipc4/mtl
sudo cp -r mtl /lib/firmware/intel/sof-ipc4/mtl/

reboot

I must have made a mistake somewhere if it is supposed to work... but i can't figure out where.

@marplusz
Copy link

@falkanson My installation process looks like this:

sudo cp /sof-mtl-rt712-l0-2ch-4ch/sof-mtl-rt712-l0-* /usr/lib/firmware/intel/sof-ipc4-tplg/
git clone https://github.com/shumingfan/alsa-ucm-conf.git
cd alsa-ucm-conf
git checkout add-rt712va
sudo cp -r ucm2/* /usr/share/alsa/ucm2/
sudo cp -r ucm/* /usr/share/alsa/ucm/                 //Now I saw that there is only a readme file :)
git clone https://github.com/alsa-project/alsa-lib.git
cd alsa-lib/
./gitcompile 

Here I see that you are copying topologies to another place:
I: sudo cp /sof-mtl-rt712-l0-2ch-4ch/sof-mtl-rt712-l0-* /usr/lib/firmware/intel/sof-ipc4-tplg/
You: sudo cp sof-mtl-rt712-l0-2ch.tplg /lib/firmware/intel/sof-ace-tplg/

Copy the topology files to the sof-ipc4-tplg directory.
I didn't copy anything to /lib/firmware/intel/sof-ipc4-tplg/ and I see that these files are there too

@falkanson
Copy link

Weird, i followed you exact instructions and i'm back to only dummy audio, i at least have the jack working and the card showing up when copying to sof-ace-tplg
One thing to add is that i needed to create sof-ipc4-tplg
Sorry for being so difficult with this...

@marplusz
Copy link

@falkanson Did you copy both topology files?

sudo find / | grep sof-mtl-rt712-l0-

/usr/lib/firmware/intel/sof-ipc4-tplg/sof-mtl-rt712-l0-rt1712-l3.tplg.xz
/usr/lib/firmware/intel/sof-ipc4-tplg/sof-mtl-rt712-l0-2ch.tplg
/usr/lib/firmware/intel/sof-ipc4-tplg/sof-mtl-rt712-l0-4ch.tplg

@falkanson
Copy link

falkanson commented Aug 29, 2024

yes i have, both are in sof-ace-tplg and in sof-ipc4-tplg. Also i also tested it with them only being in one of the two locations. The speakers and mic never worked, jack only when they where in sof-ace-tplg.

find / | grep sof-mtl-rt712-
/usr/lib/firmware/intel/sof-ipc4-tplg/sof-mtl-rt712-l0-4ch.tplg
/usr/lib/firmware/intel/sof-ipc4-tplg/sof-mtl-rt712-l0-2ch.tplg
/usr/lib/firmware/intel/sof-ace-tplg/sof-mtl-rt712-l0-4ch.tplg
/usr/lib/firmware/intel/sof-ace-tplg/sof-mtl-rt712-l0-rt1712-l3.tplg.zst
/usr/lib/firmware/intel/sof-ace-tplg/sof-mtl-rt712-l0-2ch.tplg
/home/falkan/Downloads/ForAudio/sof-mtl-rt712-l0-2ch-4ch
/home/falkan/Downloads/ForAudio/sof-mtl-rt712-l0-2ch-4ch/sof-mtl-rt712-l0-4ch.tplg
/home/falkan/Downloads/ForAudio/sof-mtl-rt712-l0-2ch-4ch/sof-mtl-rt712-l0-2ch.tplg

@marplusz
Copy link

marplusz commented Sep 1, 2024

@falkanson the only thing I can suggest is to install Fedora 40. It currently has Kernel version 6.10 and after adding the solutions presented here it should work.
There's probably a way to solve this for you, but I don't know Ubuntu.

@brentlu
Copy link

brentlu commented Sep 2, 2024

Maybe you could check if alsa-lib is updated successfully.

intel123@intel123-Swift-SFG14-72:~$ alsatplg -V
alsatplg version 1.2.9
libasound version 1.2.12
libatopology version 1.2.12

@falkanson
Copy link

it now wokrs after installing Fedora 40!
Thanks for helping me guys!

@marplusz
Copy link

marplusz commented 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
Copy link
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"

@VincentMTAC
Copy link

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
Copy link

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MTL Applies to Meteor Lake platform. SDW Applies to SoundWire bus for codec connection
Projects
None yet
Development

Successfully merging a pull request may close this issue.