thesofproject / linux

Linux kernel source tree
Other
90 stars 130 forks source link

Huawei matebook d15, no soundcard, No I2S link information provided, using SSP0. [BUG] [CODEC ES8336] #4814

Open Dmitony opened 7 months ago

Dmitony commented 7 months ago

Describe the bug Sound card is not detected. tony@huawei:~$ aplay -l aplay: device_list:277: no sound card found... A new kernel, version 6.7, was installed; both our own kernel assemblies and those from the repository were used for installation. Currently using the version from the launchpad. tony@huawei:~$ uname -r 6.7.0-060700-generic

To Reproduce Huawei matebook d15, default setup alsa. 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 on one speaker out of 2 and the linear output to the microphone works. The built-in micron does not work on the default configuration or on the outdated one

Expected behavior What can you try to do so that the card is detected on the new driver and the built-in microphone and sound work?

Environment 1) Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).

Screenshots or console output alsa-info dmesg

tony@huawei:~$ sudo journalctl --boot=0  | egrep -i 'sof|sound|audio|8336'
фев 12 14:03:24 huawei kernel: software IO TLB: area num 8.
фев 12 14:03:24 huawei kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
фев 12 14:03:24 huawei kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
фев 12 14:03:24 huawei kernel: software IO TLB: mapped [mem 0x0000000063205000-0x0000000067205000] (64MB)
фев 12 14:03:24 huawei kernel: Modules linked in: snd_hda_intel(+) ecdh_generic snd_intel_dspcfg iwlmvm(+) snd_soc_es8316 joydev mc ecc i915(+) snd_intel_sdw_acpi kvm snd_soc_core mac80211 snd_hda_codec snd_compress snd_hda_core ac97_bus snd_pcm_dmaengine snd_hwdep irqbypass libarc4 snd_pcm crct10dif_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel sha512_ssse3 snd_seq_midi sha256_ssse3 sha1_ssse3 drm_buddy snd_seq_midi_event cmdlinepart aesni_intel ttm snd_rawmidi mei_pxp spi_nor processor_thermal_device_pci_legacy crypto_simd iwlwifi mei_hdcp drm_display_helper cryptd mtd processor_thermal_device snd_seq processor_thermal_wt_hint intel_rapl_msr processor_thermal_rfim cec huawei_wmi processor_thermal_rapl snd_seq_device rapl ledtrig_audio rc_core intel_rapl_common spi_intel_pci cfg80211 intel_cstate mei_me snd_timer sparse_keymap wmi_bmof i2c_i801 processor_thermal_wt_req spi_intel processor_thermal_power_floor snd i2c_smbus drm_kms_helper mei processor_thermal_mbox i2c_algo_bit soundcore intel_soc_dts_iosf igen6_edac
фев 12 14:03:24 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
фев 12 14:03:24 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
фев 12 14:03:24 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
фев 12 14:03:24 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
фев 12 14:03:25 huawei kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
фев 12 14:03:25 huawei kernel: sof-essx8336 sof-essx8336: No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter
фев 12 14:03:25 huawei kernel: sof-essx8336 sof-essx8336: quirk mask 0x20
фев 12 14:03:25 huawei kernel: sof-essx8336 sof-essx8336: quirk SSP0
фев 12 14:03:25 huawei kernel: sof-essx8336 sof-essx8336: quirk DMIC enabled
фев 12 14:03:25 huawei kernel: audit: type=1400 audit(1707728605.251:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/opt/microsoft/msedge/msedge" pid=732 comm="apparmor_parser"
фев 12 14:03:26 huawei rsyslogd[924]: [origin software="rsyslogd" swVersion="8.2306.0" x-pid="924" x-info="https://www.rsyslog.com"] start
фев 12 14:03:28 huawei systemd[1411]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.
фев 12 14:03:28 huawei systemd[1411]: Started pipewire-pulse.service - PipeWire PulseAudio.
фев 12 14:03:29 huawei gnome-shell[1494]: 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
фев 12 14:03:35 huawei kernel: sof-essx8336 sof-essx8336: No I2S link information provided, using SSP0. This may need to be modified with the quirk module parameter
фев 12 14:03:35 huawei kernel: sof-essx8336 sof-essx8336: quirk mask 0x20
фев 12 14:03:35 huawei kernel: sof-essx8336 sof-essx8336: quirk SSP0
фев 12 14:03:35 huawei kernel: sof-essx8336 sof-essx8336: quirk DMIC enabled
фев 12 14:03:35 huawei kernel: platform sof-essx8336: deferred probe pending
фев 12 14:03:36 huawei systemd[2255]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.
фев 12 14:03:36 huawei systemd[2255]: Started pipewire-pulse.service - PipeWire PulseAudio.
фев 12 14:03:37 huawei systemd[2255]: Starting org.gnome.SettingsDaemon.Sound.service - GNOME sound sample caching service...
фев 12 14:03:37 huawei systemd[2255]: Started org.gnome.SettingsDaemon.Sound.service - GNOME sound sample caching service.
фев 12 14:03:37 huawei systemd[2255]: Reached target org.gnome.SettingsDaemon.Sound.target - GNOME sound sample caching target.
фев 12 14:03:38 huawei telegram-desktop_telegram-desktop.desktop[2827]: [ALSOFT] (EE) Failed to connect PipeWire event context (errno: 112)
фев 12 14:03:39 huawei snapd-desktop-i[3453]: New theme: gtk=Yaru icon=Yaru cursor=Yaru, sound=Yaru
фев 12 14:03:48 huawei systemd[1411]: Stopping pipewire-pulse.service - PipeWire PulseAudio...
фев 12 14:03:48 huawei systemd[1411]: Stopped pipewire-pulse.service - PipeWire PulseAudio.
фев 12 14:03:48 huawei systemd[1411]: Closed pipewire-pulse.socket - PipeWire PulseAudio.

sof-dyndbg.txt

plbossart commented 7 months ago

"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 on one speaker out of 2 and the linear output to the microphone works"

That's just not possible. Either the speakers are connected to the ES8336 or they are connected to HDMI. There's just no way physically for one of the speakers to work. Also microphones are an input...

Dmitony commented 7 months ago

Sorry, maybe I didn't explain something correctly. When you turn on the legacy mode, sound appears, and it is also possible to operate an external microphone through the connector to jack. I would like to get the microphone and sound to work on your driver. Perhaps it seems to me that one of the speakers is working, but the sound is strange compared to normal operation on the default W OS.

plbossart commented 7 months ago

The legacy mode cannot handle an I2S codec such as the ES8336, so nothing really adds up in the issue description.

The legacy mode can only deal with an HDAudio codec.

Dmitony commented 7 months ago

The legacy mode cannot handle an I2S codec such as the ES8336, so nothing really adds up in the issue description.

The legacy mode can only deal with an HDAudio codec.

I agree completely, that’s why this conclusion is not in legacy. This is a description of the problem with using the default sof