gnickm / sof-essx8336-debian-fix

Fixes to get ESSX8336 audio working for Intel Geminilake systems in Debian
Apache License 2.0
36 stars 6 forks source link

HELP:"sof-audio-pci-intel-icl 0000:00:1f.3: firmware: failed to load intel/sof-tplg/sof-jsl-es8336.tplg (-2)" #2

Open rocket049 opened 2 years ago

rocket049 commented 2 years ago

I am using ubuntu22.04. My laptop use intel N5100 and essx8336. Now I install the kernel 5.17.6 and the essx6336 driver from this page.

But my sound card still can't work.

The content in /proc/asound/cards is "--- no soundcards ---".

Message in /var/log/kern.log is "sof-audio-pci-intel-icl 0000:00:1f.3: firmware: failed to load intel/sof-tplg/sof-jsl-es8336.tplg (-2)".

I feel the kernel log message is important.

But I know nothing about sof.

Please Help me!

gnickm commented 2 years ago

Correct, that's the key line in kern.log. Firmware is still not loading properly, which is installed with the ./setup-sof.sh script. Run that again and see if there are any errors in the output.

I should also add that although theoretically this fix should work in Ubuntu, I have done zero testing on anything but vanilla Debian. Your mileage may vary.

rocket049 commented 2 years ago

There is no sof-jsl-es8336.tplg in the package. I tried to copy sof-apl-es8336.tplg to sof-jsl-es8336.tplg. The sound card still can't work correct (no sound). But my /proc/asound/cards show some messages:

"0 [sofessx8336    ]: sof-essx8336 - sof-essx8336
                      IPASON-IPASONSmartBookP2-Defaultstring-IPASON_SJ118M"

The new kern.log message is like follow:

Jun 18 10:36:14 fuhz-ipason kernel: [    6.059276] sof-essx8336 sof-essx8336: quirk mask 0x2
Jun 18 10:36:14 fuhz-ipason kernel: [    6.059285] sof-essx8336 sof-essx8336: quirk SSP2
Jun 18 10:36:14 fuhz-ipason kernel: [    6.061808] sof-audio-pci-intel-icl 0000:00:1f.3: firmware: direct-loading firmware intel/sof-tplg/sof-jsl-es8336.tplg
Jun 18 10:36:14 fuhz-ipason kernel: [    6.062037] sof-essx8336 sof-essx8336: ASoC: Parent card not yet available, widget card binding deferred
Jun 18 10:36:14 fuhz-ipason kernel: [    6.073407] es8316 i2c-ESSX8336:00: assuming static mclk
Jun 18 10:36:14 fuhz-ipason kernel: [    6.129356] sof-essx8336 sof-essx8336: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
Jun 18 10:36:14 fuhz-ipason kernel: [    6.129362] sof-essx8336 sof-essx8336: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 4
Jun 18 10:36:14 fuhz-ipason kernel: [    6.146766] input: sof-essx8336 Headset as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input15
Jun 18 10:36:14 fuhz-ipason kernel: [    6.146837] input: sof-essx8336 HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input16
Jun 18 10:36:14 fuhz-ipason kernel: [    6.146906] input: sof-essx8336 HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input17
Jun 18 10:36:14 fuhz-ipason kernel: [    6.146960] input: sof-essx8336 HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof-essx8336/sound/card0/input18

There is some errors:

gnickm commented 2 years ago

sof-essx8336 sof-essx8336: ASoC: Parent card not yet available, widget card binding deferred

Unfortunately this means that the sof firmware doesn't support your particular chipset yet. I know that for my hardware the official sof firmware didn't work for me, I had to use some of the custom firmware from https://github.com/yangxiaohua2009/custom-kernel to get it to work. I got the impression that this repo was run by the particular card manufacturer, so they had insight into making the card work.

Watch the official sof repos, once they do a release, try it again and see if your card gets supported.

rocket049 commented 2 years ago

Thank you! Unfortunately, I had tried that before, and still can not make it work correct.

gnickm commented 2 years ago

@rocket049 Take a look at issue #1 looks like you might be able to get this working using the kernel here then using firmware-sof-signed 2.1.1. Seems like the sof binaries I'm using might be specific to my hardware and the packaged ones might work better on some hardware.

rocket049 commented 2 years ago

I have solved the problem yestoday under the guidance of yangxiaohua2009@github.com, in issue: https://github.com/yangxiaohua2009/custom-kernel/issues/8.

Thank you very much.

It not only need firmware-sof-signed 2.1.1. The kernel module snd_soc_sof_8336 of kernel 5.17 contains mistake option. We need do 2 things additional.