Repository navigation
Description
HP Zbook 17 G6, Realtek ALC285 + DMIC, i7-9850H
When trying to use sof audio I get:
$ dmesg | grep sof
[ 3.434290] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 3.434291] software IO TLB: mapped [mem 0x912b1000-0x952b1000] (64MB)
[ 5.379159] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.379161] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.379168] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.379285] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 5.379314] sof-audio-pci 0000:00:1f.3: init of i915 and HDMI codec failed
[ 5.381439] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[ 5.390891] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 1
[ 5.390892] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.390895] sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 4
[ 6.295941] sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[ 6.295968] sof-audio-pci 0000:00:1f.3: error: status = 0x00000000 panic = 0x00000000
[ 6.296018] sof-audio-pci 0000:00:1f.3: error: extended rom status: 0x6000021 0x0 0x0 0x0 0x0 0x0 0x183011b 0x0
[ 6.296195] sof-audio-pci 0000:00:1f.3: error: dsp init failed after 3 attempts with err: -110
[ 6.296236] sof-audio-pci 0000:00:1f.3: ROM error=0xffffffff: FW status=0xffffffff
[ 6.296343] sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
[ 6.296476] sof-audio-pci 0000:00:1f.3: error: extended rom status: 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff
[ 6.296484] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
[ 6.296485] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
[ 6.346978] sof-audio-pci 0000:00:1f.3: error: hda_dsp_core_reset_enter: timeout on HDA_DSP_REG_ADSPCS read
[ 6.346979] sof-audio-pci 0000:00:1f.3: error: dsp core reset failed: core_mask f
[ 6.347191] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110
I tried it with 1.5.1 (from gentoo repository) and 1.6 (from sof git) firmware with the same result.
Current firmware:
$ ls -ld /lib/firmware/intel/sof*
drwxr-xr-x 4 root root 4096 09-29 17:35 /lib/firmware/intel/sof
lrwxrwxrwx 1 root root 13 09-29 17:33 /lib/firmware/intel/sof-tplg -> sof-tplg-v1.6
drwxr-xr-x 2 root root 4096 09-25 13:28 /lib/firmware/intel/sof-tplg-v1.5.1
drwxr-xr-x 2 root root 12288 09-29 13:17 /lib/firmware/intel/sof-tplg-v1.6
$ ls -ld /lib/firmware/intel/sof/*
lrwxrwxrwx 1 root root 33 09-29 17:33 /lib/firmware/intel/sof/sof-apl.ri -> v1.6/intel-signed/sof-apl-v1.6.ri
lrwxrwxrwx 1 root root 20 09-29 17:33 /lib/firmware/intel/sof/sof-bdw.ri -> v1.6/sof-bdw-v1.6.ri
lrwxrwxrwx 1 root root 20 09-29 17:34 /lib/firmware/intel/sof/sof-byt.ri -> v1.6/sof-byt-v1.6.ri
lrwxrwxrwx 1 root root 33 09-29 17:34 /lib/firmware/intel/sof/sof-cfl.ri -> v1.6/intel-signed/sof-cnl-v1.6.ri
lrwxrwxrwx 1 root root 20 09-29 17:34 /lib/firmware/intel/sof/sof-cht.ri -> v1.6/sof-cht-v1.6.ri
lrwxrwxrwx 1 root root 33 09-29 17:34 /lib/firmware/intel/sof/sof-cml.ri -> v1.6/intel-signed/sof-cnl-v1.6.ri
lrwxrwxrwx 1 root root 33 09-29 17:34 /lib/firmware/intel/sof/sof-cnl.ri -> v1.6/intel-signed/sof-cnl-v1.6.ri
lrwxrwxrwx 1 root root 33 09-29 17:34 /lib/firmware/intel/sof/sof-glk.ri -> v1.6/intel-signed/sof-apl-v1.6.ri
lrwxrwxrwx 1 root root 33 09-29 17:35 /lib/firmware/intel/sof/sof-icl.ri -> v1.6/intel-signed/sof-icl-v1.6.ri
drwxr-xr-x 4 root root 4096 09-25 13:28 /lib/firmware/intel/sof/v1.5.1
drwxr-xr-x 4 root root 4096 09-29 13:17 /lib/firmware/intel/sof/v1.6
I was redirected here by Pierre Bossart from https://bugzilla.kernel.org/show_bug.cgi?id=201251#c208
Activity
plbossart commentedon Sep 29, 2020
@lgirdwood @jajanusz FYI, looks like there's a firmware authentication issue here?
chmooreck commentedon Oct 3, 2020
Looks similar to:
thesofproject/sof#2842
plbossart commentedon Oct 5, 2020
@chmooreck do you mind providing a link to the results of 'alsa-info'? I wonder if this happens on an IceLake device, for which we've had several issues including in our own testing.
chmooreck commentedon Oct 5, 2020
$ lspci -vs 00:1f.3
00:1f.3 Multimedia audio controller: Intel Corporation Cannon Lake PCH cAVS (rev 10)
Subsystem: Hewlett-Packard Company Cannon Lake PCH cAVS
Flags: bus master, fast devsel, latency 64, IRQ 16
Memory at 404a108000 (64-bit, non-prefetchable) [size=16K]
Memory at 404a000000 (64-bit, non-prefetchable) [size=1M]
Capabilities:
Kernel driver in use: sof-audio-pci
Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci
alsa-info.log
with snd_hda_intel (5.8.11-gentoo):
alsa-info-hda-intel.log
plbossart commentedon Oct 5, 2020
@chmooreck ok so that's CannonLake. I don't recall seeing issues with this.
Maybe we should try to see if the authentication also fails with the Skylake/SST driver. Can you try with this in /etc/modprobe.d/alsa-base.conf
options snd_intel_dspcfg dsp_driver=2
This may fail at a later point but this is just to see how far the driver would go and if you manage to get past the firmware signature authentication point.
chmooreck commentedon Oct 5, 2020
alsa-info-sst.log
plbossart commentedon Oct 5, 2020
@chmooreck sorry, I was interested in the entire dmesg log only, can you please share it?
chmooreck commentedon Oct 5, 2020
There isn't anything special, maybe i should enable some debug options ?
dmesg-sst.log
P.S. it's 22:50 here so next info will be available in ~8h
plbossart commentedon Oct 5, 2020
please try with
options snd_soc_skl dyndbg=+p
chmooreck commentedon Oct 5, 2020
dmesg-sst-dyndbg.log
sof with dyndbg
dmesg-sof-dyndbg.log
plbossart commentedon Oct 6, 2020
Extracting the useful information from the SOF boot
@ranj063 @jajanusz do those initial boot codes mean anything to you? Also wondering why in the error case we get a -1?
plbossart commentedon Oct 6, 2020
@chmooreck the SST log does not seem to provide any useful info, did you enable SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC in your .config? Also when you use SST you likely need to disable SOF completely.
Edit: you also need SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH
18 remaining items
plbossart commentedon Oct 14, 2020
@mengdonglin This device has a DMIC interface which can only controlled by the DSP, so firmware/CSME folks need to fix this.
chmooreck commentedon Oct 14, 2020
With legacy HDAudio driver it works fine, but without internal microphone (DMIC).
chmooreck commentedon Oct 20, 2020
From current broonie/sound.git with added some debug info:
[ 5.504656] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[ 5.504657] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 5.504660] sof-audio-pci 0000:00:1f.3: DMICs detected in NHLT tables: 4
[ 5.504669] sof-audio-pci 0000:00:1f.3: loading firmware
[ 5.506458] sof-audio-pci 0000:00:1f.3: request_firmware intel/sof/sof-cfl.ri successful
[ 5.506459] sof-audio-pci 0000:00:1f.3: firmware doesn't contain extended manifest
[ 5.506467] sof-audio-pci 0000:00:1f.3: Debug PCIR: 00000002 at 00000048
[ 5.506471] sof-audio-pci 0000:00:1f.3: Debug PCIW: 00000000 at 00000048
[ 5.506478] sof-audio-pci 0000:00:1f.3: Debug PCIR: 00000000 at 00000044
[ 5.506482] sof-audio-pci 0000:00:1f.3: Debug PCIW: 00000004 at 00000044
[ 5.506483] sof-audio-pci 0000:00:1f.3: booting DSP firmware
[ 5.506512] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x40000 successful
[ 5.506543] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x40000 successful
[ 5.506547] sof-audio-pci 0000:00:1f.3: period_bytes:0x0
[ 5.506548] sof-audio-pci 0000:00:1f.3: periods:1
[ 5.506592] sof-audio-pci 0000:00:1f.3: Attempting iteration 0 of Core En/ROM load...
[ 5.507115] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0xf0f0f0f successful
[ 5.507138] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0xf0f0f0e successful
[ 5.507142] sof-audio-pci 0000:00:1f.3: unstall/run core: core_mask = 1
[ 5.507149] sof-audio-pci 0000:00:1f.3: DSP core(s) enabled? 1 : core_mask 1
[ 5.507661] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x80000000 successful
[ 5.507672] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0xf010e0e successful
[ 5.808025] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x6000021 timedout
[ 5.808030] sof-audio-pci 0000:00:1f.3: unknown ROM status value 06000021
[ 5.808036] sof-audio-pci 0000:00:1f.3: status = 0x00000000 panic = 0x00000000
[ 5.808050] sof-audio-pci 0000:00:1f.3: extended rom status: 0x6000021 0x0 0x0 0x0 0x0 0x0 0x183011b 0x0
[ 5.808053] sof-audio-pci 0000:00:1f.3: unknown ROM status value 06000021
[ 5.808060] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x1010f0f successful
[ 5.808066] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0xf0f successful
[ 5.808070] sof-audio-pci 0000:00:1f.3: DSP core(s) enabled? 0 : core_mask f
[
plbossart commentedon Oct 20, 2020
@chmooreck can you attach the entire dmesg? it's possible that one iteration fails, but eventually the boot succeeds. See the log "[ 5.506592] sof-audio-pci 0000:00:1f.3: Attempting iteration 0 of Core En/ROM load...", it really tells you it's a loop and we should only check if there's a failure when the loop ends.
chmooreck commentedon Oct 20, 2020
Sure, but it fails all 3 times in same way - i should mention it or paste complete log
mengdonglin commentedon Oct 26, 2020
@chmooreck Thanks for your info! Can you please check if audio can work in Windows10? especially, can DMIC work in Windows? If yes, it means audio DSP driver and firmware can work well with CSE in Windows, and this will help us to figure out the gap in Linux.
chmooreck commentedon Oct 26, 2020
@mengdonglin I don't have Windows on this machine. Tell me if all we need is confirmation if it works or not ? Or should I check something more ?
Edit:
I managed to install Windows on some spare disk and it turned out sound didn;t work on Windows too. After some research it turned out I had to enable Intel ME in BIOS - it fixed sound under Windows.
Here is fresh dmesg - at least we passed previous firmware timeout error.
dmesg.log
chmooreck commentedon Oct 27, 2020
BTW. maybe "[CFL] error: cl_dsp_init: timeout HDA_DSP_SRAM_REG_ROM_STATUS read" should be closed with resolution: enable ME to let it load proper firmware.
And we can go on in another issue ?
plbossart commentedon Oct 27, 2020
@chmooreck did the HP BIOS let you disable the ME? This is a pre-requisite for audio firmware authentication, so that's clearly a problem. I don't know if we can check if the ME is on, i'd have to check internally.
chmooreck commentedon Oct 27, 2020
@plbossart Yes, there is option to disable/enable ME in HP BIOS.
But I don't see this option in HP BIOS Manual nor in BIOS simulator (file:///tmp/mozilla_dom0/c06535377). I've got it at Advanced -> Remote Managment Options.
plbossart commentedon Oct 27, 2020
thanks @chmooreck. we were aware of another OEM where users can select a device with the ME disabled, but we didn't know about this capability on HP devices. I am now tracking this so that we improve the documentation thesofproject/sof-docs#304 and detection #2539
Anyways, I am glad in your case you were able to solve the audio issue - even if it wasn't an audio issue after all :-)
chmooreck commentedon Oct 28, 2020
@plbossart Oh no, I've got audio issue still. Just bit later:
Full dmesg log is in comment #2478 (comment)
Should I go back to https://bugzilla.kernel.org/show_bug.cgi?id=201251 ?
keyonjie commentedon Nov 2, 2020
@chmooreck this looks like FW error now, can you share the FW log also (via command 'sof-logger -l sof-cfl.ldc -t', for details, see https://thesofproject.github.io/latest/developer_guides/debugability/logger/index.html?highlight=logger)?
And does this error impact the subsequent sound playback/capture for you?
Can you share the kernel recipe you used?
chmooreck commentedon Nov 2, 2020
@keyonjie I made separate report (#2545 (comment)), as it was not connected with original issue - fw not loading because of disabled ME.
From my side it all works fine now - can be closed.