Repository navigation
[BUG] NO SOUND for GeminiLake with ES8336 #3336
Copy link
Copy link
Closed
Labels
Communityend-user or distro-reported issuesend-user or distro-reported issuesGLKApplies to Gemini LakeApplies to Gemini LakecodecCodec HW or driver restrictionCodec HW or driver restrictioncodec ES8336
Description
NO SOUND, but i can listen the flutter on sound card initialization
Environment
* Kernel: 5.16.0-rc5/5.15.7 (with ASoC-Intel-machine-driver-updates and 3107 patches included)
* SOF: c40c7bf (sof-bin tag v1.9.3)
* Platform: x86-amd64
$ lspci -nn | grep audio
00:0e.0 Multimedia audio controller [0401]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06)
$ sudo dmesg | grep audio
[ 5.528121] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.534437] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.549016] sof-audio-pci-intel-apl 0000:00:0e.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.589478] sof-audio-pci-intel-apl 0000:00:0e.0: use msi interrupt mode
[ 5.653265] sof-audio-pci-intel-apl 0000:00:0e.0: hda codecs found, mask 4
[ 5.656918] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 1:9:3-a9780
[ 5.656925] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 5.656928] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
[ 5.656937] sof-audio-pci-intel-apl 0000:00:0e.0: unknown sof_ext_man header type 3 size 0x30
[ 5.696304] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 1:9:3-a9780
[ 5.696312] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:20:0 Kernel ABI 3:18:0
[ 5.696316] sof-audio-pci-intel-apl 0000:00:0e.0: warn: FW ABI is more recent than kernel
[ 5.721934] sof-audio-pci-intel-apl 0000:00:0e.0: Topology: ABI 3:20:0 Kernel ABI 3:18:0
[ 5.721939] sof-audio-pci-intel-apl 0000:00:0e.0: warn: topology ABI is more recent than kernel
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofessx8336 [sof-essx8336], device 0: ES8336 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 5: HDMI 1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 6: HDMI 2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 7: HDMI 3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Communityend-user or distro-reported issuesend-user or distro-reported issuesGLKApplies to Gemini LakeApplies to Gemini LakecodecCodec HW or driver restrictionCodec HW or driver restrictioncodec ES8336
Activity
[-][BUG][/-][+][BUG] NO SOUND for Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06)[/+]plbossart commentedon Dec 14, 2021
That's a GLK device, which should be handled already.
soc/sof/intel/pci-apl.c: { PCI_DEVICE(0x8086, 0x3198), /* GeminiLake */
can you try using
speaker-test -Dhw:0:0 -c2 -r48000 (you can use -t sine as well)
and try to set the volume with alsamixer to set "DAC" to 100
also try with headphones to see if you see any difference.
[-][BUG] NO SOUND for Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06)[/-][+][BUG] NO SOUND for GeminiLake with ES8336[/+]MisteryX commentedon Dec 14, 2021
DAC have been already at 100%, still no sound
MisteryX commentedon Dec 14, 2021
Headphones have already tested - no sound, only flutter.
plbossart commentedon Dec 14, 2021
speaker-test -Dhw:0,0 -c2 -r48000 (comma, not . as show above).
This may be a case of the wrong I2S being used. we assumed it was SSP2 but it could very well be wrong. You could try with the recommendations made for CometLake devices using the same codec device
#3248
Trial and error it is until we figure out a way to detect what the hardware is (#3337)
MisteryX commentedon Dec 14, 2021
Tested
options snd-soc-sof-es8336 quirk=0x30 (with SSP0 topology)
options snd-soc-sof-es8336 quirk=0x31 (with SSP1 topology)
options snd-soc-sof-es8336 quirk=0x32 (with SSP2 topology)
And only SSP2 topology forces sound device creation, but unfortunately no sound output still
plbossart commentedon Dec 14, 2021
can you install acpica-tools and attach the NHLT information (dump.bin.gz)
sudo acpidump > dump.bin
gzip dump.bin
MisteryX commentedon Dec 15, 2021
yep
dump.bin.gz
plbossart commentedon Dec 15, 2021
this is good information @MisteryX, it looks like this device uses SSP0 instead of SSP2 for other GLK devices. There is no PDM DMIC listed.
nhlt.dsl.txt
so what you'd need to do is use this
options snd-soc-sof-es8336 quirk=0x00
or
options snd-soc-sof-es8336 quirk=0x10
explanations: SSP0, no DMIC, GLK or TGL quirks for the speaker GPIO.
Please try this topology file:
sof-glk-es8336-ssp0.tplg.gz copied as /lib/firmware/inte/sof-tplg/sof-glk-es8336.tplg
Also add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf
And attach full results of 'dmesg' and 'alsa-info'.
This is painful but it shouldn't be too hard to figure out.
MisteryX commentedon Dec 16, 2021
Done.
http://alsa-project.org/db/?f=fdc5c3d7123d8bbf731b38726122bb7c6bc1a44e
plbossart commentedon Dec 16, 2021
@MisteryX so the logs show you have a card created, no dmic on capture.
There's something odd with this
[8.824265] sof-essx8336 sof-essx8336: quirk SSP2
that tells me the quirk override didn't work?
'modinfo snd_soc_sof_es8336' should show you the value, if it's -1 then the quirk override didn't work...
187 remaining items
ejmarkow commentedon Nov 21, 2022
It was previously mentioned that either 1) Hardware failure, or 2) Bus is not correctly loaded.
Now that I have shown that ESSX8336 is actually showing up in the directory for i2c-5, which represents bus
#5[i2c-5 i2c Synopsys DesignWare I2C adapter I2C adapter], isn't it loading correctly?However, there are no addresses for 0x10 & 0x11 appearing, only "blank".
ejmarkow commentedon Nov 23, 2022
Since there is no way that I'm aware of in Linux to determine with certainty whether my PC experienced hardware failure or not (with sound), perhaps the only solution is to backup all of my partitions, remove Debian Linux, and install MS Windows to see if the sound/audio will work properly using the Everest-based ES8316 driver/codec. Then I'll know for sure whether the issue is with the Linux driver, or the hardware itself.
Or, I can just use a USB or Bluetooth solution for my audio on Linux and see how that works.
andreaconsole commentedon Nov 23, 2022
I was about to suggest the first option, but I don't know if it is something you can say here :D
For the second option, I am so far an happy user of a cheap usb soud card (still hoping to hear the sound coming from my amd-based laptop's speakers one day, though).
ejmarkow commentedon Nov 23, 2022
@andreaconsole, when I open PAVC (Pulse Audio Volume Control) and play something on Youtube for example, the graphical audio indicators are moving left/right. Does this indicate my audio chip (the hardware) is in good condition? I don't know.
But testing audio on MS Windows does seem like the only sure way to determine precisely where the issue is, not that I want to use that OS. I would only be doing this for test purposes, and then move back to Linux using a USB (or Bluetooth) audio solution.
What really bothers me is that audio was working fine, until it suddenly stopped. However, there always was this strange popping / clicking sound prior to using audio, as if there was a conflict somewhere. I'm also questioning, on this relatively new PC, why would audio suddenly fail (the hardware, if it's that) while everything else is working fine?
andreaconsole commentedon Nov 23, 2022
I don't think there is anything strange in some component failing without prejudice to the rest of the system. In that case it is probably the consequence of poor quality check. Try Windows and let us know! The story of your tests is very interesting.
ejmarkow commentedon Nov 23, 2022
Here is another item I notice: When audio was working on my physical speakers (which are attached via jack & line), PAVC indicated that it was via "Headphones" while it indicated "Speakers (unplugged)". Now, without audio working, PAVC indicates "Speakers" as working, but "Headphones (unplugged)".
ejmarkow commentedon Nov 24, 2022
@plbossart @yangxiaohua2009 @jwrdegoede
Fantastic news: Sound works again!
How it was fixed:
There is a 'reset hole' on my mini-pc which I gave a try as a long shot solution before I reinstalled any OS or took other drastic measures. I thought, maybe resetting UEFI (bringing it back to factory default settings) due to possible corruption would help. So, I disconnected the power source, inserted and held down a safety pin for over 10 seconds, took it out, reconnected the power and this fixed it. Unbelievable. If anyone ever runs into the same issue (sudden loss of audio/sound and getting a slew of driver errors in dmesg), try this solution before doing anything else.
Now I'm wondering, how did UEFI on my PC ever become corrupt? I guess it happens.
Thank you all so much for your time and assistance. I'm quite happy right now!
ejmarkow commentedon May 29, 2023
Hi,
The ES8336 audio driver and sound has been working nicely up until the following Linux kernel commit :
6.4.0-rc2-git-4927cb9
This followed the sound commit of:
Merge tag 'sound-6.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
However, after compiling and upgrading to Linux Kernel 6.4.0-rc3-git-49572d5 (link), the ES8336 audio driver is no longer detected and sound does not work. This broke after the following sound commit:
Merge tag 'sound-6.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
I realize, from what I have read, not much work is being done any longer to maintain sound driver ES8336. Despite this, would it be possible to at least salvage what was working in the last kernel commit I have shown? Something in between these two sound commits (only a matter of days) broke this sound driver.
Thanks, I appreciate any help.
plbossart commentedon May 30, 2023
@ejmarkow it's almost impossible to diagnose what a merge commit did.
It's likely a codec driver change. Try reverting one of those commits:
ejmarkow commentedon May 30, 2023
I'll do that, revert each listed commit individually. For commit
9abcd24002bf, I'll revert the es8316 portion of it, as that is the only relevant part of a large group of patches. Any suggestion as to which commit to revert first (the most likely possible fix)? Thank you!Please note, the dates of those commits, respectively, are:
2023-05-08
2023-04-20
2023-03-28
I'll post the result(s) when done.
ejmarkow commentedon May 30, 2023
I should mention, using the kernel [6.4.0-rc2-git-4927cb9] with es8336 working I get the following errors in dmesg, but audio is still working in this kernel despite those errors:
Full dmesg output is attached in dmesg.txt.
dmesg.txt
yangxiaohua2009 commentedon May 31, 2023
@ejmarkow I tested the lastest commit and everything works fine on my side.
6_4.log
The IPC error suggests that this is an Intel sof firmware error and not a codec driver/kernel source code error.
ejmarkow commentedon Jun 11, 2023
@yangxiaohua2009 Thank you for your information. What I did was, instead of reversing any commits, I patiently waited until near the end of 6.4.0-rc5 kernel since you stated rc4 was working, and compiled 6.4.0-rc5-git-022ce88, which is currently running.
Sound and the driver work again for this kernel, but does not for the previously mentioned rc3 kernel.
Sound works, the driver is detected, however, I'm still getting those errors in dmesg as I had shown for the rc2 kernel.
Sample:
Attached is the full dmesg output for this rc5 kernel. Thank you again.
dmesg.txt
yangxiaohua2009 commentedon Jun 13, 2023
@ejmarkow Again the dmesg
ipc tx errormeans there is something wrong with the intel firmware with HDA/HDMI controler and thus have no relationship with the codec. I recommand that you keep things as they are since the sound is now working. Or you may try upgrading intel sof firmware to remove the errors. Thanks.ejmarkow commentedon Jun 13, 2023
@yangxiaohua2009, regarding Intel SOF Firmware, my system has the latest package & version installed, v2.2.5. What more can I upgrade to?
According to this link, 2.2.5 is the latest, from May 12, 2023.