thesofproject / linux

Linux kernel source tree
Other
91 stars 133 forks source link

[BUG] Huawei MateBook E DRR-W76 - no soundcards found #5038

Closed rautyrauty closed 5 months ago

rautyrauty commented 5 months ago

alsa-info: http://alsa-project.org/db/?f=6fe2a9a3a52a46e7afcb65274a90f8a6f7dd1346

dmesg, uname -r, aplay, arecord
[root@stallclash ~]# uname -r
6.8.12-6.8-alt1
[root@stallclash ~]# aplay -lintel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
aplay: device_list:277: no soundcards found...
[root@stallclash ~]# arecord -l
arecord: device_list:277: no soundcards found...
[root@stallclash ~]# dmesg | grep -E "snd|sof"
[    0.033232] software IO TLB: area num 16.
[    0.901491] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.901492] software IO TLB: mapped [mem 0x0000000030f1b000-0x0000000034f1b000] (64MB)
[    3.258885] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    3.259373] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    3.701821] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    3.701847] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    3.701867] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    3.701991] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    3.704114] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    3.716307] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 4
[    3.716309] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 1
[    3.718547] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
[    3.718549] sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/sof-adl.ri
[    3.718550] sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-adl-rt711-4ch.tplg
[    3.718905] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.718906] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.718908] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    3.815151] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    3.815167] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    3.830480] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[    3.830551] sof-audio-pci-intel-tgl 0000:00:1f.3: error: can't connect DAI HDA3.OUT stream iDisp4
[    3.830553] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to add widget id 0 type 27 name : HDA3.OUT stream iDisp4
[    3.830556] sof_sdw sof_sdw: ASoC: failed to load widget HDA3.OUT
[    3.830558] sof_sdw sof_sdw: ASoC: topology: could not load header: -22
[    3.830570] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg component load failed -22
[    3.830573] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -22
[    3.830574] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22
[    3.830585] sof_sdw sof_sdw: ASoC: failed to instantiate card -22
[    3.830650] sof_sdw sof_sdw: error -EINVAL: snd_soc_register_card failed -22
[    3.830658] sof_sdw: probe of sof_sdw failed with error -22

When you turn on legacy mode (options snd-intel-dspcfg dsp_driver=1) the card with the HDA driver is detected, the sound starts working and the headset microphone works. The built-in microphone does not work on the default configuration or on the outdated one.

Probably, same: https://github.com/thesofproject/linux/issues/4814

plbossart commented 5 months ago

no it's a different problem. The SOF driver detects the presence of a SoundWire interface, but that doesn't seem to be quite right

[    3.716309] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 1

tell us you have an HDaudio codec, so the ACPI stuff provided by Huawei seems all wrong.

You would need to try to apply this patch:

https://github.com/thesofproject/linux/pull/4963

https://github.com/thesofproject/linux/commit/639f508e6ebc3ebb339d49e871b9c751d63fc1d2.patch

rautyrauty commented 5 months ago

Everything works with this patch - both the built-in microphone and the speakers. Please tell me in which version of the kernel should I wait for it?

plbossart commented 5 months ago

It's commit 5a7543d0ca01d68d992f480d151efd693807e0ce, should be in 6.10 in about 6 weeks.

rautyrauty commented 5 months ago

Ok. Thank you for your work!