Bug 219125

Summary: Low performance in a 8C77 HP Omen laptop
Product: Platform Specific/Hardware Reporter: Andrew (andy.gusev)
Component: x86-64Assignee: platform_x86_64 (platform_x86_64)
Status: NEW ---    
Severity: low CC: alexbelm48
Priority: P3    
Hardware: Intel   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description Andrew 2024-08-04 18:44:03 UTC
I have an HP Omen laptop with i9-14900HX with dual boot. On windows, the CPU works with PL1 of 90Wt in performance mode and 50WT in balanced mode. 
In Ubuntu, on the other hand, the sustained power is only 45Wt with performance mode selected in Gnome.

Exploring the issue, I found that a patch (https://lore.kernel.org/platform-driver-x86/ZZFGgfsfrU2vuQoI@alexis-pc/) exists adding the 8BAD motherboard code to a list of boards subject to some Omen specific optimizations solving a similar performance issue for some other Omen laptops. My laptop's board identifier is 8C77 and it is not present in this list, so my guess is that it should be added to the list.
Comment 1 Alexis Belmonte 2024-08-06 17:46:21 UTC
Hi Andrew!

Thanks for your report -- I do have a patch that updates the list of motherboards which indeed has your motherboard ID in it. I just haven't submitted it yet as I'm enjoying my holidays right now.

I *DO* have to warn you that fan control for both the GPU and the CPU is done solely and passively by the embedded controller, and not the kernel -- and that is problematic.

On my laptop (8BAD), it is pretty clear that the provided/passive fan curve table is broken. The fans run slower than what they should be, which results in potential overheating UNLESS if you manually write to the EC registers throughout the ec_sys module with write_support=1.

I am certain that the Omen Control Center app takes ownership of this control, as this behaviour can also be observed with Windows if you didn't install the Omen Control Center app OR its associated backend driver that does the communication with the EC, as far as I've observed.

Maybe this isn't the case for your laptop, maybe it is. I'd be happy if you could provide feedback with your personal experience after applying the patch that follows this comment -- I'll add a Tested-by tag to it if you do so.

Let me know if you need any help, and good luck! :]

Alexis
Comment 2 Alexis Belmonte 2024-08-06 17:47:39 UTC
From 5e6339ea712412b159242828775488fdc0670b0b Mon Sep 17 00:00:00 2001
From: Alexis Belmonte <alexbelm48@gmail.com>
Date: Mon, 1 Jul 2024 13:55:16 +0200
Subject: [PATCH] platform/x86: hp-wmi: Update board lists for Omen and Victus
 laptops

Update the list of thermal profile boards for Omen and Victus laptops by
parsing the latest version of the
HP.Omen.Core.Model.Device.JSON.DeviceList.json file provided by the Omen
Control Center.

Update associated comments to show how to obtain the list of boards,
improve formatting and improve comment format coherence.

Signed-off-by: Alexis Belmonte <alexbelm48@gmail.com>
---
 drivers/platform/x86/hp/hp-wmi.c | 57 +++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 15 deletions(-)

diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index a2d1884fedbc..cd78e5dea217 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -47,25 +47,34 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45E9-BE91-3D44E2C707E4");
 
 #define zero_if_sup(tmp) (zero_insize_support?0:sizeof(tmp)) // use when zero insize is required
 
-/* DMI board names of devices that should use the omen specific path for
- * thermal profiles.
- * This was obtained by taking a look in the windows omen command center
- * app and parsing a json file that they use to figure out what capabilities
- * the device should have.
- * A device is considered an omen if the DisplayName in that list contains
- * "OMEN", and it can use the thermal profile stuff if the "Feature" array
- * contains "PerformanceControl".
+/*
+ * DMI board names of devices that should be considered as Omen with
+ * performance control support.
+ *
+ * This can be obtained by parsing
+ * HP.Omen.Core.Model.Device.JSON.DeviceList.json, a file that's provided by
+ * the Omen Control Center app on Windows.
+ *
+ * A device is considered as "Omen" if the DisplayName in that list contains
+ * "OMEN" and if the "Feature" array contains "PerformanceControl".
  */
 static const char * const omen_thermal_profile_boards[] = {
 	"84DA", "84DB", "84DC", "8574", "8575", "860A", "87B5", "8572", "8573",
 	"8600", "8601", "8602", "8605", "8606", "8607", "8746", "8747", "8749",
 	"874A", "8603", "8604", "8748", "886B", "886C", "878A", "878B", "878C",
 	"88C8", "88CB", "8786", "8787", "8788", "88D1", "88D2", "88F4", "88FD",
-	"88F5", "88F6", "88F7", "88FE", "88FF", "8900", "8901", "8902", "8912",
-	"8917", "8918", "8949", "894A", "89EB", "8BAD", "8A42"
+	"88F5", "88F6", "8A13", "8A14", "8A15", "8A16", "88F7", "88FE", "8A17",
+	"8A18", "8A19", "8A1A", "8BAD", "8BB0", "88FF", "8900", "8901", "8902",
+	"8912", "8917", "8918", "8A97", "8A96", "8D2C", "8949", "8A98", "894A",
+	"8B1D", "89EB", "8A4C", "8A4D", "8A4E", "8A40", "8A41", "8A42", "8A43",
+	"8A44", "8BA8", "8BA9", "8BAA", "8BAB", "8BAC", "8C76", "8C77", "8C78",
+	"8BCA", "8BCB", "8BCD", "8BCF", "8C9B", "8BB3", "8BB4", "8C4D", "8C4E",
+	"8C58", "8C75", "8C74", "8C73", "8CC1", "8CC0", "8CF1", "8CF2", "8CF3",
+	"8CF4"
 };
 
