Skip to content

[BUG] Cannot load firmware on Lenovo Yoga C940 with cpu IceLake i7-1065G7 #2134

Closed

Description

@perexg

The user cannot load signed firmware v1.3:

[    4.286091] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    4.286213] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    4.286225] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.286412] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    4.286418] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    4.286546] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    4.286737] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.290985] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    4.290986] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    5.328957] sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
[    5.331010] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    5.331014] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[    8.399958] sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[    8.400470] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
[    8.400490] sof-audio-pci 0000:00:1f.3: error: status = 0x0000002c panic = 0x00000000
[    8.400496] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
[    8.400497] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
[    8.400498] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110

00:1f.3 Multimedia audio controller: Intel Corporation Device 34c8 (rev 30)
	Subsystem: Lenovo Device 382e

https://bugzilla.redhat.com/show_bug.cgi?id=1772498

Activity

  1. added
    bugSomething isn't working as expected
    on Nov 24, 2019
  2. pfps commented on Nov 25, 2019

    @pfps

    I'm the original user for this bug. What can be done to diagnose the problem?

  3. perexg commented on Nov 25, 2019

    @perexg
    Author

    @pfps: We have finally new firmware from Intel. Please, wait few hours (or to tomorrow). I'm updating Fedora packages right now.

  4. added
    BootFirmware boot or code signing related.
    P1Blocker bugs or important features
    on Nov 26, 2019
  5. joshk0 commented on Dec 10, 2019

    @joshk0

    I'm experiencing a similar issue. Please let me know if I should file a separate bug.

    $ dmesg | grep sof-audio-pci
    [   28.997977] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
    [   28.997980] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
    [   28.998098] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    [   29.002307] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [   29.006849] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
    [   29.006850] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
    [   29.034759] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
    [   29.034761] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
    [   32.101032] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
    [   32.101047] sof-audio-pci 0000:00:1f.3: error: status = 0x0000002c panic = 0x00000000
    [   32.101051] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
    [   32.101052] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
    [   32.101053] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110
    

    I am running Ubuntu 19.10 Eoan on 5.3.0-24-generic. Hardware is a Lenovo X1 Carbon 7th Gen. The sound card is as follows (It's different from that of the OP but the error seems very similar)

    00:1f.3 Audio device: Intel Corporation Device 02c8 (prog-if 80)
    	Subsystem: Lenovo Device 2292
    	Flags: bus master, fast devsel, latency 64, IRQ 177
    	Memory at ea23c000 (64-bit, non-prefetchable) [size=16K]
    	Memory at ea000000 (64-bit, non-prefetchable) [size=1M]
    	Capabilities: <access denied>
    	Kernel driver in use: sof-audio-pci
    	Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev
    

    I can provide more hardware info on request. Thank you!

  6. pfps commented on Dec 10, 2019

    @pfps

    The most recent versions load for me, but I haven't had a chance to put everything through its paces because of other issues. You need special kernels and not-yet-generally-released versions of firmware, alsa, and pulseaudio, though. Ubuntu tends to lag quite a bit behind the bleeding-edge versions of software so it may be a while until everything is picked up there.

    The X1 V7 is different from the Yoga C940 and may be better supported.

  7. joshk0 commented on Dec 10, 2019

    @joshk0

    Yeah, worse yet i seem to have a different build of the V7. Most people with V7s have this sound card (8086:9dc8 instead of 8086:02c8) and it seems like Ubuntu 19.10 does work with those, but 02c8 seems to be slightly different.

  8. plbossart commented on Dec 10, 2019

    @plbossart
    Member

    02c8 == CometLake LP
    9dc8 == CannonLake

    @joshk0 which firmware version were you trying to use?

    @lbetlej FYI

  9. joshk0 commented on Dec 13, 2019

    @joshk0

    Hi, thanks for your answer. I tried using the 1.3 signed one. I wasn't sure if i could go to the very latest one on the kernel version that I'm on (5.3.0-24-generic in Ubuntu); can i?

    Also, can you confirm my mental model that I'm not even getting to the point where the topology files are a factor? As long as I'm overwriting /lib/firmware/intel/sof/sof-cnl.ri with whatever i'm trying to use, that should be getting picked up when the kernel module loads, right?

    BTW -- if i try to rmmod and modprobe again, it causes a kernel BUG (i'm not on that computer now and can't paste it), not sure if that matters. LMK!

  10. kv2019i commented on Dec 13, 2019

    @kv2019i
    Collaborator

    @joshk0 @pfps There are multiple issues in the logs. First HDMI codec initializing fails
    [ 5.328957] sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
    ... and then FW load fails:
    [ 32.101032] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110

    I may have idea how to solve #1. A fix in i915 driver is needed on some ICL platforms (0x34C8, sof-icl.ri). The patches were now included in v.5.5-rc1. The patches are these:
    drm/i915: save AUD_FREQ_CNTRL state at audio domain suspend
    drm/i915: Fix audio power up sequence for gen10+ display
    drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms

    In latest sound master, we've also added a feature to pass "codec_mask" parameter to snd_sof_intel_hda_common (e.g. with codec_mask=1 you can ignore the HDMI codec and probe should pass). Unfortunately this not in v5.5-rc1 and earlier and is only very recently merged to sound master.

    For the other issue of FW loading, it seems that at least for some people the issue is solved. @perexg as the original submitted, is the issue on C940 now solved?

  11. kv2019i commented on Dec 13, 2019

    @kv2019i
    Collaborator

    @joshk0 wrote:

    I'm experiencing a similar issue. Please let me know if I should file a separate bug.

    I think so yes. Your device has a different generation audio-DSP (0x02c8 -> cAVS1.8 -> sof-cnl.ri, see:
    https://thesofproject.github.io/latest/platforms/intel-cavs/index.html ), so the issue potentially different than what is seen on IceLake (0x34c8, sof-icl.ri).

    Hi, thanks for your answer. I tried using the 1.3 signed one. I wasn't sure if i could go to the very latest one on the kernel version that I'm on (5.3.0-24-generic in Ubuntu); can i?

    In general we have backwards compability for minor-version changes in ABI. The old-kernel new-fw combo is in practise less tested, so some issues may be seen. UPDATE: at least one known issue is this #2181 -> "sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume").

    Also, can you confirm my mental model that I'm not even getting to the point where the topology > files are a factor? As long as I'm overwriting /lib/firmware/intel/sof/sof-cnl.ri with whatever i'm trying

    It is highly recommended to use topology files that match the FW release (both topology files and FW are versioned). So you if change sof-cnl.ri, you should take topology files from same release. There's ongoing work to improve how topology files are distributed, see e.g. #2200

    BTW -- if i try to rmmod and modprobe again, it causes a kernel BUG (i'm not on that computer now and can't paste it), not sure if that matters. LMK!

    That should work and the test is covered by SOF CI, so it if happens with latest upstream kernel, a separate bug should be filed for this as well.

  12. joshk0 commented on Dec 15, 2019

    @joshk0

    Update: The latest sof-cnl.ri file works with the original 5.3.0-24-generic kernel so I won't file an issue. BTW, I also tried that on 5.5-rc1, which now wants sof-cml.ri. On that kernel version, I got it to work by symlinking sof-cnl.ri to sof-cml.ri. Could that be because of https://patchwork.kernel.org/patch/11262555/ ? I find it strange that this is the only place on the internet which mentions that filename.

  13. perexg commented on Dec 15, 2019

    @perexg
    Author

    I believe that Intel should release signed sof-cml.ri, too. The changes are probably queued to 5.6 kernel - https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/log/?h=for-5.6 .

  14. kv2019i commented on Dec 17, 2019

    @kv2019i
    Collaborator

    @joshk0 wrote:

    Update: The latest sof-cnl.ri file works with the original 5.3.0-24-generic kernel so I won't file an issue.

    Ok, good!

    BTW, I also tried that on 5.5-rc1, which now wants sof-cml.ri. On that kernel version, I got it to work by symlinking sof-cnl.ri to sof-cml.ri. Could that be because of https://patchwork.kernel.org/patch/11262555/ ? I find it strange that this is the only place on the internet which mentions that filename.

    Yes, this is very recent change (in upstream the main patch is "ASoC: Intel: acpi-match: split CNL tables in three", part of 5.5-rc1 already). Matching FW release has not been made, but it will be included (FYI @lgirdwood and @xiulipan )

  15. 19 remaining items

  16. kv2019i commented on Feb 11, 2020

    @kv2019i
    Collaborator

    @lgirdwood @perexg Can we close this now?

  17. lgirdwood commented on Feb 11, 2020

    @lgirdwood
    Member

    @kv2019i I think so. It can be re-opened if needed.

  18. plbossart commented on Feb 19, 2020

    @plbossart
    Member

    [ 3.295725] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
    [ 3.386039] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-icl.ri failed with error -2
    [ 3.386043] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-icl.ri failed err: -2
    [ 3.386044] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
    [ 3.386477] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

    This looks like you don't have any firmware installed on your device?

    can you do a

    ls -l /lib/firmware/intel/sof*

    and paste the results?

  19. buzuddha commented on Jun 4, 2020

    @buzuddha

    I'm having issues here too. I'm new to arch. As of now I have the left speaker (weak at max volume) and the mic appears to work. See attached for how far I've gotten.

    I'd be very grateful for any guidance. Thanks for your time and consideration!

    Yoga C940 CannonLake i7-9750H
    sof-troubleshoot.txt

  20. danielcherubini commented on Jun 4, 2020

    @danielcherubini
  21. buzuddha commented on Jun 4, 2020

    @buzuddha

    So as far as I can tell I've done what is described in the wiki.

    1. installed sof-firmware using pacman
    2. blacklisted snd_hda_intel and snd_soc_skl
    3. added the lines to load alsa modules
  22. paulmenzel commented on Jun 4, 2020

    @paulmenzel

    @buzuddha, this issue is closed, and your issues is probably something else. Please create a new issue.

  23. aleksfadini commented on Jun 21, 2020

    @aleksfadini

    So as far as I can tell I've done what is described in the wiki.

    1. installed sof-firmware using pacman
    2. blacklisted snd_hda_intel and snd_soc_skl
    3. added the lines to load alsa modules

    I'm having the same issues, with the Cannonlake C940. Could it have to do with our version of the C940 that is different?

  24. aleksfadini commented on Jun 21, 2020

    @aleksfadini

    @buzuddha, this issue is closed, and your issues is probably something else. Please create a new issue.

    I am another user having the same issue, I think our Lenovo Yoga c940 being the CannonLake version might have different hardware.
    I opened this issue
    thesofproject/linux#2020 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BootFirmware boot or code signing related.ICLApplies to IceLake platformP1Blocker bugs or important featuresbugSomething isn't working as expectedstatus = 0x0000002cboot status

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions