From: sjunhyuk1@gmail.com
To: linux-usb@vger.kernel.org, platform-driver-x86@vger.kernel.org
Cc: "Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Subject: [BUG] HP OMEN Transcend 14 (board 8E41): GPU power ceiling on 65W USB-C charger is non-deterministic across sessions (25W vs ~65W)
Date: Tue, 22 Sep 2026 15:23:12 -0400 [thread overview]
Message-ID: <20260922192312.40607-1-sjunhyuk1@gmail.com> (raw)
Reporting a non-deterministic GPU power ceiling on a 65W USB-C charger,
in case it's useful alongside other recent reports of EC/PD-controller
firmware state issues (Legion Pro 7 16IAX10H, ASUS Vivobook K3605ZV).
I'm not certain this belongs to USB Type-C / UCSI rather than hp-wmi,
so I've sent it to both lists; happy to be redirected.
System
------
Model: HP OMEN Transcend Gaming Laptop 14-fb1013dx (B94GQUA#ABA)
Board: 8E41
BIOS: F.05 (confirmed latest via fwupd/LVFS)
GPU: NVIDIA GeForce RTX 5060 Laptop GPU, VBIOS 98.06.2A.80.62
Driver: NVIDIA Open 610.57.04
Kernel: 7.2.5-3 (Arch, Omarchy)
Symptom
-------
On the OEM-rated 65W USB-C charger, nvidia-smi's "Current Power Limit"
lands on either 25.00W or ~60-65W depending on the boot/reconnect
session, and stays fixed at whichever value for the rest of that
session. A 140W charger reliably gives 50W (VBIOS default TGP);
battery-only reliably gives 40W. Confirmed under gpu_burn 100% load in
both 65W-charger outcomes:
25W outcome: 24.7-25.5W draw, clock unstable 200-500MHz
65W outcome: 59.4-64.9W draw, clock stable 1630-1860MHz
Which outcome a given session lands on appears session-scoped, not a
fixed hardware fault: the same physical charger, same port, same
cable produces either result depending on boot/reconnect history.
Ruled out
---------
- Kernel version: same kernel (7.2.5-3-omarchy) produced both the 25W
and 65W outcomes on different boots.
- Battery charge state: tested 0%, 79%, 98%, 100% within one boot
session, all still 25W.
- BIOS setting/update: F.05 confirmed latest via fwupd/LVFS; no
relevant USB-C/adapter option in BIOS setup.
- ucsi_acpi driver presence: blacklisted it entirely, then re-ran the
known-bad trigger (hot-swap the charger while powered on) - still
landed on 25W. So the driver being loaded/unloaded is not itself
the deciding factor.
- HP WMI GPU boost flags (commandtype 0x21/0x22 under command
HPWMI_GM in hp-wmi.c, the CTGP/PPAB fields of struct
victus_gpu_power_modes): wrote a read-only probe module issuing
only the 0x21 GET across all four power states (battery/25W/65W/
140W-triggered-50W). Raw response was byte-identical (00 01 01 57)
in every state.
- HP WMI legacy "Smart Adapter" query (commandtype 0x0F under command
HPWMI_READ; not defined in mainline hp-wmi.c's enum
hp_wmi_commandtype, but present in a third-party Windows tool as a
"smart power adapter status" query): also GET-only, also
byte-identical (05 1c 1c 0d) between the 25W and 65W states.
Workarounds found
------------------
1. Full poweroff, physically unplug/replug the charger, then power
on. Reliably restores ~65W in testing so far (recovers even from a
25W-clamped state). An OS reboot alone, with the charger left
connected, does not help; nor does hot-swapping the charger while
powered on (that's actually the known trigger for landing on 25W).
2. Live driver reload with no reboot:
sudo modprobe -r ucsi_acpi && sudo modprobe ucsi_acpi
From a ~50W "in-between" state reached via a hot-swap, this
recovered to 65W in 2/2 attempts within a few seconds. From the
classic 25.00W clamp, it did not help in 2/2 attempts. A
battery-only control (40W, no charger) showed no change either
way, suggesting the effect is specific to USB-C PD renegotiation
rather than a general power-limit reset - but it is clearly not a
general substitute for (1).
Separately, this board also reproduces the NPCF ACPI-binding issue
described in NVIDIA/open-gpu-kernel-modules#1162 (Power Management
Object stays N/A, Dynamic Boost above the 50W base TGP never
activates) - confirmed via acpidump/iasl decompile, same topology and
field structure as reported there for board 8D40. That explains why
>50W boost never works here, but Power Management Object reads N/A in
both the 25W and 65W states, so it doesn't explain this particular
25W/65W split.
Full write-up with raw capture data:
https://claude.ai/artifact/WDAN76AWk1JpW49ZSGc2Cr
Happy to gather more diagnostics (EC register snapshots, more repro
counts, anything else useful) if that would help narrow this down.
next reply other threads:[~2026-09-22 19:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 19:23 sjunhyuk1 [this message]
2026-09-22 21:32 ` [BUG] HP OMEN Transcend 14 (board 8E41): GPU power ceiling on 65W USB-C charger is non-deterministic across sessions (25W vs ~65W) sjunhyuk1
2026-09-24 15:58 ` Krishna Chomal
2026-09-25 13:41 ` [BUG] HP OMEN Transcend 14 (board 8E41): GPU power ceiling on 65W USB-C charger is non-deterministic BurningHoryd
2026-09-26 5:35 ` Krishna Chomal
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=20260922192312.40607-1-sjunhyuk1@gmail.com \
--to=sjunhyuk1@gmail.com \
--cc=hansg@kernel.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-usb@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox