[Bug 110617] New: [KBL] Video corrupted during playback with audio in KBL NUC using Clear Linux OS (Root Caused to GuC/HuC Firmware Authentication Issue)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 6 07:51:14 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=110617

            Bug ID: 110617
           Summary: [KBL] Video corrupted during playback with audio in
                    KBL NUC using Clear Linux OS (Root Caused to GuC/HuC
                    Firmware Authentication Issue)
           Product: DRI
           Version: unspecified
          Hardware: x86 (IA32)
                OS: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: DRM/Intel
          Assignee: intel-gfx-bugs at lists.freedesktop.org
          Reporter: yat.seng.lam at intel.com
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
                CC: intel-gfx-bugs at lists.freedesktop.org

Created attachment 144170
  --> https://bugs.freedesktop.org/attachment.cgi?id=144170&action=edit
kernel log

◾Bug detailed description
Video corrupted during playback with audio with NUC-KBL using kernel PK LTS2018
and Clear Linux OS. Please refer to the attach picture.  


◾Environment/Hardware
Hardware: Intel Desktop Board NUC7i7BNB
BIOS version: BNKBL357.86A.0046.2017.0503.1744
Processor: Intel® Core™ i7-7567U CPU @ 3.50GHz
PKT version: PKT LTS 2018 (4.19.28-28)


◾Reproduce Steps
1. Boot up bootable clear linux console NUC using
http://koji-lts.png.intel.com/L1/releases/10/clear/
2. swupd bundle-add desktop-autostart
3. swupd bundle-add vim, wget, sudo
4. swupd bundle-add kernel-iot-lts2018
5. clr-boot-manager set-kernel <choose the kernel-iot-lts2018>
6. reboot

Terminal (on Clear Linux Desktop) NUC
4. wget
http://andromeda01.png.intel.com/qe-collateral/onelinux_workload/small.ogv
5. gst-launch-1.0 playbin uri=file:///small.ogv
note: the file:/// must be full path to the file...

◾Current result
video corrupted during play back. However, audio sound can be heard as
expected.

◾Expected result
video playback without corrupted together with audio sound


============================

Initial Triage Information

============================

1./  Repeating the same test setup with APL-NUC, there is no video corruption
issue happens there.

2./  From initial analysis together with Intel Production Kernel Team, it
points to GuC/HuC firmware Authentication Failure issue for KBL:

It should be video issue because of Guc/Huc firmware loading failure.



[    4.009274] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin
(version 2.0)

[    4.014351] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version
9.39)

[    4.065392] [drm:intel_huc_auth] ERROR HuC: Firmware not verified 0x6000

[    4.072307] [drm:intel_huc_auth] ERROR HuC: Authentication failed -110

[    4.079045] i915 0000:00:02.0: GuC initialization failed -110

[    4.084834] [drm:i915_gem_init_hw_late] ERROR Late init: enabling uc failed
(-110)

[    4.092612] [drm:i915_gem_context_first_open] ERROR Late initialization
failed: -110


Further comment from PKT team:
==============================
his issue should be i915 firmware loading issue. If we disable a couple of i915
related cmdline parameters, video could be played .

When this issue is reproduced, there are a lot of Guc/Huc firmware loading
errors as Paul mentioned in previous mail.



If we use "swupd bundle-add kernel-iot-lts2018" && "clr-boot-manager set-kernel
4.19.32-44.iot-lts2018" to update booting kernel which version is similar with
358 in above link, there are a lot of Guc/Huc loading errors.

We noticed these two kernels’ cmdlines are different. In 4.19.32-44.iot-lts2018
kernel, it has two i915 parameters(i915.nuclear_pageflip=1
i915.enable_guc=0x02). If we removed these two parameters, there is no firmware
loading error anymore in 4.19.32-44.iot-lts2018 kernel. And video playback
works.


In official ClearLinux native kernel(5.0.7), there are no these two cmdline
parameters either.


Further Summary of Discussion so far:
=====================================

1.\ The same kernel-iot-lts2018 is used for APL and KBL and APL needs to have
GuC/HuC firmware enabled for the VDENC encoder and content protection use
cases.  Hence, disabling GuC/HuC firmware loading at kernel command line is not
viable solution

2.\ We need a common solution for GuC/HuC firmware loading that works for all
the platform supported with kernel-iot-lts2018.

3.\ Need to find out the mechanism of GuC/HuC firmware binaries generation and
signing (is it open source or closed source and whether signing has any issue)
and the mechanism on how GuC/HuC firmware authentication works.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20190506/52493997/attachment.html>


More information about the intel-gfx-bugs mailing list