thesofproject / linux

Linux kernel source tree
Other
91 stars 131 forks source link

no card detected on Huawei BOD-WXX9 #4755

Open mindtheegab opened 10 months ago

mindtheegab commented 10 months ago

https://alsa-project.org/db/?f=26b3b014c8f3a7eb24e296a1e6d4f7b3ab9086a6

[  135.784707] sof-audio-pci-intel-tgl 0000:00:1f.3: Direct firmware load for intel/sof-tplg/sof-tgl-es8336-dmic2ch-ssp0.tplg failed with error -2
[  135.784710] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-tgl-es8336-dmic2ch-ssp0.tplg failed err: -2
[  135.784712] sof-audio-pci-intel-tgl 0000:00:1f.3: you may need to download the firmware from https://github.com/thesofproject/sof-bin/
[  135.784713] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -2
[  135.784715] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -2
[  135.784721] sof-essx8336 sof-essx8336: ASoC: failed to instantiate card -2
[  135.784759] sof-essx8336 sof-essx8336: snd_soc_register_card failed: -2
[  135.784760] sof-essx8336: probe of sof-essx8336 failed with error -2
~$ cat /proc/asound/cards 
--- no soundcards ---
mindtheegab commented 10 months ago

tried manually installing firmware from https://github.com/thesofproject/linux/wiki/ES8336-support

 23.867277] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[   23.867962] Bluetooth: hci0: Found device firmware: intel/ibt-19-0-4.sfi
[   23.868020] Bluetooth: hci0: Boot Address: 0x24800
[   23.868021] Bluetooth: hci0: Firmware Version: 126-5.22
[   23.875542] iwlwifi 0000:00:14.3: Detected RF HR B5, rfid=0x10a100
[   23.879864] sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT_DEVICE_I2S detected, ssp_mask 0x1
[   23.879869] sof-audio-pci-intel-tgl 0000:00:1f.3: Overriding topology with MCLK mask 0x1 from NHLT
[   23.879870] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[   23.881902] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[   23.881904] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:23:0
[   23.881908] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[   23.941500] iwlwifi 0000:00:14.3: base HW address: 80:b6:55:02:23:67
[   23.957483] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[   23.976521] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:0:0-b678a
[   23.976526] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:20:0 Kernel ABI 3:23:0
[   23.980807] sof-essx8336 sof-essx8336: quirk mask 0x20
[   23.980811] sof-essx8336 sof-essx8336: quirk SSP0
[   23.980813] sof-essx8336 sof-essx8336: quirk DMIC enabled
[   23.981774] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:23:0 Kernel ABI 3:23:0
[   23.981905] sof-essx8336 sof-essx8336: ASoC: Parent card not yet available, widget card binding deferred
[   24.015310] es8316 i2c-ESSX8336:00: assuming static mclk
[   24.082420] sof-essx8336 sof-essx8336: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[   24.112485] input: sof-essx8336 Headset as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input13
[   24.112561] input: sof-essx8336 HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input14
[   24.112621] input: sof-essx8336 HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input15
[   24.112673] input: sof-essx8336 HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input16

$ cat /proc/asound/cards 
 0 [sofessx8336    ]: sof-essx8336 - sof-essx8336
                      HUAWEI-BOD_WXX9-M1010-BOD_WXX9_PCB_B4

but still no sounds

PaddeCraft commented 9 months ago

This worked for me on the MateBook D15 2022 (comment 14):

# File: /etc/modprobe.d/alsa-base.conf
options snd_soc_sof_es8336 quirk=0x02
options snd-hda-intel dmic_detect=0

This change required a reboot.

Dmitony commented 9 months ago

