<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [KBL] Video corrupted during playback with audio in KBL NUC using Clear Linux OS (Root Caused to GuC/HuC Firmware Authentication Issue)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110617">110617</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[KBL] Video corrupted during playback with audio in KBL NUC using Clear Linux OS (Root Caused to GuC/HuC Firmware Authentication Issue)
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86 (IA32)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/Intel
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>yat.seng.lam@intel.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>intel-gfx-bugs@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=144170" name="attach_144170" title="kernel log">attachment 144170</a> <a href="attachment.cgi?id=144170&action=edit" title="kernel log">[details]</a></span>
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
<a href="http://koji-lts.png.intel.com/L1/releases/10/clear/">http://koji-lts.png.intel.com/L1/releases/10/clear/</a>
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
<a href="http://andromeda01.png.intel.com/qe-collateral/onelinux_workload/small.ogv">http://andromeda01.png.intel.com/qe-collateral/onelinux_workload/small.ogv</a>
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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>