Repository navigation
[BUG] Cannot load firmware on HP Spectre x360 #2181
Copy link
Copy link
Closed
Labels
bugSomething isn't working as expectedSomething isn't working as expected
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't working as expectedSomething isn't working as expected
Activity
bin101 commentedon Dec 8, 2019
As far as I understood the sof and hda modules cannot be loaded simultaneous.
Tray blacklisting the hda modules:
/etc/modprobe.d/blacklist.confMayurVirkar commentedon Dec 9, 2019
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.
xiulipan commentedon Dec 9, 2019
@MayurVirkar can you check do you have the tplp files in you folder
/lib/firmware/intel/sof-tplg/sof-hda-generic-2ch.tplg?MayurVirkar commentedon Dec 9, 2019
@xiulipan Why did I start with that? :(
You are right, I don't have those files. I have
xxxbxxx commentedon Dec 9, 2019
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 probea 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)
plbossart commentedon Dec 9, 2019
@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.
xxxbxxx commentedon Dec 9, 2019
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-pciwhich 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...
plbossart commentedon Dec 9, 2019
the module used to be call sof-pci-dev, it was renamed upstream
xxxbxxx commentedon Dec 9, 2019
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:
bin101 commentedon Dec 9, 2019
sof-audio-pci 0000:00:1f.3: error: invalid kcontrol count 2 for volumeyou need at least kernel 5.5-rc1
plbossart commentedon Dec 9, 2019
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?
xxxbxxx commentedon Dec 9, 2019
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.
any idea where I can find the correct matching firmware?
plbossart commentedon Dec 9, 2019
It's not the firmware binary but the topology binary you need. @juimonen may be able to help here.
xxxbxxx commentedon Dec 9, 2019
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!
15 remaining items
MayurVirkar commentedon Feb 4, 2020
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?
plbossart commentedon Feb 4, 2020
@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.
MayurVirkar commentedon Feb 12, 2020
Same result with both.
Only 2 speakers out of four work..
MayurVirkar commentedon Feb 21, 2020
How can I debug it further?
lgirdwood commentedon Feb 24, 2020
@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 ?
xxxbxxx commentedon Feb 24, 2020
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.
lgirdwood commentedon Feb 26, 2020
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.
kv2019i commentedon Feb 27, 2020
@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).
lgirdwood commentedon Feb 27, 2020
We can reopen if needed.
MayurVirkar commentedon Mar 3, 2020
Hi,
The issue is back.. No microphone detected
I am on kernel 5.6.0-rc4-1, everything works fine on kernel 5.5.*..
kv2019i commentedon Mar 3, 2020
@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:
This is harmless. There's a patch going to upstream that suppresses this trace print as it is misleading.
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.
lgirdwood commentedon Mar 3, 2020
@MayurVirkar probably best we create a new issue with full dmesg and alsa-info for the microphone.
plbossart commentedon Mar 3, 2020
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
MayurVirkar commentedon Mar 6, 2020
Done :)
https://github.com/thesofproject/sof/issues/2496