I have a similar problem. In legacy HDA mode, the sound works. Laptop Huawei D15 BoDE-WXX9 intel i5-1155g7 tgl. I am attaching the output of alsa-info.sh, if anything else is needed I will add it. I tried rolling distributions on the latest versions of the kernel 6.6.8 and collected the kernel from your repository, nothing helps (

My alsa-info

journalctl --boot=0 | egrep -i 'snd|sof|8336'

huawei kernel: software IO TLB: area num 8.
huawei kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
huawei kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
huawei kernel: software IO TLB: mapped [mem 0x0000000068b30000-0x000000006cb30000] (64MB)
huawei kernel: Modules linked in: snd_intel_sdw_acpi(+) snd_soc_core(+) iwlmvm(+) snd_hda_codec snd_compress snd_hda_core irqbypass ac97_bus joydev snd_pcm_dmaengine snd_hwdep crct10dif_pclmul uvcvideo btusb snd_pcm videobuf2_vmalloc polyval_clmulni mac80211 btrtl polyval_generic btbcm ghash_clmulni_intel i915(+) uvc cmdlinepart videobuf2_memops aesni_intel btintel snd_seq_midi snd_seq_midi_event btmtk spi_nor crypto_simd videobuf2_v4l2 cryptd mei_hdcp mei_pxp intel_rapl_msr mtd libarc4 bluetooth snd_rawmidi videodev rapl drm_buddy huawei_wmi videobuf2_common ttm ecdh_generic ledtrig_audio snd_seq intel_cstate ecc mc sparse_keymap wmi_bmof snd_seq_device iwlwifi drm_display_helper snd_timer processor_thermal_device_pci_legacy cec processor_thermal_device processor_thermal_rfim processor_thermal_mbox snd rc_core processor_thermal_rapl cfg80211 drm_kms_helper intel_rapl_common i2c_algo_bit input_leds soundcore mei_me intel_soc_dts_iosf hid_multitouch int3400_thermal int3403_thermal mac_hid mei igen6_edac i2c_i801
huawei kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
huawei kernel: sof-essx8336 sof-essx8336: No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter
huawei kernel: sof-essx8336 sof-essx8336: quirk mask 0x20
huawei kernel: sof-essx8336 sof-essx8336: quirk SSP0
huawei kernel: sof-essx8336 sof-essx8336: quirk DMIC enabled
huawei kernel: audit: type=1400 audit(1704525014.311:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/opt/microsoft/msedge/msedge" pid=706 comm="apparmor_parser"
huawei rsyslogd[907]: [origin software="rsyslogd" swVersion="8.2306.0" x-pid="907" x-info="https://www.rsyslog.com"] start
huawei gnome-shell[1273]: Extension ding@rastersoft.com already installed in /usr/share/gnome-shell/extensions/ding@rastersoft.com. /usr/share/gnome-shell/extensions/ding@rastersoft.com will not be loaded
huawei telegram-desktop_telegram-desktop.desktop[2494]: [ALSOFT] (EE) Failed to connect PipeWire event context (errno: 112)
huawei kernel: sof-essx8336 sof-essx8336: No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter
huawei kernel: sof-essx8336 sof-essx8336: quirk mask 0x20
huawei kernel: sof-essx8336 sof-essx8336: quirk SSP0
huawei kernel: sof-essx8336 sof-essx8336: quirk DMIC enabled
huawei kernel: platform sof-essx8336: deferred probe pending
$ aplay -l
aplay: device_list:277: no soundcards

dmesg_sof_dbg.txt

plbossart commented 9 months ago
[   12.840228] platform sof-essx8336: deferred probe pending

probably means that the codec did not probe successfully.

You can try to enable dynamic debug to see what happens for the es8316.c driver.

This does not look good, this reminds me of hardware issues we've seen before.

Dmitony commented 9 months ago

This does not look good, this reminds me of hardware issues we've seen before.

Unfortunately, I cannot understand what is happening at such a low level. Can you help with the topic in which direction to think or get the sound and microphone to work until it works, just as far as I understand, I have already made all the necessary changes in the transition in the kernel, but my problem is not similar to the dmesg output of the others, at least defined codec. I am attaching dynamic debug output sof-dyndbg.txt