dug12_hlk: Add slides

Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
This commit is contained in:
Filip Gołaś
2025-12-11 20:10:02 +01:00
parent 53f058cb80
commit d87e444f4f
12 changed files with 426 additions and 49 deletions
-2
View File
@@ -110,8 +110,6 @@ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo s
Warning: it can lead to more files being observed resulting in more system
resources (RAM&CPU) being used.
## Contribution
- Please feel free to create issues for improvement ideas and bugs, as well as
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

@@ -0,0 +1,81 @@
@startuml
!define Color1 #38d430
!define Color2 #272727
!define Color3 #f5f5f5
skinparam {
DefaultFontColor Color2
BackgroundColor Color3
ArrowColor Color2
ActorBorderColor Color1
ActorBackgroundColor Color3
ActorFontColor Color2
ParticipantBorderColor Color1
ParticipantBackgroundColor Color3
ParticipantFontColor Color2
LifeLineBorderColor Color1
LifeLineBackgroundColor Color3
SequenceGroupBorderColor Color1
SequenceGroupBackgroundColor Color3
SequenceGroupFontColor Color2
BoxBorderColor Color1
BoxBackgroundColor Color3
BoxFontColor Color2
NoteBackgroundColor Color3
NoteBorderColor Color1
NoteFontColor Color2
TitleBorderColor Color1
TitleBackgroundColor Color3
TitleFontColor Color2
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
}
skinparam sequence {
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
ArrowBackgroundColor Color3
ParticipantPadding 20
ParticipantBorderThickness 2
ParticipantFontSize 16
ParticipantFontStyle bold
}
title OSFV architecture
package "Devices" {
[DUT 1] as D1
[DUT 2] as D2
[DUT 3] as D3
[DUT 4] as D4
[...] as Dx
}
package "Tester Workstations" {
[Tester Workstation 1] as W1
[Tester Workstation 2] as W2
[Tester Workstation 3] as W3
[...] as Wx
}
[Snipe-IT] as SP
[OSFV Runner] as RN
W1 ..> SP
W2 ..> SP
W3 ..> SP
W1 --> RN
W2 --> RN
W3 --> RN
RN --> D1
RN --> D2
RN --> D3
RN --> D4
left to right direction
@enduml
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

@@ -0,0 +1,76 @@
@startuml
!define Color1 #38d430
!define Color2 #272727
!define Color3 #f5f5f5
skinparam {
DefaultFontColor Color2
BackgroundColor Color3
ArrowColor Color2
ActorBorderColor Color1
ActorBackgroundColor Color3
ActorFontColor Color2
ParticipantBorderColor Color1
ParticipantBackgroundColor Color3
ParticipantFontColor Color2
LifeLineBorderColor Color1
LifeLineBackgroundColor Color3
SequenceGroupBorderColor Color1
SequenceGroupBackgroundColor Color3
SequenceGroupFontColor Color2
BoxBorderColor Color1
BoxBackgroundColor Color3
BoxFontColor Color2
NoteBackgroundColor Color3
NoteBorderColor Color1
NoteFontColor Color2
TitleBorderColor Color1
TitleBackgroundColor Color3
TitleFontColor Color2
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
}
skinparam sequence {
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
ArrowBackgroundColor Color3
ParticipantPadding 20
ParticipantBorderThickness 2
ParticipantFontSize 16
ParticipantFontStyle bold
}
title OSFV architecture
package "Devices" {
[...] as Dx
[DUT 4] as D4
[DUT 3] as D3
[DUT 2] as D2
[DUT 1] as D1
}
package "Tester Workstations" {
[...] as Wx
[Tester Workstation 3] as W3
[Tester Workstation 2] as W2
[Tester Workstation 1] as W1
}
[Snipe-IT] as SP
W1 ..> SP
W2 ..> SP
W3 ..> SP
W1 --> D1
W2 --> D2
W3 --> D3
W3 --> D4
left to right direction
@enduml
Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