-/* DMI Board names of Omen laptops that are specifically set to be thermal
+/*
+ * DMI Board names of Omen laptops that are specifically set to be thermal
  * profile version 0 by the Omen Command Center app, regardless of what
  * the get system design information WMI call returns
  */
@@ -73,17 +82,35 @@ static const char * const omen_thermal_profile_force_v0_boards[] = {
 	"8607", "8746", "8747", "8749", "874A", "8748"
 };
 
-/* DMI board names of Omen laptops that have a thermal profile timer which will
+/*
+ * DMI board names of Omen laptops that have a thermal profile timer which will
  * cause the embedded controller to set the thermal profile back to
  * "balanced" when reaching zero.
+ *
+ * Unlike for omen_thermal_profile_boards, there is no currently known way to
+ * know which boards have this feature. This list is based on boards that have
+ * either been reported to have this feature or boards that are part of the
+ * same model group.
+ *
+ * Volunteers with an Omen laptop are welcome to test this feature and report
+ * back to the maintainers.
  */
 static const char * const omen_timed_thermal_profile_boards[] = {
-	"8BAD", "8A42"
+	"88F7", "88FE", "8A17", "8A18", "8A19", "8A1A", "8BAD", "8BB0", "8A40",
+	"8A41", "8A42", "8A43", "8A44"
 };
 
-/* DMI Board names of Victus laptops */
+/*
+ * DMI Board names of Victus laptops -- again, we parse the aforementioned file
+ * in omen_thermal_profile_boards to know which boards are identified as
+ * "Victus".
+ */
 static const char * const victus_thermal_profile_boards[] = {
-	"8A25"
+	"88EE", "88EB", "88EC", "88ED", "8934", "8A21", "8A22", "88F8", "88F9",
+	"88FA", "8A25", "8A26", "8A27", "89B5", "8B3B", "8B3C", "8B3D", "89D8",
+	"8CC9", "8A3C", "8A3D", "8A3E", "8A3F", "8C30", "8C2F", "8D07", "8A4F",
+	"8A50", "8BB2", "8BC8", "8BB1", "8C2D", "8C2E", "8C3F", "8C40", "8BBD",
+	"8BBE", "8BC1", "8BC2", "8C9A", "8C99", "8BD4", "8BD5", "8C9C", "8C9D"
 };
 
 enum hp_wmi_radio {
-- 
2.45.2
Comment 3 Andrew 2024-08-06 20:30:28 UTC
I have no experience in deploying self-built kernels. Can I build it with the patch to run with my Ubuntu installation or should I run something completely separate? And what kind of feedback do you need? Temperatures/fan speeds? Also, is any fix for the curves implemented to be applied by the kernel or a way to manually set them?
Comment 4 Alexis Belmonte 2024-08-06 23:40:56 UTC
Basically, you need to build up a kernel, generate an initramfs image associated with that custom-built kernel and update your bootloader (I assume you're using GRUB2) to allow you to boot to it easily.

I found a guide that will help you get things going, but make sure to read my comment fully before proceeding: https://phoenixnap.com/kb/build-linux-kernel
I recommend you to grab the latest stable version that is available, so that should be 6.10.3 as I'm writing this comment.

Grab the kernel sources as described in the guide and extract it. Put the aforementioned patch that I've sent separately into a file, that you'll place at the root directory of the kernel source tree. You can name it "board-ids-update.patch", for example.

From the kernel source directory, apply the patch with the following command:

    git apply board-ids-update.patch

There should be no error applying it AFAIK, but let me know if something fails.

From there, follow the instructions from the guide that I've linked you to, and build the kernel with make -j$(nproc) so that your 32 cores are used during the process ;]

If you've done this correctly, you should be able to observe a striking difference when benchmarking the CPU when selecting the Performance mode with the AC power cord plugged into the laptop. :]

---

For the feedback part, I indeed want to know how your laptop behaves in terms of temperatures and fan speeds.

There is no fix available regarding the fan curves, as I haven't worked on this yet. There's no proper solution that I can think of either, as the fan curves are pretty much embedded in the firmware of the EC.

However, there is a workaround available -- you can manually write to the EC registers of your laptop to make the fans run at a specific percentage of speed.

From a terminal, type in

    modprobe ec_sys write_support=1
    echo -en '\x50\x50' | dd seek=44 bs=1 of=/sys/kernel/debug/ec/ec0/io

This should make your GPU and CPU fans spin decently and switch the EC fans into active mode (which means that the operating system is expected to control them manually, instead of being automatically PWMed by the EC based on the temperature sensors).

The first byte corresponds to the CPU fan, and the second byte corresponds to the GPU fan. Percentage goes from \x00 (0%) to \x64 (100%), anything above will yield back to \x64 and \xff switches it back to passive mode.

This is what I currently do when I play demanding games or run heavy workloads on my machine. Definitely not practical, but it gets the job done for now.

---

Let me know if you need anything else!

Alexis
Comment 5 Andrew 2024-08-07 20:21:30 UTC
Ok, I'll try it on the weekend. But does the broken fan speed mean the thermal control is completely broken so the CPU heats beyond safe temperatures or does it still keep the temperatures safe by throttling the frequency?
Comment 6 Alexis Belmonte 2024-08-07 20:48:35 UTC
It'll throttle, and eventually make the laptop either freeze or shut down if Tj > 100°C, taking into account my own experience.

This won't break anything, but it'll definitely get hot if you use the Performance power profile/power plan without manually setting the fan speeds under load.

Completely fine though on Eco or Normal power profiles, no need to manually set the fan speeds, but you can if you want to.
Comment 7 Andrew 2024-08-08 19:58:45 UTC
Do you mean the Gnome's power profiles?
Comment 8 Alexis Belmonte 2024-08-08 21:58:00 UTC
For example, yes! But this applies to pretty much any desktop environment that proposes control of the power plans to its users.
Comment 9 Andrew 2024-08-10 13:12:34 UTC
I have build the kernel with the patch but I haven't observed any changes. Even the fans did'n become louder when I ran the commands intended to override their speed. Are there any subtleties in the configuration that I could have missed?
Comment 10 Alexis Belmonte 2024-08-10 13:35:39 UTC
Make sure you are on 6.10.3 with uname -r as indicated in the guide.

For the commands that control the fans, make sure that there is no error in dmesg or journalctl -xe after running said commands.
Comment 11 Andrew 2024-08-10 13:45:43 UTC
uname -r returns 6.10.3 and I see no errors in the logs related to the fan control commands
Comment 12 Alexis Belmonte 2024-08-10 13:50:36 UTC
What does xxd /sys/kernel/debug/ec/ec0/io output?
Is secure boot enabled on your system?
Comment 13 Andrew 2024-08-10 14:02:56 UTC
I had to disable secure boot for the self-built kernel to boot.

xxd /sys/kernel/debug/ec/ec0/io returns this:

> 00000000: 0000 0000 0001 4800 ff00 00ff ffff 1c01  ......H.........
> 00000010: 0114 251e ff00 ffff ffff ffff 0100 0024  ..%............$
> 00000020: 0000 0000 0000 0080 00ff 2000 6464 4b59  .......... .ddKY
> 00000030: 5844 3049 3831 494f 364e 5a00 0100 00ff  XD0I81IO6NZ.....
> 00000040: ffff ff01 00ff ffff ff4c 494f 4e00 0000  .........LION...
> 00000050: 0002 ffff 3100 00ff 4130 2d41 0000 0000  ....1...A0-A....
> 00000060: 0080 1620 3333 332d 4143 2d31 322d 4100  ... 333-AC-12-A.
> 00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000080: 0000 0000 0b00 0000 0000 0000 0000 0000  ................
> 00000090: 3333 332d 4143 2d31 3257 4b30 3630 3833  333-AC-12WK06083
> 000000a0: 0000 00d8 4100 003a 0000 0008 642a 0078  ....A..:....d*.x
> 000000b0: 3a3a 313b 2f00 2928 00c8 0800 f242 1110  ::1;/.)(.....B..
> 000000c0: 0000 d81e d80b 7d33 3c2d 6c20 d81e 641d  ......}3<-l ..d.
> 000000d0: 0000 0000 0000 d81e 1503 5b01 0000 e000  ..........[.....
> 000000e0: 0000 0029 112a 112a 1100 0087 4307 0083  ...).*.*....C...
> 000000f0: 004a 0000 0000 ea33 5000 004a 5707 0000  .J.....3P..JW...
Comment 14 Alexis Belmonte 2024-08-10 14:12:53 UTC
OK, seems alright to me. I can even see that you did write to the two fan speed registers (take a look at row 0x20, near the end)

Try executing the following commands from a root terminal:

    rmmod hp_wmi
    modprobe hp_wmi dyndbg=+p

This will load the module with debug messages on. Then, post me the output of dmesg | tail -n20.
Comment 15 Andrew 2024-08-10 14:33:59 UTC
[   24.504382] systemd-journald[586]: /var/log/journal/7e27115c25054cc5b1940fbafac372c4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
[   24.746454] audit: type=1400 audit(1723300237.224:164): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=2305 comm="snap-confine" capability=12  capname="net_admin"
[   24.746464] audit: type=1400 audit(1723300237.224:165): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=2305 comm="snap-confine" capability=38  capname="perfmon"
[   24.752298] audit: type=1400 audit(1723300237.229:166): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.snapd-desktop-integration" name="/proc/2371/maps" pid=2371 comm="5" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[   24.964477] rfkill: input handler enabled
[   27.321702] audit: type=1400 audit(1723300239.799:167): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=2708 comm="snap-confine" capability=12  capname="net_admin"
[   27.321717] audit: type=1400 audit(1723300239.799:168): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=2708 comm="snap-confine" capability=38  capname="perfmon"
[   27.324454] audit: type=1400 audit(1723300239.802:169): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.snapd-desktop-integration" name="/proc/2727/maps" pid=2727 comm="5" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[   27.474652] rfkill: input handler disabled
[   32.123172] audit: type=1400 audit(1723300244.600:170): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=3676 comm="snap-confine" capability=12  capname="net_admin"
[   32.123177] audit: type=1400 audit(1723300244.600:171): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=3676 comm="snap-confine" capability=38  capname="perfmon"
[   32.175909] audit: type=1400 audit(1723300244.653:172): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.firefox" name="/usr/local/share/" pid=3695 comm="5" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[   32.176036] audit: type=1400 audit(1723300244.653:173): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.179607] audit: type=1400 audit(1723300244.657:174): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.179912] audit: type=1400 audit(1723300244.657:175): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.180483] audit: type=1400 audit(1723300244.658:176): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.180878] audit: type=1400 audit(1723300244.658:177): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.181799] audit: type=1400 audit(1723300244.659:178): apparmor="DENIED" operation="sendmsg" class="net" profile="snap-update-ns.firefox" pid=3695 comm="5" family="unix" sock_type="stream" protocol=0 requested_mask="send" denied_mask="send"
[   32.201039] audit: type=1400 audit(1723300244.678:179): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.firefox" name="/proc/3703/maps" pid=3703 comm="5" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[   96.271392] input: HP WMI hotkeys as /devices/virtual/input/input30
Comment 16 Alexis Belmonte 2024-08-10 14:47:20 UTC
Seems also right to me.

Make sure to switch your laptop from Normal/Eco modes to Performance mode (confirm with powerprofilesctl) and is plugged in into AC, otherwise your TDP will be limited. This is very important for testing.

Benchmark with https://silver.urih.com, preferrably with a Chromium-based web-browser. Watch the load with s-tui as root. You should be able to see power usage, thermals, fan speeds, etc. as bar graphs. We'll do text-based probing/logging if necessary, but for now this is fine.

Make multiple benchmarks to test if your board exhibits timed thermal profile switching (so that I can maybe add it to omen_timed_thermal_profile_boards if that's the case). You can observe this phenomenom by checking if the score is  inconsistent over time (80K points on the first run, then stuck at 20K for example).

Do the same testing under Windows and compare your results. If you have similar-ish scores, then it works. Otherwise, there's something else going on which needs further troubleshooting.
Comment 17 Andrew 2024-08-10 15:48:13 UTC
Under Windows I get around 83000 decreasing to 75000 for subsequent runs. In Linux I get a sustained score around 50000 - unless I run the test right after a reboot from windows, then it's 63000. Not shure what that means about thermal profile switching
Comment 18 Alexis Belmonte 2024-08-10 16:37:41 UTC
To put it simply: Omen boards have a timer that countdowns before the Performance power profile is switched back *automatically* to the Normal power profile. I have no idea why, but this partially explains why you see the decrease from 83K to 75K on subsequent runs.

There is also probably thermal throttling involved, make sure that you launch the Omen Control Center. The bad fan curve tables are independent of the operating system -- unless if a software solution overrides it, you'll have bad automatic thermal control.

I realized that you don't seem to have applied the patch correctly, looking at the output of uname -r. uname -r should've gave you a version with a -dirty suffix.

Please try to run git status in the root directory of the kernel sources. If done correctly, you should see something like this:

HEAD detached at v6.11-rc2
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   drivers/platform/x86/hp/hp-wmi.c

If not, you didn't apply the patch before building it.

Let me know if you need any help.
Comment 19 Andrew 2024-08-10 17:08:38 UTC
I cannot get a git status because I downloaded the code in a tarball and didn't clone the git repo. Opening drivers/platform/x86/hp/hp-wmi.c in vim I do see 8C77 in the list, however.
Also, under windows in the Omen hub's balanced mode I only get 63000 down to 55000-ish scores. The transition from 83000 to 75000 happens in around a minute and the power consumption gets around 90Wt unlike 55Wt in the balanced mode, so I guess that looks like a switch from PL2 to PL1
Comment 20 Alexis Belmonte 2024-08-10 17:26:31 UTC
Alright, no worries. Could you post the output of dmidecode, please?
Comment 21 Andrew 2024-08-10 17:59:59 UTC
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4 present.
75 structures occupying 4421 bytes.
Table at 0x56E35000.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: Insyde
	Version: F.11
	Release Date: 05/29/2024
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 9728 kB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 15.11
	Firmware Revision: 9.29

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: HP
	Product Name: OMEN by HP Gaming Laptop 16-wf1xxx
	Version: Type1ProductConfigId
	Serial Number: CND4161HT4
	UUID: 24e2a39b-3dfd-ee11-a4f6-30138b1191c7
	Wake-up Type: Power Switch
	SKU Number: A0KY1PA#AB2
	Family: 103C_5335M7 HP OMEN

Handle 0x0002, DMI type 2, 17 bytes
Base Board Information
	Manufacturer: HP
	Product Name: 8C77
	Version: 09.29
	Serial Number: PTJUBF2MYJFPK4
	Asset Tag: Type2 - Board Asset Tag
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Type2 - Board Chassis Location
	Chassis Handle: 0x0003
	Type: Motherboard
	Contained Object Handles: 0

Handle 0x0003, DMI type 3, 24 bytes
Chassis Information
	Manufacturer: HP
	Type: Notebook
	Lock: Not Present
	Version: Chassis Version
	Serial Number: CND4161HT4
	Asset Tag: Chassis Asset Tag
	Boot-up State: Safe
	Power Supply State: Safe
	Thermal State: Safe
	Security Status: None
	OEM Information: 0x00000000
	Height: Unspecified
	Number Of Power Cords: 1
	Contained Elements: 0
	SKU Number: SKU Number

Handle 0x0004, DMI type 4, 48 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i9
	Manufacturer: Intel(R) Corporation
	ID: 71 06 0B 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 183, Stepping 1
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		PSE-36 (36-bit page size extension)
		CLFSH (CLFLUSH instruction supported)
		DS (Debug store)
		ACPI (ACPI supported)
		MMX (MMX technology supported)
		FXSR (FXSAVE and FXSTOR instructions supported)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		SS (Self-snoop)
		HTT (Multi-threading)
		TM (Thermal monitor supported)
		PBE (Pending break enabled)
	Version: Intel(R) Core(TM) i9-14900HX
	Voltage: 1.1 V
	External Clock: 100 MHz
	Max Speed: 8500 MHz
	Current Speed: 3960 MHz
	Status: Populated, Enabled
	Upgrade: <OUT OF SPEC>
	L1 Cache Handle: 0x000A
	L2 Cache Handle: 0x000B
	L3 Cache Handle: 0x000C
	Serial Number: To Be Filled By O.E.M.
	Asset Tag: To Be Filled By O.E.M.
	Part Number: To Be Filled By O.E.M.
	Core Count: 24
	Core Enabled: 24
	Thread Count: 32
	Characteristics:
		64-bit capable
		Multi-Core
		Hardware Thread
		Execute Protection
		Enhanced Virtualization
		Power/Performance Control

Handle 0x0005, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 384 kB
	Maximum Size: 384 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Data
	Associativity: 12-way Set-associative

Handle 0x0006, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 256 kB
	Maximum Size: 256 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Instruction
	Associativity: 8-way Set-associative

Handle 0x0007, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L2 Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 16 MB
	Maximum Size: 16 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Single-bit ECC
	System Type: Unified
	Associativity: 16-way Set-associative

Handle 0x0008, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L3 Cache
	Configuration: Enabled, Not Socketed, Level 3
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 36 MB
	Maximum Size: 36 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Multi-bit ECC
	System Type: Unified
	Associativity: 12-way Set-associative

Handle 0x0009, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 512 kB
	Maximum Size: 512 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Data
	Associativity: 8-way Set-associative

Handle 0x000A, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L1 Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 1 MB
	Maximum Size: 1 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Parity
	System Type: Instruction
	Associativity: 8-way Set-associative

Handle 0x000B, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L2 Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 16 MB
	Maximum Size: 16 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Single-bit ECC
	System Type: Unified
	Associativity: 16-way Set-associative

Handle 0x000C, DMI type 7, 27 bytes
Cache Information
	Socket Designation: L3 Cache
	Configuration: Enabled, Not Socketed, Level 3
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 36 MB
	Maximum Size: 36 MB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Multi-bit ECC
	System Type: Unified
	Associativity: 12-way Set-associative

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J1A1
	Internal Connector Type: None
	External Reference Designator: Keyboard
	External Connector Type: PS/2
	Port Type: Keyboard Port

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J1A1
	Internal Connector Type: None
	External Reference Designator: Mouse
	External Connector Type: PS/2
	Port Type: Mouse Port

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A1
	Internal Connector Type: None
	External Reference Designator: TV OUT
	External Connector Type: Mini DIN
	Port Type: Video Port

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A2
	Internal Connector Type: None
	External Reference Designator: CRT
	External Connector Type: DB-15 female
	Port Type: Video Port

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J2A2
	Internal Connector Type: None
	External Reference Designator: COM 1
	External Connector Type: DB-9 male
	Port Type: Serial Port 16550A Compatible

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J3A1
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0016, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0017, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A2
	Internal Connector Type: None
	External Reference Designator: USB
	External Connector Type: Access Bus (USB)
	Port Type: USB

Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J5A1
	Internal Connector Type: None
	External Reference Designator: Network
	External Connector Type: RJ-45
	Port Type: Network Port

Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J9G2
	Internal Connector Type: On Board Floppy
	External Reference Designator: OnBoard Floppy Type
	External Connector Type: None
	Port Type: Other

Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J7J1
	Internal Connector Type: On Board IDE
	External Reference Designator: OnBoard Primary IDE
	External Connector Type: None
	Port Type: Other

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J30
	Internal Connector Type: None
	External Reference Designator: Microphone In
	External Connector Type: Mini Jack (headphones)
	Port Type: Audio Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J30
	Internal Connector Type: None
	External Reference Designator: Line In
	External Connector Type: Mini Jack (headphones)
	Port Type: Audio Port

Handle 0x001D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: J30
	Internal Connector Type: None
	External Reference Designator: Speaker Out
	External Connector Type: Mini Jack (headphones)
	Port Type: Audio Port

Handle 0x001E, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Ctrl0Port0
	Internal Connector Type: SAS/SATA Plug Receptacle
	External Reference Designator: Primary HDD Bay*
	External Connector Type: SAS/SATA Plug Receptacle
	Port Type: SATA

Handle 0x001F, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Ctrl0Port1
	Internal Connector Type: SAS/SATA Plug Receptacle
	External Reference Designator: Secondary HDD Bay*
	External Connector Type: SAS/SATA Plug Receptacle
	Port Type: SATA

Handle 0x0020, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: HDMI
	Internal Connector Type: Proprietary
	External Reference Designator: HDMI Port 1
	External Connector Type: Other
	Port Type: Video Port

Handle 0x0021, DMI type 9, 19 bytes
System Slot Information
	Designation: J6C1
	Type: x1 PCI Express x1
	Current Usage: Available
	Length: Other
	ID: 1
	Characteristics:
		PME signal is supported
		Hot-plug devices are supported
	Bus Address: 0000:00:1c.0
	Data Bus Width: 8
	Peer Devices: 0

Handle 0x0022, DMI type 9, 19 bytes
System Slot Information
	Designation: J6D2
	Type: x1 PCI Express x1
	Current Usage: Available
	Length: Other
	ID: 2
	Characteristics:
		PME signal is supported
		Hot-plug devices are supported
	Bus Address: 0000:00:1c.1
	Data Bus Width: 8
	Peer Devices: 0

Handle 0x0023, DMI type 9, 19 bytes
System Slot Information
	Designation: J7C1
	Type: x1 PCI Express x1
	Current Usage: Available
	Length: Other
	ID: 3
	Characteristics:
		PME signal is supported
		Hot-plug devices are supported
	Bus Address: 0000:00:1c.2
	Data Bus Width: 8
	Peer Devices: 0

Handle 0x0024, DMI type 9, 19 bytes
System Slot Information
	Designation: J7D1
	Type: x1 PCI Express x1
	Current Usage: Available
	Length: Other
	ID: 4
	Characteristics:
		PME signal is supported
		Hot-plug devices are supported
	Bus Address: 0000:00:1c.3
	Data Bus Width: 8
	Peer Devices: 0

Handle 0x0025, DMI type 9, 19 bytes
System Slot Information
	Designation: J8C1
	Type: x4 PCI Express x4
	Current Usage: Available
	Length: Other
	ID: 5
	Characteristics:
		PME signal is supported
		Hot-plug devices are supported
	Bus Address: 0000:00:1c.4
	Data Bus Width: 10
	Peer Devices: 0

Handle 0x0026, DMI type 11, 5 bytes
OEM Strings
	String 1: $HP$
	String 2: OemString2
	String 3: BCU_Y
	String 4: OemString4
	String 5: OemString5
	String 6: HP_Mute_LED_P_G
	String 7: FBYTE#3K6b8AaHapaqatawbAbhd7dXfPfdhZkFm9mVmfpJpnpqprqB.Rg;
	String 8: BUILDID#24WWBR1Z605#SAB2#DAB2;
	String 9: OemString9
	String 10: OemString10
	String 11: OemString11
	String 12: OemString12
	String 13: Feature - 000

Handle 0x0027, DMI type 12, 5 bytes
System Configuration Options
	Option 1: ConfigOptions1
	Option 2: ConfigOptions2
	Option 3: ConfigOptions3
	Option 4: ConfigOptions4
	Option 5: ConfigOptions5
	Option 6: ConfigOptions6
	Option 7: ConfigOptions7
	Option 8: ConfigOptions8

Handle 0x0028, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 5
		en|US|iso8859-1,0
		fr|FR|iso8859-1,0
		es|ES|iso8859-1,0
		zh|TW|unicode,0
		zh|CN|unicode,0
	Currently Installed Language: en|US|iso8859-1,0

Handle 0x0029, DMI type 14, 8 bytes
Group Associations
	Name: $MEI
	Items: 1
		0x0042 (OEM-specific)

Handle 0x0049, DMI type 14, 23 bytes
Group Associations
	Name: Firmware Version Info
	Items: 6
		0x0043 (OEM-specific)
		0x0044 (OEM-specific)
		0x0045 (OEM-specific)
		0x0046 (OEM-specific)
		0x0047 (OEM-specific)
		0x0048 (OEM-specific)

Handle 0x002A, DMI type 15, 29 bytes
System Event Log
	Area Length: 0 bytes
	Header Start Offset: 0x0000
	Header Length: 8192 bytes
	Data Start Offset: 0x2000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x12345678
	Header Format: OEM-specific
	Supported Log Type Descriptors: 3
	Descriptor 1: POST memory resize
	Data Format 1: None
	Descriptor 2: POST error
	Data Format 2: POST results bitmap
	Descriptor 3: Log area reset/cleared
	Data Format 3: None

Handle 0x002B, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 64 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x002C, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002B
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 32 GB
	Form Factor: SODIMM
	Set: None
	Locator: Bottom-slot 1(left)
	Bank Locator: BANK 0
	Type: DDR5
	Type Detail: Synchronous
	Speed: 5600 MT/s
	Manufacturer: Kingston
	Serial Number: FF0525EC
	Asset Tag: 0
	Part Number: KF556S40-32         
	Rank: 2
	Configured Memory Speed: 5600 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.1 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Not Specified
	Module Manufacturer ID: Bank 2, Hex 0x98
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 32 GB
	Cache Size: None
	Logical Size: None

Handle 0x002D, DMI type 17, 92 bytes
Memory Device
	Array Handle: 0x002B
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 32 GB
	Form Factor: SODIMM
	Set: None
	Locator: Bottom-slot 2(right)
	Bank Locator: BANK 0
	Type: DDR5
	Type Detail: Synchronous
	Speed: 5600 MT/s
	Manufacturer: Kingston
	Serial Number: EA0525F8
	Asset Tag: 0
	Part Number: KF556S40-32         
	Rank: 2
	Configured Memory Speed: 5600 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.1 V
	Memory Technology: DRAM
	Memory Operating Mode Capability: Volatile memory
	Firmware Version: Not Specified
	Module Manufacturer ID: Bank 2, Hex 0x98
	Module Product ID: Unknown
	Memory Subsystem Controller Manufacturer ID: Unknown
	Memory Subsystem Controller Product ID: Unknown
	Non-Volatile Size: None
	Volatile Size: 32 GB
	Cache Size: None
	Logical Size: None

Handle 0x002E, DMI type 19, 31 bytes
Memory Array Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x00FFFFFFFFF
	Range Size: 64 GB
	Physical Array Handle: 0x002B
	Partition Width: 2

Handle 0x002F, DMI type 20, 35 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x007FFFFFFFF
	Range Size: 32 GB
	Physical Device Handle: 0x002C
	Memory Array Mapped Address Handle: 0x002E
	Partition Row Position: 1
	Interleave Position: 1
	Interleaved Data Depth: 1

Handle 0x0030, DMI type 20, 35 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x007FFFFFFFF
	Range Size: 32 GB
	Physical Device Handle: 0x002D
	Memory Array Mapped Address Handle: 0x002E
	Partition Row Position: 1
	Interleave Position: 1
	Interleaved Data Depth: 1

Handle 0x0031, DMI type 21, 7 bytes
Built-in Pointing Device
	Type: Touch Pad
	Interface: PS/2
	Buttons: 4

Handle 0x0032, DMI type 22, 26 bytes
Portable Battery
	Location: Primary
	Manufacturer: 333-AC-12-A
	Manufacture Date: 0
	Serial Number: 0
	Name: WK06083
	Design Capacity: 82990 mWh
	Design Voltage: 11580 mV
	SBDS Version: 1
	Maximum Error: 2%
	SBDS Chemistry: LION
	OEM-specific Information: 0x0008050A

Handle 0x0033, DMI type 24, 5 bytes
Hardware Security
	Power-On Password Status: Disabled
	Keyboard Password Status: Not Implemented
	Administrator Password Status: Disabled
	Front Panel Reset Status: Not Implemented

Handle 0x0034, DMI type 26, 24 bytes
Voltage Probe
	Description: Voltage Probe Description
	Location: Unknown
	Status: Unknown
	Maximum Value: Unknown
	Minimum Value: Unknown
	Resolution: Unknown
	Tolerance: Unknown
	Accuracy: Unknown
	OEM-specific Information: 0x00008000
	Nominal Value: 0.000 V

Handle 0x0035, DMI type 27, 15 bytes
Cooling Device
	Temperature Probe Handle: 0x0036
	Type: Fan
	Status: OK
	OEM-specific Information: 0x00000000
	Nominal Speed: 8192 rpm
	Description: Cooling Device Description

Handle 0x0036, DMI type 28, 24 bytes
Temperature Probe
	Description: Temperature Probe Description
	Location: Unknown
	Status: Unknown
	Maximum Value: Unknown
	Minimum Value: Unknown
	Resolution: Unknown
	Tolerance: Unknown
	Accuracy: Unknown
	OEM-specific Information: 0x00008000
	Nominal Value: 0.0 deg C

Handle 0x0037, DMI type 32, 11 bytes
System Boot Information
	Status: No errors detected

Handle 0x0038, DMI type 39, 22 bytes
System Power Supply
	Location: OEM Define 0
	Name: OEM Define 1
	Manufacturer: OEM Define 2
	Serial Number: OEM Define 3
	Asset Tag: OEM Define 4
	Model Part Number: OEM Define 5
	Revision: OEM Define 6
	Max Power Capacity: 75 W
	Status: Not Present
	Type: Regulator
	Input Voltage Range Switching: Auto-switch
	Plugged: No
	Hot Replaceable: No

Handle 0x0039, DMI type 40, 17 bytes
Additional Information 1
	Referenced Handle: 0x0012
	Referenced Offset: 0x05
	String: PCIExpressx16
	Value: 0xaa
Additional Information 2
	Referenced Handle: 0x0000
	Referenced Offset: 0x05
	String: Compiler Version: VC 9.0
	Value: 0x00

Handle 0x003A, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: IGD
	Type: Video
	Status: Disabled
	Type Instance: 1
	Bus Address: 0000:00:02.0

Handle 0x003B, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: WLAN
	Type: Other
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:00:14.3

Handle 0x003C, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: Hanksville Gbe Lan Connection
	Type: Ethernet
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:43:00.0

Handle 0x003D, DMI type 43, 31 bytes
TPM Device
	Vendor ID: INTC
	Specification Version: 2.0
	Firmware Revision: 600.18
	Description: TPM Device
	Characteristics:
		TPM Device characteristics not supported
	OEM-specific Information: 0x00000000

Handle 0x003E, DMI type 128, 8 bytes
OEM-specific Type
	Header and Data:
		80 08 3E 00 55 AA 55 AA
	Strings:
		Oem Type 128 Test 1
		Oem Type 128 Test 2

Handle 0x003F, DMI type 129, 8 bytes
OEM-specific Type
	Header and Data:
		81 08 3F 00 01 01 02 01
	Strings:
		Insyde_ASF_001
		Insyde_ASF_002

Handle 0x0040, DMI type 131, 64 bytes
OEM-specific Type
	Header and Data:
		83 40 40 00 31 00 00 00 00 00 00 00 00 00 00 00
		F8 00 0C 7A 00 00 00 00 21 20 00 00 01 00 10 00
		39 09 1E 00 00 00 00 00 FE 00 FF FF 00 00 00 00
		00 00 00 00 22 00 00 00 76 50 72 6F 00 00 00 00

Handle 0x0041, DMI type 136, 6 bytes
OEM-specific Type
	Header and Data:
		88 06 41 00 FF FF

Handle 0x0042, DMI type 219, 106 bytes
OEM-specific Type
	Header and Data:
		DB 6A 42 00 01 04 01 45 02 00 90 06 01 85 39 20
		00 00 00 00 40 00 00 03 1F 04 10 CF 03 60 44 02
		FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
		FF FF FF FF FF FF FF FF 03 00 00 00 80 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00
	Strings:
		MEI1
		MEI2
		MEI3
		MEI4

Handle 0x0043, DMI type 221, 12 bytes
OEM-specific Type
	Header and Data:
		DD 0C 43 00 01 01 00 04 00 00 00 00
	Strings:
		FSP Binary Version

Handle 0x0044, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		DD 1A 44 00 03 01 00 0C 00 D4 50 00 02 00 00 00
		01 23 00 03 00 FF FF FF FF FF
	Strings:
		Reference Code - CPU
		uCode Version
		TXT ACM version

Handle 0x0045, DMI type 221, 26 bytes
OEM-specific Type
	Header and Data:
		DD 1A 45 00 03 01 00 0C 00 D4 50 00 02 00 00 00
		00 00 00 03 04 10 01 1E 39 09
	Strings:
		Reference Code - ME
		MEBx version
		ME Firmware Version
		Consumer SKU

Handle 0x0046, DMI type 221, 47 bytes
OEM-specific Type
	Header and Data:
		DD 2F 46 00 06 01 00 0C 00 D4 50 00 02 03 FF FF
		FF FF FF 04 00 FF FF FF 11 00 05 00 FF FF FF 11
		00 06 00 FF FF FF FF FF 07 00 04 00 00 00 00
	Strings:
		Reference Code - PCH
		PCH-CRID Status
		Disabled
		PCH-CRID Original Value
		PCH-CRID New Value
		OPROM - RST - RAID
		PCH Hsio Version

Handle 0x0047, DMI type 221, 82 bytes
OEM-specific Type
	Header and Data:
		DD 52 47 00 0B 01 00 0C 00 D4 50 00 02 00 00 00
		04 DB 00 03 00 0C 00 D4 50 00 04 05 FF FF FF FF
		FF 06 00 00 00 00 01 00 07 00 00 00 00 01 00 08
		00 FF FF FF FF FF 09 00 FF FF FF FF FF 0A 00 FF
		FF FF FF FF 0B 00 FF FF FF FF FF 0C 00 FF FF FF
		FF FF
	Strings:
		Reference Code - SA - System Agent
		Reference Code - MRC
		SA - PCIe Version
		SA-CRID Status
		Disabled
		SA-CRID Original Value
		SA-CRID New Value
		OPROM - VBIOS
		IO Manageability Engine FW Version
		PHY Build Version
		Thunderbolt(TM) FW Version
		System Agent Manageability Engine FW Version

Handle 0x0048, DMI type 221, 103 bytes
OEM-specific Type
	Header and Data:
		DD 67 48 00 0E 01 00 FF FF FF FF FF 02 00 FF FF
		FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF
		FF 07 08 FF FF FF FF FF 09 00 FF FF FF FF FF 0A
		00 FF FF FF FF FF 0B 00 09 1D 00 00 00 0C 00 00
		17 00 81 10 0D 00 FF FF FF FF FF 0E 00 00 07 00
		00 00 0F 00 FF FF FF FF FF 10 00 FF FF FF FF FF
		11 00 FF FF FF FF FF
	Strings:
		Lan Phy Version
		Sensor Firmware Version
		Debug Mode Status
		Disabled
		Performance Mode Status
		Disabled
		Debug Use USB(Disabled:Serial)
		Disabled
		ICC Overclocking Version
		UNDI Version
		EC FW Version
		GOP Version
		Royal Park Version
		Platform Version
		RST PreOS Version
		TCSS PD0 Version
		TCSS PD1 Version

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table
Comment 22 Alexis Belmonte 2024-08-10 18:17:13 UTC
You seem to have an Insyde BIOS, while I have an AMI one -- but this *shouldn't* affect functionality with the EC -- and I can confirm with the dump that you've provided me earlier.

I am kind of perplexed by this, I don't think there's anything wrong. The only thing that got my attention on is how the table is encoded, but this again shouldn't be too problematic either.

I'll have to take a look at how the Omen Control Center manages your specific board, and if there is any kind of extra steps to consider to achieve the same goal as on my board, but right now I don't see anything out of the ordinary.
Comment 23 Alexis Belmonte 2024-11-12 16:47:52 UTC
I'm making a note on this issue for the record, as someone has contacted me
with a similar issue.

I'm putting my answer here, as it might be useful for someone else in
the future if they want to investigate this issue further.

On Tue, Nov 12, 2024 at 08:45:00AM +0800, Mingcong Bai wrote:
>
> I've taken a look at your ACPI tables, and I noticed that my BIOS (AMI)
> firmware declares the specific _WDG buffer for the WMID device in the DSDT
> table, as opposed to yours (Insyde) which seem to declare it in SSDT12.
> 
> Looking at how the ACPI subsystem is implemented, I found the following
> piece of code that *could* be an issue, although not necessarily related
> to what you're experiencing right now:
> 
> ...
> drivers/acpi/bus.c-1256-        acpi_sysfs_init();
> drivers/acpi/bus.c-1257-
> drivers/acpi/bus.c-1258-        acpi_early_processor_set_pdc();
> drivers/acpi/bus.c-1259-
> drivers/acpi/bus.c-1260-        /*
> drivers/acpi/bus.c-1261-         * Maybe EC region is required at
> bus_scan/acpi_get_devices. So it
> drivers/acpi/bus.c-1262-         * is necessary to enable it as early as
> possible.
> drivers/acpi/bus.c-1263-         */
> drivers/acpi/bus.c:1264:        acpi_ec_dsdt_probe();
> drivers/acpi/bus.c-1265-
> drivers/acpi/bus.c-1266-        pr_info("Interpreter enabled\n");
> drivers/acpi/bus.c-1267-
> drivers/acpi/bus.c-1268-        /* Initialize sleep structures */
> drivers/acpi/bus.c-1269-        acpi_sleep_init();
> ...
> 
> There is probably a quirk in how wmi_has_guid, and indirectly parse_wdg and
> acpi_wmi_probe are implemented, that makes the ACPI subsystem skip the
> _WDG buffer in the SSDT12 table. I'm not sure if this is the case, but
> it could be a possibility.
>