Public bug reported:

Background: Huawei Matebook E Go (Code Name: gaokun3) referred is a
Qualcomm Snapdragon SC8280XP device whose DTB is in mainline Linux.
Huawei Qingyun W510 is a workstation based on Kunpeng 920 (Taishan
V110*24) which is a standard arm processor using UEFI and ACPI with NO
NEED for a loader-supplied DTB. W510's firmware DOES NOT provide DTB
either.

W510's SMBIOS reads "Manufacturer=HUAWEI、ProductSku=C233" which is same
to gaokun3's.

Stubble's devicetree.c:firmware_devicetree_exists() checks if there's
DTB in config table. W510 has none so it turns to HWID path.
chid_match() reads "type 7 = Manufacturer + ProductSku" so W510's CHID
computed is 7ea8b73b-2cbb-562b-aecc-7f0f64c42630 and exactly matches
gaokun3 in Ubuntu's official vmlinuz's ".hwids". Then in
pe.c:pe_use_this_dtb(), devicetree_match() returns EFI_UNSUPPORTED (no
firmware DTB), so it falls through to the HWID branch:
device_get_compatible() yields "huawei,gaokun3", and
devicetree_match_by_compatible() selects the 153 KB .dtbauto section
whose root compatible is "huawei,gaokun3" (file offset 0x546e00 inside
vmlinuz). devicetree_install_from_memory() then installs it via
InstallConfigurationTable(EFI_DTB_TABLE, ...). The inner zboot stub
prints "EFI stub: Using DTB from configuration table" and the kernel
boots in DT mode with gaokun3's device tree on a Kunpeng 920 — the
machine hangs silently right after "EFI stub: Exiting boot services...".

Release Version: Ubuntu 26.04.1 LTS
Package Version: stubble 9-1 (bundled in linux-image-7.0.0-31-generic 
7.0.0-31.31)
Expected: stubble should not install any DTB on this machine; the kernel should 
boot via ACPI.
Actual: W510 hangs silently at boot with any official Ubuntu 26.04 arm64 kernel 
(7.0.0-15.15 and 7.0.0-31.31 tested).

** Affects: stubble (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "bug-attachments.tar.xz"
   
https://bugs.launchpad.net/bugs/2166697/+attachment/5998331/+files/bug-attachments.tar.xz

** Description changed:

  Background: Huawei Matebook E Go (Code Name: gaokun3) referred is a
  Qualcomm Snapdragon SC8280XP device whose DTB is in mainline Linux.
  Huawei Qingyun W510 is a workstation based on Kunpeng 920 (Taishan
  V110*24) which is a standard arm processor using UEFI and ACPI with NO
  NEED for a loader-supplied DTB. W510's firmware DOES NOT provide DTB
  either.
  
  W510's SMBIOS reads "Manufacturer=HUAWEI、ProductSku=C233" which is same
  to gaokun3's.
  
  Stubble's devicetree.c:firmware_devicetree_exists() checks if there's
  DTB in config table. W510 has none so it turns to HWID path.
  chid_match() reads "type 7 = Manufacturer + ProductSku" so W510's CHID
  computed is 7ea8b73b-2cbb-562b-aecc-7f0f64c42630 and exactly matches
  gaokun3 in Ubuntu's official vmlinuz's ".hwids". Then in
  pe.c:pe_use_this_dtb(), devicetree_match() returns EFI_UNSUPPORTED (no
  firmware DTB), so it falls through to the HWID branch:
  device_get_compatible() yields "huawei,gaokun3", and
  devicetree_match_by_compatible() selects the 153 KB .dtbauto section
  whose root compatible is "huawei,gaokun3" (file offset 0x546e00 inside
  vmlinuz). devicetree_install_from_memory() then installs it via
  InstallConfigurationTable(EFI_DTB_TABLE, ...). The inner zboot stub
  prints "EFI stub: Using DTB from configuration table" and the kernel
  boots in DT mode with gaokun3's device tree on a Kunpeng 920 — the
- machine hangs silently right after "EFI stub: Exiting boot services...",
- before any console output.
+ machine hangs silently right after "EFI stub: Exiting boot services...".
  
  Release Version: Ubuntu 26.04.1 LTS
  Package Version: stubble 9-1 (bundled in linux-image-7.0.0-31-generic 
7.0.0-31.31)
  Expected: stubble should not install any DTB on this machine; the kernel 
should boot via ACPI.
  Actual: W510 hangs silently at boot with any official Ubuntu 26.04 arm64 
kernel (7.0.0-15.15 and 7.0.0-31.31 tested).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2166697

Title:
  stubble HWID false positive loads wrong DTB, boot hang on HUAWEI W510
  (Kunpeng 920)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/stubble/+bug/2166697/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to