@@ -0,0 +1,89 @@
@startuml
!define Color1 #38d430
!define Color2 #272727
!define Color3 #f5f5f5
skinparam {
DefaultFontColor Color2
BackgroundColor Color3
ArrowColor Color2
ActorBorderColor Color1
ActorBackgroundColor Color3
ActorFontColor Color2
ParticipantBorderColor Color1
ParticipantBackgroundColor Color3
ParticipantFontColor Color2
LifeLineBorderColor Color1
LifeLineBackgroundColor Color3
SequenceGroupBorderColor Color1
SequenceGroupBackgroundColor Color3
SequenceGroupFontColor Color2
BoxBorderColor Color1
BoxBackgroundColor Color3
BoxFontColor Color2
NoteBackgroundColor Color3
NoteBorderColor Color1
NoteFontColor Color2
TitleBorderColor Color1
TitleBackgroundColor Color3
TitleFontColor Color2
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
}
skinparam sequence {
DividerBackgroundColor Color3
DividerBorderColor Color1
DividerFontColor Color2
ArrowBackgroundColor Color3
ParticipantPadding 20
ParticipantBorderThickness 2
ParticipantFontSize 16
ParticipantFontStyle bold
}
title Windows HLK architecture
[HLK Studio] as ST
package Controllers {
[...] as COx
[HLK Controller2] as CO2
[HLK Controller1] as CO1
}
package "Device Pool 1" {
[...] as CL1x
[HLK Client1.2 (DUT)] as CL12
[HLK Client1.1 (DUT)] as CL11
}
package "Device Pool 2" {
[...] as CL2x
[HLK Client2.2 (DUT)] as CL22
[HLK Client2.1 (DUT)] as CL21
}
package "Tester Workstations" {
[Tester Workstation 1] as W1
[Tester Workstation 2] as W2
[...] as Wx
}
ST --> CO1
ST --> CO2
ST --> COx
CO1 --> CL11
CO1 --> CL12
CO1 --> CL1x
CO2 --> CL21
CO2 --> CL22
CO2 --> CL2x
W1 --> ST
W2 --> ST
Wx --> ST
left to right direction
@enduml
Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

