Comment 0 for bug 1728238

Revision history for this message
spike speigel (frail-knight) wrote : initramfs not adding i915 GuC firmware, firmware fails to load

The i915 Kabylake GuC firmware is failing to load on boot, and generating dmesg errors. The Kabylake HuC firmware succeeds. All files exist. I've also verified the Kabylake GuC firmware matches the correct file size and md5 listed on 01.org.

I then ran update-initramfs verbosely, and see that only /lib/firmware/i915/skl_guc_ver6_1.bin is being added. /lib/firmware/i915/bxt_guc_ver8_7.bin and /lib/firmware/i915/kbl_guc_ver9_14.bin seem to be ignored.

Output and logs:
-----------------

ls -al /lib/firmware/i915/kbl_*

-rw-r--r-- 1 root root 8616 Aug 17 11:08 /lib/firmware/i915/kbl_dmc_ver1_01.bin
lrwxrwxrwx 1 root root 19 Aug 17 11:08 /lib/firmware/i915/kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin
-rw-r--r-- 1 root root 142656 Oct 20 21:12 /lib/firmware/i915/kbl_guc_ver9_14.bin
-rw-r--r-- 1 root root 218688 Aug 17 11:09 /lib/firmware/i915/kbl_huc_ver02_00_1810.bin

sudo cat /sys/kernel/debug/dri/0/i915_guc_load_status

GuC firmware status:
path: i915/kbl_guc_ver9_14.bin
fetch: FAIL
load: NONE
version wanted: 9.14
version found: 0.0
header: offset is 0; size = 0
uCode: offset is 0; size = 0
RSA: offset is 0; size = 0

GuC status 0x00000001:
Bootrom status = 0x0
uKernel status = 0x0
MIA Core status = 0x0

Scratch registers:
0: 0x0
1: 0x0
2: 0x0
3: 0x0
4: 0x0
5: 0x0
6: 0x0
7: 0x0
8: 0x0
9: 0x0
10: 0x0
11: 0x0
12: 0x0
13: 0x0
14: 0x0
15: 0x0

sudo cat /sys/kernel/debug/dri/0/i915_huc_load_status

HuC firmware status:
path: i915/kbl_huc_ver02_00_1810.bin
fetch: SUCCESS
load: SUCCESS
version wanted: 2.0
version found: 2.0
header: offset is 0; size = 128
uCode: offset is 128; size = 218304
RSA: offset is 218432; size = 256

HuC status 0x00006000:

dmesg

