-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] [CNL] Firmware load fails on 5.4 mainline kernel #1885
Comments
@tokyovigilante did you mean that you compiled the firmware yourself with GCC and using the community key? If yes, I don't think this can work. You'd have to use the 1.3 firmware signed with the Intel production key. |
Thanks for the reply. That's correct, I just followed the build instructions. Is that signing process available to end users? |
Unfortunately no. The OEM decides which keys are used. You can only sign your own firmware on 'open' platforms such as Up2 boards or Chromebooks based on GeminiLake or newer. Also the issue is unlikely to be due to the firmware. The firmware only provides stereo to the HDaudio codec, and I would guess the split between tweeter/woofer is handled in the amplifier stages - outside of the chipset and it may be a codec configuration issue. One way to test this hypothesis would be to use the legacy driver - by blacklisting snd-sof-pci and testing with the snd-hda-intel driver if the sound levels are acceptable. Disclaimer: playing with your hardware and sound levels may result in damaged speakers, use at your own risk, etc. Also the legacy driver will not support the capture over DMIC, so this is only to check the codec behavior. |
Thanks for the clarification. That is a little disappointing, as it does detract from the open nature of the project if I'm unable to use it outside an OEM-provided build. Lenovo has provided one for the 5.3 kernel to be fair though. However on rebooting to the current 5.3 release kernel provided by Fedora (Linux firebert 5.3.1-300.fc31.x86_64 #1 SMP Tue Sep 24 21:00:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux) without replacing my custom built firmware, the sound driver and firmware seem to be loaded fine and the sound does work as below:
I'll try your suggestions regarding the legacy HDA driver and possibly chase up the findings with lenovo. |
On further review it seems you are correct and only signed firmware is able to be loaded on my ThinkPad. I have reverted to the signed 1.3 firmware and topology, but this is not compatible with the current sof-dev kernel branch (with the recent 5.4 rc1 merge) as follows: dmesg output:
Neither ALSA nor Pulseaudio detect the hardware. I assume this is due to incompatibilities with the SOF firmware v1.3 and the 5.4 kernel changes. Going forward, would it be possible to host signed builds of RC versions (or better nightlies) of the firmware for the various desktop/laptop platforms? |
yes we have plans to provide signed releases. I am not sure we can do signed nightly builds due to logistics, @lgirdwood would need to comment. The problem you have is a bug on our side, we should be backwards compatible with the 1.3 firmware and topology even when updating the kernel. @ranj063 @kv2019i does the dmesg trace above ring a bell? @xiulipan @wenqingfu as discussed we need to have a kernel CI test against 1.3 firmware and topology to catch problems with non-backwards compatible issues before they are reported by users. |
Thanks again for the reply, that's good to know releases will be ongoing. I should mention the above dmesg trace is after symlinking from dmesg output:
|
I think you have a config issue for your kernel, most likely you didn't select HDAudio support. please make sure you have this enabled. |
I reviewed my config and those opions were indeed not present, however I could not find them even after running However I am still unable to load the 1.3 firmware/topology: dmesg:
|
did you remove the symlink? It seems you are still using the nocodec mode? |
That's with the symlink removed, the only 1.3 topology file Lenovo is currently providing is
I appreciate none of these are likely to be supported configurations, but it would be nice to be able to run a 5.4 or devel kernel with the existing 1.3 firmware/topology. Thanks again for the attention. |
@plbossart @mengdonglin |
@xiulipan it'd be good if you can test integration/soundwire-latest with the SoundWire options enabled on older platforms w/o SoundWire, just to check if things work without any impact from the added SoundWire initializations/parsing. |
I'm hitting a similar looking problem on Ubuntu 19.10 (and also on a Lenovo X1 7th gen) using the Ubuntu kernel 5.3.0-18-generic. When checking its config it reports this:
I'm also getting this error where it loads the nocodec machine driver:
Would this be an issue with this particular kernel config, and we need to talk to the Ubuntu devs to enable the other options? Or is there something else going on? Sorry for semi-hijacking this issue. But I thought them to be closely related to each other. |
@PaulVanSchayck can you attach the config? I wonder why nocodec is even selected. |
@plbossart Here you go. Once again, this is the stock Ubuntu kernel for 19.10, built by Canonical. |
ok, no idea why Ubuntu enabled 'nocodec'.
These two options should be removed really: That said, this doesn't explain why an HDaudio card is not detected. I'll try with the Ubuntu kernel from git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan with this config. |
ok, this is definitively an Ubuntu issue. The config should be modified with the following diffs 6656c6656
< # CONFIG_SND_SOC_INTEL_SKYLAKE is not set
---
> CONFIG_SND_SOC_INTEL_SKYLAKE=m
6661,6664c6661,6664
< # CONFIG_SND_SOC_INTEL_CNL is not set
< # CONFIG_SND_SOC_INTEL_CFL is not set
< # CONFIG_SND_SOC_INTEL_CML_H is not set
< # CONFIG_SND_SOC_INTEL_CML_LP is not set
---
> CONFIG_SND_SOC_INTEL_CNL=m
> CONFIG_SND_SOC_INTEL_CFL=m
> CONFIG_SND_SOC_INTEL_CML_H=m
> CONFIG_SND_SOC_INTEL_CML_LP=m
6667c6667
< # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
---
> CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
6702c6702,6703
< # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
---
> CONFIG_SND_SOC_SOF_NOCODEC=m
> CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT=y
6706d6706
< CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
6734,6735d6733
< CONFIG_SND_SOC_SOF_HDA_LINK=y
< CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
6737d6734
< CONFIG_SND_SOC_SOF_HDA=m full file here: |
It turns out this was the issue for me too sorry, I had the HD audio codec enabled but also the nocodec option, disabling this allows the 1.3 firmware/topology to work with kernel 5.4 and my existing pulseaudio config/ALSA UCM. Sorry about that! |
Thanks for the help and double checks Pierre. After searching the Ubuntu Kernel tracker, turned out this was already self-reported by the Ubuntu developers a couple of days a go in this bug report on launchpad. |
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart can we close this now with your latest commits being merged ? |
Firmware load working well for me now with the kernel configs mentioned in the thread. |
Closing. Thanks @tokyovigilante and @PaulVanSchayck for your help, we appreciate feedback from the community. |
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> (cherry picked from commit 70ae4eb) Bugzilla: 1750194
…ify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> (cherry picked from commit 70ae4eb) Bugzilla: 1772498
…ions, clarify help Some distros select all possible options, despite existing warnings to be careful. This leads to e.g. user reports that the HDaudio codec and DMIC are not handled by SOF. Add an explicit menu item to unlock developer options, and make them dependent on CONFIG_EXPERT. Hopefully with this double-lock these options will only be selected by developers. GitHub issue: thesofproject/sof#1885 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit 70ae4eb) Signed-off-by: Chintan Patel <chintan.m.patel@intel.com> BUG=b:147436144 TEST=Audio playback via Speaker, Headphone and HDMI/DP Change-Id: I4392b8f895f92b275dcb808abb39895cf5d8d4bd Signed-off-by: Curtis Malainey <cujomalainey@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2029749 Reviewed-by: Sean Paul <seanpaul@chromium.org>
Describe the bug
HW - Lenovo X1 Yoga G4 (i7-8665U with Cannon Lake Audio), Fedora 31 beta.
I've built a 5.4/mainline kernel (commit da05b5e) with the 5.4 ALSA/sound fixes merged, and SOF from master (commit 913644b). I get the kernel log:
I realise this may be an unsupported configuration, however the 5.3 SOF code and firmware provided by Lenovo (somewhat unofficially) at https://forums.lenovo.com/t5/Ubuntu/Guide-X1-Carbon-7th-Generation-Ubuntu-compatability/m-p/4503771#M2849 does work, although with very low volume from the rear speakers (Laptop has two woofers and two tweeters) which I am hoping will improve with newer firmware.
To Reproduce
Install mainline kernel and SOF firmware/topolgy from head. Attempt to boot kernel and use sound.
Reproduction Rate
100%
Expected behavior
Successful firmware load with working sound output.
Impact
Annoyance unless it's movie night, then showstopper.
Environment
The text was updated successfully, but these errors were encountered: