From: Denis Benato <denis.benato@linux.dev>
To: Evgeny Volferts <eugene.wolferz@gmail.com>,
Corentin Chary <corentin.chary@gmail.com>,
"Luke D . Jones" <luke@ljones.dev>
Cc: "Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] platform/x86: asus-nb-wmi: Ignore spurious 0xe5 events on GU605MY
Date: Tue, 20 Oct 2026 00:12:03 +0200 [thread overview]
Message-ID: <d27c2b12-8968-4eec-b925-d5345ba1821e@linux.dev> (raw)
In-Reply-To: <20261015163029.107250-1-eugene.wolferz@gmail.com>
On 10/15/26 18:30, Evgeny Volferts wrote:
> The ASUS ROG Zephyrus G16 GU605MY periodically emits an
> unrecognized WMI event (0xe5), approximately every 12 seconds.
>
> The event is reported as KEY_UNKNOWN through the Asus WMI hotkeys
> input device. When the session is locked, it causes both the
> internal display and an external monitor connected through a
> Thunderbolt dock to wake up repeatedly.
>
> Add a DMI-specific quirk to suppress this event on the GU605MY
> without affecting other ASUS notebook models.
>
> Ignoring the event was first verified on a 7.2.7-based OGC kernel.
> The DMI-specific quirk was subsequently built against 7.2.8-ogc5
> and tested on 7.2.9-ogc2 and 7.2.9-ogc4. On both 7.2.9 variants,
> the DMI match was confirmed and the unknown 0xe5 event messages
> disappeared.
Hi Evgeny,
Thank you for your work!
I am thinking that a quirk with e5 in the name is a bit overly specific...
That code has never been handled and is just the EC repeating some settings.
I am thinking that perhaps the best thing to do is just create a case 0xE5 that
simply does the ignore with no quirks check and a nice comment outlining
why it is done.
I don't see asus repurposing that for something else honestly so it should
be future-proof enough and will potentially avoid this to other models as
well.
On the other end it would be cool to know what that really is telling us...
If you don't come up with an answer I would defer to Ilpo whether preferring
reducing quirks or keeping the symmetry within that key_filter function.
I am fine either way.
Best regards,
Denis Benato
> Signed-off-by: Evgeny Volferts <eugene.wolferz@gmail.com>
> ---
> drivers/platform/x86/asus-nb-wmi.c | 17 +++++++++++++++++
> drivers/platform/x86/asus-wmi.h | 1 +
> 2 files changed, 18 insertions(+)
>
> diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
> index aeb461b1644d..8d69231d25a0 100644
> --- a/drivers/platform/x86/asus-nb-wmi.c
> +++ b/drivers/platform/x86/asus-nb-wmi.c
> @@ -150,6 +150,10 @@ static struct quirk_entry quirk_asus_zenbook_duo_kbd = {
> .key_wlan_event = ASUS_WMI_KEY_IGNORE,
> };
>
> +static struct quirk_entry quirk_asus_gu605my = {
> + .ignore_e5_wmi_event = true,
> +};
> +
> static struct quirk_entry quirk_asus_z13 = {
> .key_wlan_event = ASUS_WMI_KEY_ARMOURY,
> .tablet_switch_mode = asus_wmi_kbd_dock_devid,
> @@ -562,6 +566,15 @@ static const struct dmi_system_id asus_quirks[] = {
> },
> .driver_data = &quirk_asus_z13,
> },
> + {
> + .callback = dmi_matched,
> + .ident = "ASUS ROG Zephyrus G16 GU605MY",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus G16 GU605MY_GU605MY"),
> + },
> + .driver_data = &quirk_asus_gu605my,
> + },
> {},
> };
>
> @@ -690,6 +703,10 @@ static void asus_nb_wmi_key_filter(struct asus_wmi_driver *asus_wmi, int *code,
> if (quirks->key_wlan_event)
> *code = quirks->key_wlan_event;
> break;
> + case 0xE5:
> + if (quirks->ignore_e5_wmi_event)
> + *code = ASUS_WMI_KEY_IGNORE;
> + break;
> }
> }
>
> diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
> index 5cd4392b964e..e7772397cd10 100644
> --- a/drivers/platform/x86/asus-wmi.h
> +++ b/drivers/platform/x86/asus-wmi.h
> @@ -41,6 +41,7 @@ struct quirk_entry {
> bool wmi_force_als_set;
> bool wmi_ignore_fan;
> bool filter_i8042_e1_extended_codes;
> + bool ignore_e5_wmi_event;
> int key_wlan_event;
> enum asus_wmi_tablet_switch_mode tablet_switch_mode;
> int wapf;
next prev parent reply other threads:[~2026-10-19 22:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-15 16:30 Evgeny Volferts
2026-10-19 22:12 ` Denis Benato [this message]
2026-10-19 22:28 ` Евгений Вольферц
2026-10-20 11:11 ` Ilpo Järvinen
2026-10-20 11:27 ` Denis Benato
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=d27c2b12-8968-4eec-b925-d5345ba1821e@linux.dev \
--to=denis.benato@linux.dev \
--cc=corentin.chary@gmail.com \
--cc=eugene.wolferz@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luke@ljones.dev \
--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
all inboxes | Powered by JetHome®