[ 1.052879] hidraw: raw HID events driver (C) Jiri Kosina
[ 1.056426] wmi_bus wmi_bus-PNP0C14:01: WQBC data block query control method not found
[ 1.080320] rtsx_pci 0000:3b:00.0: enabling device (0000 -> 0002)
[ 1.082308] nvme nvme0: pci function 0000:3c:00.0
[ 1.095073] Setting dangerous option enable_guc_loading - tainting kernel
[ 1.095075] Setting dangerous option enable_guc_submission - tainting kernel
[ 1.097867] [drm] Memory usable by graphics device = 4078M
[ 1.097869] checking generic (90000000 1fb0000) vs hw (90000000 10000000)
[ 1.097869] fb: switching to inteldrmfb from EFI VGA
[ 1.097899] Console: switching to colour dummy device 80x25
[ 1.098049] [drm] Replacing VGA console driver
[ 1.104157] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.104157] [drm] Driver supports precise vblank timestamp query.
[ 1.112506] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1)
[ 1.113055] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 1.284194] usb 1-1: new low-speed USB device number 2 using xhci_hcd
[ 1.298572] nvme0n1: p1 p2
[ 1.433241] usb 1-1: New USB device found, idVendor=0d62, idProduct=001c
[ 1.433242] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.433243] usb 1-1: Product: USB+PS2 Keyboard
[ 1.433244] usb 1-1: Manufacturer: Generic
[ 1.446460] usbcore: registered new interface driver usbhid
[ 1.446461] usbhid: USB HID core driver
[ 1.448067] input: Generic USB+PS2 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:0D62:001C.0001/input/input7
[ 1.508451] hid-generic 0003:0D62:001C.0001: input,hidraw0: USB HID v1.10 Keyboard [Generic USB+PS2 Keyboard] on usb-0000:00:14.0-1/input0
[ 1.508541] input: Generic USB+PS2 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:0D62:001C.0002/input/input8
[ 1.552213] usb 1-2: new full-speed USB device number 3 using xhci_hcd
[ 1.568448] hid-generic 0003:0D62:001C.0002: input,hidraw1: USB HID v1.10 Device [Generic USB+PS2 Keyboard] on usb-0000:00:14.0-1/input1
[ 1.695655] usb 1-2: New USB device found, idVendor=046d, idProduct=c52b
[ 1.695656] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.695657] usb 1-2: Product: USB Receiver
[ 1.695658] usb 1-2: Manufacturer: Logitech
[ 1.702641] logitech-djreceiver 0003:046D:C52B.0005: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-2/input2
[ 1.820317] usb 1-3: new full-speed USB device number 4 using xhci_hcd
[ 1.835948] input: Logitech M510 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0005/0003:046D:4051.0006/input/input9
[ 1.836129] logitech-hidpp-device 0003:046D:4051.0006: input,hidraw3: USB HID v1.11 Mouse [Logitech M510] on usb-0000:00:14.0-2:1
[ 1.838085] input: Logitech K750 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0005/0003:046D:4002.0007/input/input10
[ 1.838283] logitech-hidpp-device 0003:046D:4002.0007: input,hidraw4: USB HID v1.11 Keyboard [Logitech K750] on usb-0000:00:14.0-2:2
[ 1.896270] psmouse serio1: synaptics: queried max coordinates: x [..5666], y [..4734]
[ 1.927267] psmouse serio1: synaptics: queried min coordinates: x [1276..], y [1118..]
[ 1.927271] psmouse serio1: synaptics: Your touchpad (PNP: DLL075b PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to <email address hidden>.
[ 1.938732] i915 0000:00:02.0: Direct firmware load for i915/kbl_guc_ver9_14.bin failed with error -2
[ 1.938733] [drm] Failed to fetch valid uC firmware from i915/kbl_guc_ver9_14.bin (error -2)
[ 1.944000] [drm:intel_uc_init_hw [i915]] *ERROR* GuC init failed
[ 1.944027] [drm] Falling back from GuC submission to execlist mode
[ 1.944027] [drm] GuC firmware loading disabled
[ 1.944746] [drm] Initialized i915 1.6.0 20170619 for 0000:00:02.0 on minor 0
[ 1.948280] clocksource: Switched to clocksource tsc
[ 1.955378] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 1.956112] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11
[ 1.961603] usb 1-3: New USB device found, idVendor=0cf3, idProduct=e301
[ 1.961604] usb 1-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0

sudo update-initramfs -u -v -k all

Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_data.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_inst.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/gpccs_bl.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_sig.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_data.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_inst.bin
Adding firmware /lib/firmware/nvidia/gp10b/gr/fecs_bl.bin
Adding firmware /lib/firmware/nvidia/gp10b/acr/ucode_load.bin
Adding firmware /lib/firmware/nvidia/gp10b/acr/bl.bin
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/vgem/vgem.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/cirrus/cirrus.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/bridge/analogix-anx78xx.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i915/i915.ko
Adding firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin
Adding firmware /lib/firmware/i915/skl_dmc_ver1_26.bin
Adding firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin
Adding firmware /lib/firmware/i915/skl_guc_ver6_1.bin
Adding firmware /lib/firmware/i915/kbl_huc_ver02_00_1810.bin
Adding firmware /lib/firmware/i915/bxt_huc_ver01_07_1398.bin
Adding firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin
Adding module /lib/modules/4.13.0-16-generic/kernel/virt/lib/irqbypass.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/arch/x86/kvm/kvm.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/vfio.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/vfio_iommu_type1.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/mdev/mdev.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/vfio/mdev/vfio_mdev.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/ch7006.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/sil164.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/i2c/tda998x.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/gma500/gma500_gfx.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/udl/udl.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/hisilicon/hibmc/hibmc-drm.ko
Adding module /lib/modules/4.13.0-16-generic/kernel/drivers/gpu/drm/radeon/radeon.ko
Adding firmware /lib/firmware/radeon/R520_cp.bin
Adding firmware /lib/firmware/radeon/RS600_cp.bin
Adding firmware /lib/firmware/radeon/RS690_cp.bin
Adding firmware /lib/firmware/radeon/R420_cp.bin
Adding firmware /lib/firmware/radeon/R300_cp.bin
Adding firmware /lib/firmware/radeon/R200_cp.bin
Adding firmware /lib/firmware/radeon/R100_cp.bin
Adding firmware /lib/firmware/radeon/SUMO2_me.bin
Adding firmware /lib/firmware/radeon/SUMO2_pfp.bin
Adding firmware /lib/firmware/radeon/SUMO_me.bin