All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krishna Chomal <krishna.chomal108@gmail.com>
To: Lorenzo Collevecchio <lorenzocollevecchio17@gmail.com>
Cc: platform-driver-x86@vger.kernel.org, linux-acpi@vger.kernel.org,
	 linux-hwmon@vger.kernel.org, W_Armin@gmx.de
Subject: Re: hp-wmi: WHCM AE_AML_OPERAND_TYPE and fan init -22 on HP OmniBook 5 16-ag1xxx (board 8DF4)
Date: Mon, 12 Oct 2026 20:54:24 +0530	[thread overview]
Message-ID: <asz7WqGzukhkYHGD@archlinux> (raw)
In-Reply-To: <CAPvUaSo-ubCOCYYPadY1C23y1Fd_AAhQLuVKWRa6F1XVh6mk_Q@mail.gmail.com>

On Mon, Oct 12, 2026 at 10:08:43AM +0200, Lorenzo Collevecchio wrote:
>Hi Armin, Krishna,
>
>Thanks for the quick replies.
>
>acpidump:
>https://gist.github.com/CollevecchioLorenzo/aef5917d9775629d48618bd42cb5f5e2
>
>I booted 7.2.9-2-cachyos with modprobe.blacklist=hp_bioscfg
>(confirmed in /proc/cmdline; hp_bioscfg is not loaded). Counts of
>each message in dmesg, before and after:
>
>  WHCM AE_AML_OPERAND_TYPE:                 3 before, 3 after
>  "Failed to apply initial fan settings: -22": 1 before, 1 after
>  WQBC / WQBE AE_AML_OPERAND_VALUE:         1/1 before, 0/0 after
>
>So the WQBC/WQBE errors come from hp_bioscfg, as you suspected. The
>WHCM errors and the -22 are not caused by it: they still occur with
>hp_bioscfg blacklisted, right before "hp_wmi: Registered as platform
>profile handler".
>
>Windows, as you asked (Krishna):
>- The Windows power mode setting exists, but that is standard
>  Windows, i didn't check for HP specific.
>- Omen Gaming Hub offers a performance mode
>  option on this laptop.

Interesting, what choices does it offer you? Eco/Balanced/Performance?
Or something else?

>- The BIOS has a "Fan Always On" setting. I had it turned off
>
>Happy to test any patch or run further commands.

Can you apply the following diff and share the output of:
# dmesg | grep "hp_wmi"

Expected results:
- No "failed to apply initial fan settings: -22" in dmesg
- pwm1_enable should be hidden

Note:
- I have also added a debug print to get fan speed query result. From your
   acpidump, it looks like a stub implementation returning all zeros buffer
   (0 RPM) which should have made fan{1,2}_input visible but it's interesting
   that it isn't visible; the dmesg log should help us gain more insight.
- All other errors in dmesg may (will) be same, as this patch isn't
   intended to solve them.

diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 3ec6047c0f89..ee51790549ed 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -2705,8 +2705,14 @@ static umode_t hp_wmi_hwmon_is_visible(const void *data,
  				       enum hwmon_sensor_types type,
  				       u32 attr, int channel)
  {
+	int fan_count;
+	int fan_speed;
+
  	switch (type) {
  	case hwmon_pwm:
+		fan_count = hp_wmi_get_fan_count_userdefine_trigger();
+		if (attr == hwmon_pwm_enable && fan_count <= 0)
+			return 0;
  		if (attr == hwmon_pwm_input && !hp_wmi_fan_control_supported())
  			return 0;
  		return 0644;
@@ -2715,7 +2721,9 @@ static umode_t hp_wmi_hwmon_is_visible(const void *data,
  			if (hp_wmi_get_active_fan_speed(channel) >= 0)
  				return 0444;
  		} else {
-			if (hp_wmi_get_fan_speed(channel) >= 0)
+			fan_speed = hp_wmi_get_fan_speed(channel);
+			pr_info("channel = %d | fan_speed = %d\n", channel, fan_speed);
+			if (fan_speed >= 0)
  				return 0444;
  		}
  		break;
@@ -2931,8 +2939,13 @@ static int hp_wmi_hwmon_init(void)
  	struct device *dev = &hp_wmi_platform_dev->dev;
  	struct hp_wmi_hwmon_priv *priv;
  	struct device *hwmon;
+	int fan_count;
  	int ret;
  
+	fan_count = hp_wmi_get_fan_count_userdefine_trigger();
+	if (fan_count <= 0)
+		return 0;
+
  	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
  	if (!priv)
  		return -ENOMEM;


>Thanks,
>Lorenzo
>
>
>
>
>Il giorno lun 12 ott 2026 alle ore 06:03 Krishna Chomal
><krishna.chomal108@gmail.com> ha scritto:
>>
>> +Armin Wolf
>>
>> On Sun, Oct 11, 2026 at 06:03:25PM +0200, Lorenzo Collevecchio wrote:
>> >Hello,
>> >
>> >I am seeing hp-wmi fan interface failures on an HP OmniBook 5
>> >16-ag1xxx. This is not a gaming model.
>>
>> Hi Lorenzo,
>>
>> Thanks for reporting.
>>
>> >Hardware:
>> >  product_name: HP OmniBook 5 Laptop 16-ag1xxx (16-AG1002SL)
>> >  board_name:   8DF4
>> >  BIOS:         F.12, 04/10/2026 (no newer firmware listed on LVFS for
>> >this machine)
>> >  Kernel:       7.2.9-2-cachyos (also tested 6.18.55-2-cachyos-lts;
>> >ACPICA 20250807 vs 20260408)
>> >
>> >Symptoms:
>> >1. At boot, \_SB.WMID.WHCM (called via WMAA) fails three times with
>> >   "AE_AML_OPERAND_TYPE: Needed [Buffer/String/Package], found
>> >[Integer]" while resolving operands for [Index].
>>
>> This is likely due to hp-bioscfg instead of hp-wmi.
>>
>> >2. Immediately afterwards: "hp-wmi hp-wmi: Failed to apply initial fan
>> >settings: -22".
>>
>> Ah yes! This is because we are currently enabling fan control for ALL
>> devices. If you share your acpidump, I can check if we should use the
>> HPWMI_FAN_COUNT_GET_QUERY to decide whether to allow pwm1_enable or not.
>>
>> >3. Later: "Attempt to CreateField of length zero" in \_SB.WMID.WQBC
>> >and WQBE (AE_AML_OPERAND_VALUE).
>>
>> This is also likely due to hp-bioscfg. Try booting with kernel cmdline
>> parameter "modprobe.blacklist=hp_bioscfg" and see if these disappear.
>> That will help us narrow down the scope. But in any case, I think Armin
>> Wolf will have to help here since I am not familiar with bioscfg anyway.
>>
>> >4. hp_wmi still registers as a platform profile handler (quiet
>> >balanced performance).
>>
>> This is because 8DF4 is not present in any whitelists, so it takes a
>> fallback path and uses legacy WMI queries. Honestly, I am not sure if
>> platform profile should be registered for OmniBook devices. Could you
>> let me know if Omen Gaming Hub on Windows allows you to switch
>> performance modes or there is no option for this?
>>
>> >5. /sys/devices/platform/hp-wmi/hwmon/*/ contains only pwm1_enable
>> >(rw); there is no pwm1 and no fan1_input.
>>
>> Intended.
>>
>> * pwm1_enable - As said, this is because we are currently (incorrectly)
>>                  enabling fan control for all devices.
>> * pwm1 - Absent because manual fan control must be unavailable on this
>>           board.
>> * fan1_input - Absent because get fan speed query must be failing.
>>
>> >6. On the LTS kernel the same WHCM error repeats about every 2.2 s
>> >while something polls the hp hwmon device (277 times between 551 s and
>> >1165 s uptime).
>> >7. ACPI thermal: "Invalid critical threshold (-274000)" and "No valid
>> >trip points!" for thermal zone TSZ0.
>> >
>> >Fan behaviour:
>> >- acpi_fan (acpi-fan PNP0C0B, "Using Microsoft fan extensions")
>> >exposes fan1_input. It sometimes shows about 2400 RPM and sometimes 0
>> >RPM.
>> >- The fan works normally under Windows on the same machine.
>> >- I once saw the CPU around 95 C with the fan apparently stopped on
>> >Linux; I have not been able to reproduce it yet and am collecting a
>> >temperature/RPM log.
>> >
>> >I suspect the WMI query path the driver uses for fan settings is not
>> >implemented by this firmware, so hp-wmi should probably not attempt it
>> >on board 8DF4. I would be glad to test patches or provide acpidump
>> >output, WMI GUID listings or any other data.
>>
>> acpidump would be helpful.
>>
>> Thanks,
>> Krishna
>>
>> >Thanks,
>> >Lorenzo

  reply	other threads:[~2026-10-12 15:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-11 16:03 hp-wmi: WHCM AE_AML_OPERAND_TYPE and fan init -22 on HP OmniBook 5 16-ag1xxx (board 8DF4) Lorenzo Collevecchio
2026-10-11 22:45 ` Armin Wolf
2026-10-12  4:03 ` Krishna Chomal
2026-10-12  8:08   ` Lorenzo Collevecchio
2026-10-12 15:24     ` Krishna Chomal [this message]
2026-10-12 16:04       ` Lorenzo Collevecchio
2026-10-12 17:49         ` Krishna Chomal
2026-10-12 19:34           ` Lorenzo Collevecchio
2026-10-13  9:32             ` Lorenzo Collevecchio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=asz7WqGzukhkYHGD@archlinux \
    --to=krishna.chomal108@gmail.com \
    --cc=W_Armin@gmx.de \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=lorenzocollevecchio17@gmail.com \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.