Skip to content

[BUG] Cannot load firmware on HP Spectre x360  #2181

Closed

Description

@MayurVirkar

Describe the bug
Cannot load firmware for Linux kernel version 5.4.. Everything works fine for version 5.3..
As a result, speakers + mic don't work.

To Reproduce
Upgrade kernel to 5.4.*

Reproduction Rate
10/10

Expected behavior
The firmware to be loaded and everything to work fine.

Impact
Showstopper: Laptop is basically useless as I cannot make and receive calls or watch videos. etc

Environment
All versions of Linux 5.4.*
I havent compiled anything. I download the kernel using Ukuu.

Screenshots or console output

[    2.822759] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    2.824409] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, aborting probe
[    2.948148] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    2.948154] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    2.948277] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    2.954754] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    2.963552] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    2.963553] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    2.985657] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    2.985659] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[    2.993500] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3
[    3.068340] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-6cc8d
[    3.068342] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:7:0 Kernel ABI 3:10:0
[    3.068566] sof-audio-pci 0000:00:1f.3: firmware boot complete
[    3.073361] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp1
[    3.073364] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp2
[    3.073365] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp3
[    3.073367] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Analog Playback and Capture
[    3.073368] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Digital Playback and Capture
[    3.073370] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic01
[    3.073372] skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic16k
[    3.073655] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof-tplg/sof-hda-generic-2ch.tplg failed with error -2
[    3.073658] sof-audio-pci 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-hda-generic-2ch.tplg failed err: -2
[    3.073704] sof-audio-pci 0000:00:1f.3: error: failed to load DSP topology -2
[    3.073731] sof-audio-pci 0000:00:1f.3: ASoC: failed to probe component -2
[    3.073780] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to instantiate card -2
[    3.073836] skl_hda_dsp_generic: probe of skl_hda_dsp_generic failed with error -2