+180 -47
View File
@@ -6,83 +6,216 @@ class: text-center
---
## Windows Hardware Lab Kit
### A new tool at Dasharo testsers arsenal
# Windows Hardware Lab Kit
## A new tool at Dasharo testers arsenal
---
layout: two-cols-header
---
## What's Windows Hardware Lab Kit
<!-- HLK used to use windows sticker as a sign of support-->
<!-- historic names for HLK tool -->
<!-- sticker image -->
::left::
Testing framework that has evolved since 2000s
- Hardware Compatibility Test - Windows 2000, XP
- Driver Test Manager - Windows Vista
- Windows Logo Kit / Windows Hardware Certification Kit - Windows 7, 8, 8.1
- Windows Hardware Lab Kit - Windows 10, 11
::right::
![Windows 11 Logo sticker](../../img/dug_12/windows-hlk/windows-stickerd.png)
---
<style>
.two-cols-header {
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 5fr;
}
</style>
## Why it's interesting to us
<!--
<!-- test coverage, compare to OSFV -->
<!-- maybe list TPM tests and similar -->
---
## HLK Overview #1
<!-- list and shortly describe main components
- studio, controller, client
-->
---
layout: two-cols-header
---
## Why it's interesting to us
::left::
- **4659** unique test cases according to the test lists at https://aka.ms/HLKPlaylist
OSFV "only" has **1425** test cases as of 10.12.2025
## HLK Overview #2
Coverage:
- Audio, Video, Ethernet, Wi-Fi, Bluetooth
- GPIO, I2C, USB, NFC, PWM, SPI, UART, SATA, NVMe
- Drivers
- TPM, Secure Boot, disk encryption, TXT DMA Protection Ranges, Windows specific security features
- Windows Logo Certification, Windows Secured Core PC (?)
::right::
![OSFV test modules](../../img/dug_12/windows-hlk/osfv_test_counts_10_12_2025.png)
<!-- lab diagram HLK vs OSFV -->
<style>
.two-cols-header {
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 5fr;
}
</style>
<!--
-->
---
layout: two-cols-header
---
## HLK Overview #1
::left::
Three basic components:
- HLK Controller - scheduling, performing tests
- HLK Studio - GUI, creating projects, packaging results
- HLK Client - access to the DUT for the HLK Controller
::right::
![Windows HLK Architecture](../../img/dug_12/windows-hlk/2025-12-11-hlk.png)
<style>
.two-cols-header {
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 5fr;
}
</style>
<!--
-->
---
layout: two-cols
---
## HLK Overview #2
![Windows HLK Architecture](../../img/dug_12/windows-hlk/2025-12-11-hlk.png)
::right::
![DHC Lab Architecture](../../img/dug_12/windows-hlk/2025-12-11-hlk-osfv.png)
## HLK VM Setup #1
<style>
.two-columns {
grid-template-columns: 3fr 2fr;
gap: 1em
}
</style>
<!--
- note how OSFV is P2P
- note how HLK Controller can do parallel and multi device tests easily thanks to centralization
-->
---
layout: two-cols
---
## HLK VM Setup
Windows HLK Controller & Studio can only run on Windows Server:
- on a dedicated machine
- on a Hyper-V VM (VHLK)
If Windows server is to be run on a VM, nested virtualization of VHLK **WILL**
cause headaches.
For this minimal test setup, a Proxmox VM running HLK natively was decided to be
enough
- CPU: Xeon E5620, 4 cores allocated, NUMA enabled
- RAM: 4-12 GiB, dynamic allocation
- Disk: 70 GiB VirtIO
- RedHat VirtIO drivers in the to CD drive
::right::
![Proxmox logo](../../img/dug_12/windows-hlk/proxmox.png)
<!-- proxmox VM, allocated resources -->
<style>
.two-columns {
grid-template-columns: 5fr 1fr;
}
</style>
## HLK VM Setup #2
<!--
CPU: won't boot with <2 cores
RAM: won't boot with <4GB
Disk: recommended 32GB would be just barely enough and just a few test results would fit
-->
<!-- other requirements that had to be met -->
<!-- virtio, any settings from setup in blog -->
---
layout: cover
---
# Live Demo
For more details check the blog post at https://blog.3mdeb.com/2025/2025-12-11-windows-hlk
## Running Tests
<!-- live demo??? -->
<!-- if not, then one slide per point:
- device group
- project
- test selection
- run tests
- show results (premade), compare to OSFV
- show logs (premade), compare to OSFV
<!-- live demo -->
<!--
1. connect via remmina
2. create device group, add a HLK client to the new group
3. create project called after some imaginary Dasharo release
4. select devices - a single component of a laptop as loading all the tests takes a couple minutes
5. run (schedule) tests, cancel the scheduling as it takes a long time
6. show test results (premade), compare to how results look in OSFV
7. show logs (premade), compare to how logs look in OSFV
-->
---
layout: two-cols-header
---
## PoC on Novacustom NV41PZ v1.7.2
::left::
145 / 764 compatible tests ran over 60 hours
- expected total runtime: ~400h, estimation by interpolation: ~6000 hours
Interesting Passes:
- All WLAN, DX3D, WDDM
- Most Camera, Bluetooth, SMBIOS tables
Some Interesting Fails:
- [TPM 2.0 Verify Existence and Device Requirements Test](https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/8ddefeef-88ca-4949-ac0c-6eb036a98200)
- [Check SMBIOS Mapped Address Ranges](https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/746bad65-cf37-490b-a0fd-afe5623e282d)
- [AutoMemoryBenchmark](https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/cdcc3607-ae2c-4e38-954b-fc6a2ef27e63)
- [Audio Logo Test](https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/16a492f7-a503-4f7e-8c1d-6fd4370b9b65)
::right::
![NV41PZ v1.7.2 HLK results](../../img/dug_12/windows-hlk/hlk-tests-results-pie.png)
<style>
.two-cols-header {
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 5fr;
}
</style>
<!--
- runtime and estimated runtime for all tests
- pass rate pie chart, run/skipped pie chart
-
- list some interesing ones?
-->
---
layout: default
---
## Summary & next steps
Windows HLK will provide a lot of value to Dasharo Hardware Certification Lab
- 4 times the test cases of OSFV
- Windows Logo Certification
- Windows Secured Core PC certification?
Some work is still ahead:
1. VM on a 10+ yrs old Xeon is not _**nearly**_ enough
2. Work on automation, GUI is suboptimal
- HLK automation only via .NET from a Windows device
- Promising project! https://github.com/hck-ci
3. Presenting and interpreting the binary results
<!--
- hardware
- faster server needed even for single DUT. HLK is resource intensive
- automation:
- wrapping tests in OSFV would be wasteful
- automation only via .NET programs / powershell
- clicking in GUI fine for small scale
- presenting results:
- converting to human readable format
- promising project should scaling be needed https://github.com/HCK-CI
- faster server needed even for single DUT. HLK is resource intensive
- converting to human readable format
- promising project should scaling be needed https://github.com/HCK-CI
-->
---
layout: cover
---
# Questions
## Q&A
---
layout: cover
---
# Thank You