Activity

  1. added
    bugSomething isn't working as expected
    on Dec 8, 2019
  2. bin101 commented on Dec 8, 2019

    @bin101

    As far as I understood the sof and hda modules cannot be loaded simultaneous.
    Tray blacklisting the hda modules:

    /etc/modprobe.d/blacklist.conf

    blacklist snd_hda_intel
    blacklist snd_soc_skl
    
  3. MayurVirkar commented on Dec 9, 2019

    @MayurVirkar
    Author

    Thank you for your response.
    I don't think that's the issue here but gave it a try anyway and no luck.
    From what I understand is its either not able to identify my hardware properly or the drivers are not loaded maybe due to some signature issue. BUT I leave it to the experts.

  4. xiulipan commented on Dec 9, 2019

    @xiulipan
    Contributor

    @MayurVirkar can you check do you have the tplp files in you folder /lib/firmware/intel/sof-tplg/sof-hda-generic-2ch.tplg?

    [    3.073655] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof-tplg/sof-hda-generic-2ch.tplg failed with error -2
    [    3.073658] sof-audio-pci 0000:00:1f.3: error: tplg request firmware intel/sof-tplg/sof-hda-generic-2ch.tplg failed err: -2
    
  5. MayurVirkar commented on Dec 9, 2019

    @MayurVirkar
    Author

    @xiulipan Why did I start with that? :(
    You are right, I don't have those files. I have

    sof-hda-generic.tplg
    
  6. xxxbxxx commented on Dec 9, 2019

    @xxxbxxx

    hi!
    comparing a boot log from 5.4 and 5.3, I noticed a new line:
    kernel: snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, aborting probe

    a search brought me here, and to that commit:
    https://patchwork.kernel.org/patch/11050465/

    so maybe the issue is that snd_hda_intel disables itselfs and expect some other module to take over?

    nb: I have a spectre x360, but I am not using sof (that I'm aware of)

  7. plbossart commented on Dec 9, 2019

    @plbossart
    Member

    @xxxbxxx did the microphone path work with 5.3 with snd_hda_intel?
    We added a dynamic detection of the DMIC (Digital Microphones) not handled by snd_hda_intel, so either the information is incorrect and snd_hda_intel should be used, or snd_hda_intel never fully worked for the capture path and you do need to move to the use of snd-sof-pci.

  8. xxxbxxx commented on Dec 9, 2019

    @xxxbxxx

    @xxxbxxx did the microphone path work with 5.3 with snd_hda_intel?

    I downgraded back to 5.3 to double check, and indeed no audio input device are detected. (which I never use, so I didn't really pay attention before..)

    I also tried tried to modprobe snd-sof-pci which loads the module successfully (in 5.4, doesn't exist in 5.3 - vanilla arch linux)
    but nothing happens, no log in dmesg or anything.
    I guess I'll have to look deeper into this...

  9. plbossart commented on Dec 9, 2019

    @plbossart
    Member

    I also tried tried to modprobe snd-sof-pci which loads the module successfully (in 5.4, doesn't exist in 5.3 - vanilla arch linux)

    the module used to be call sof-pci-dev, it was renamed upstream

  10. xxxbxxx commented on Dec 9, 2019

    @xxxbxxx

    So...
    of course nothing happens when I run modprobe, the module was already loaded during the boot process.

    It didn't find the firmware, which indeed wasn't on the disk. Turns out (on arch-linux at least) it isn't in the core/linux-firmware package.
    So I installed it from the sof-firmware package. see https://www.archlinux.org/packages/extra/any/sof-firmware/files/
    And now the module finds it!

    ... Unfortunately, still doesn't work:

    sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
    sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
    sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
    sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
    sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
    sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
    sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
    sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:10:0
    sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
    sof-audio-pci 0000:00:1f.3: firmware boot complete
    sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:10:0
    sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
    sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
    sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume
    sof-audio-pci 0000:00:1f.3: error: DSP failed to add widget id 0 type 6 name : Dmic0 stream none reply 0
    sof-audio-pci 0000:00:1f.3: ASoC: failed to load widget Dmic0
    sof-audio-pci 0000:00:1f.3: error: tplg component load failed -22
    sof-audio-pci 0000:00:1f.3: error: failed to load DSP topology -22
    sof-audio-pci 0000:00:1f.3: ASoC: failed to probe component -22
    
  11. bin101 commented on Dec 9, 2019

    @bin101

    sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume

    you need at least kernel 5.5-rc1

  12. plbossart commented on Dec 9, 2019

    @plbossart
    Member

    sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volume

    you are using a kernel that's older than the topology files.

    That said, it's just awful for users to have to track topology changes. @juimonen @ranj063 should we just ignore the second control in that case instead of throwing an error?

  13. xxxbxxx commented on Dec 9, 2019

    @xxxbxxx

    ok.
    so I tried to get a older version of the firmware:
    ftp://ftp.alsa-project.org/pub/misc/sof/sof-firmware-1.3.1.tar.bz2
    But i still get the same error.

    sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-5dd9a
    sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:7:0 Kernel ABI 3:10:0
    ...
    sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:10:0
    ....
    

    any idea where I can find the correct matching firmware?

  14. plbossart commented on Dec 9, 2019

    @plbossart
    Member

    any idea where I can find the correct matching firmware?

    It's not the firmware binary but the topology binary you need. @juimonen may be able to help here.

  15. xxxbxxx commented on Dec 9, 2019

    @xxxbxxx

    oh! that's it!
    so using the firmware from the archlinux package (which is just:
    ftp://ftp.alsa-project.org/pub/misc/sof/sof-firmware-1.4.1.tar.bz2 )

    and overwritting the topology files from
    ftp://ftp.alsa-project.org/pub/misc/sof/sof-firmware-1.3.1.tar.bz2
    (folder usr/lib/firmware/intel/sof-tplg/ )

    works!

  16. 15 remaining items

  17. MayurVirkar commented on Feb 4, 2020

    @MayurVirkar
    Author

    Hello guys,
    Sorry for the long silence.
    So update from my side, now I am on Manjaro with Linux 5.5.0-1-mainline.
    I got to all the original issue discussed here is resolved, but mic works fine, the speakers work fine.
    But only 2 out of four speakers work. Top ones they dont work, bottom ones do.

    Anyway to fix this issue?

  18. plbossart commented on Feb 4, 2020

    @plbossart
    Member

    @MayurVirkar the speakers should be handled by the Hdaudio codec.
    Can you try to use
    blacklist snd-sof-pci

    and see if the legacy snd-hda-intel driver loads?

    I suspect a platform configuration issue, not something related to processing by the SOF firmware.

  19. MayurVirkar commented on Feb 12, 2020

    @MayurVirkar
    Author

    Same result with both.
    Only 2 speakers out of four work..

  20. MayurVirkar commented on Feb 21, 2020

    @MayurVirkar
    Author

    How can I debug it further?

  21. lgirdwood commented on Feb 24, 2020

    @lgirdwood
    Member

    @MayurVirkar I guess you have also tried to open alsamixer and tried to manually adjust the codec settings ? It could be the defaults have some speakers muted ?

  22. xxxbxxx commented on Feb 24, 2020

    @xxxbxxx

    hi,

    not directly related, but to track the issue bubbling up the stack:

    On archlinux, there was an upgrade to the recently released alsa.
    which broke the playback with an error in the log:
    pulseaudio: UCM file does not specify 'PlaybackChannels' ...

    The fix was to compile a pulseaudio package from the git master.

  23. lgirdwood commented on Feb 26, 2020

    @lgirdwood
    Member

    Thanks @xxxbxxx , there are some updates from UCM and Pulseaudio from @juimonen that are being or have been upstreamed and some kernel patches too. I guess this will all stabilise as the distros update.

  24. kv2019i commented on Feb 27, 2020

    @kv2019i
    Collaborator

    @MayurVirkar @lgirdwood As the original issue (firmware loading) is now solve, maybe time to close this. Ok?

    @MayurVirkar I understand the 4-speaker problem remains, but as that happens with the legacy HDA driver as well, this seems like a codec driver/mixer-setting issue not related to SOF, so this is better handled via ALSA bugzilla and list (codec driver maintainers do not watch this github).

  25. lgirdwood commented on Feb 27, 2020

    @lgirdwood
    Member

    We can reopen if needed.

  26. MayurVirkar commented on Mar 3, 2020

    @MayurVirkar
    Author

    Hi,
    The issue is back.. No microphone detected
    I am on kernel 5.6.0-rc4-1, everything works fine on kernel 5.5.*..

    [    3.429070] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
    [    3.430402] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
    [    3.430415] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
    [    3.430643] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
    [    3.430804] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
    [    3.435788] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
    [    3.564453] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
    [    3.564456] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
    [    3.567505] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
    [    3.567508] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
    [    3.654604] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:4:2-66a5a
    [    3.654613] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:12:0
    [    3.654877] sof-audio-pci 0000:00:1f.3: firmware boot complete
    [    3.669658] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:12:0
    [    3.669666] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
    [    3.670475] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
    [    3.670480] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
    [    3.671299] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
    [    3.671303] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
    [    3.672094] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
    [    3.672097] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
    [    3.672866] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
    [    3.672869] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
    [    3.672870] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
    [    3.672872] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
    [    3.672873] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
    [    3.672875] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
    [    3.673624] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
    [    3.673625] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
    [    3.674378] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
    [    3.674379] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
    [    3.675187] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
    [    3.682300] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
    [    3.752004] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27
    [    3.752377] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input28
    [    3.752497] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input29
    [    3.752708] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input30
    [    3.752874] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input31
    **[   12.407109] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0**
    [   12.492549] sof-audio-pci 0000:00:1f.3: firmware boot complete
    
  27. kv2019i commented on Mar 3, 2020

    @kv2019i
    Collaborator

    @MayurVirkar D'oh, sorry to hear that. Can you post full dmesg and if possible, also output of "alsa-info"? I'm asking this as the above log does not show any fatal errors:

    [ 12.407109] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0**

    This is harmless. There's a patch going to upstream that suppresses this trace print as it is misleading.

    [ 12.492549] sof-audio-pci 0000:00:1f.3: firmware boot complete

    This means the firmware has loaded, so the at least this is not a new case of the original
    problem you have.

    ... so the problem is elsewhere.

  28. lgirdwood commented on Mar 3, 2020

    @lgirdwood
    Member

    @MayurVirkar probably best we create a new issue with full dmesg and alsa-info for the microphone.

  29. plbossart commented on Mar 3, 2020

    @plbossart
    Member

    @MayurVirkar probably best we create a new issue with full dmesg and alsa-info for the microphone.

    right, I've seen other reports that the dmic is not detected so we'd want to track this with a different issue. This no longer a firmware load issue

  30. MayurVirkar commented on Mar 6, 2020

    @MayurVirkar
    Author
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

    bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions