lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <74f1a53d-3556-4e67-8dc2-2a86d6c52365@gmail.com>
Date: Tue, 23 Dec 2025 14:50:39 +0100
From: Denis Benato <benato.denis96@...il.com>
To: Tim Wassink <timwassink.dev@...il.com>
Cc: Corentin Chary <corentin.chary@...il.com>, "Luke D. Jones"
 <luke@...nes.dev>, Hans de Goede <hansg@...nel.org>,
 Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
 platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/x86: asus-nb-wmi: add quirk_asus_ignore_fan for
 UX3405MA


On 12/22/25 11:44, Tim Wassink wrote:
> On Sun, Dec 21, 2025 at 10:01 PM Denis Benato <denis.benato@...email.com> wrote:
>> On 12/21/25 22:01, Tim Wassink wrote:
>>> The ASUS Zenbook 14 (UX3405MA) uses a newer WMI interface for thermal
>>> management that does not support the legacy WMI fan control methods.
>>> Currently, this results in ENODEV (-19) errors in dmesg when the driver
>>> attempts to fetch factory fan curve defaults.
>>>
>>> Add a quirk to use quirk_asus_ignore_fan to silence these errors and
>>> signal that legacy fan control is intentionally unsupported, as thermal
>>> policies are handled through the platform_profile interface.
>> It is my understanding that this patch suppresses the error,
>> while maintaining the current behavior in every other aspect,
>> correct?
> I am actually not sure anymore if this patch is ok, as it introduces a
> trade-off regarding telemetry.
>
> While the patch successfully silences the ENODEV (-19) errors, I have
> verified locally that it also inhibits the registration of the fan
> telemetry in hwmon. This means the read-only 'fan1_input' (RPM) is no
> longer available to the user.
>
> I initially followed the precedent of commit 82cc5c6c624c ("platform/x86:
> asus-wmi: Ignore fan on E410MA"), which can be found here:
> https://lore.kernel.org/all/20221221-asus-fan-v1-2-e07f3949725b@weissschuh.net/
>
> Now I realize that case was specifically for a fanless system. The
> UX3405MA does have a physical fan
> which remains functional via the platform_profile (AIPT) interface
> after this patch, as confirmed by stress testing.
>
> I thought this quirk was the standard way to handle it, but I am not
> so sure anymore.
Hi,

I think what's happening is that asus-nb-wmi is binding multiple devices: for those
that are unsupported the driver returns -ENODEV and the kernel, as a result,
probes successive drivers for those devices that can't be bound.

It's very likely that using that quirk prevents asus-nb-wmi to bind all devices,
and this can very well result in what you are seeing...

The only runtime problem is that an error appears in dmesg, right? The rest is
working from what I can understand from your messages. 
> Best regards,
> Tim
>
> On Mon, Dec 22, 2025 at 3:54 AM Denis Benato <benato.denis96@...il.com> wrote:
>>
>> On 12/21/25 22:01, Tim Wassink wrote:
>>> The ASUS Zenbook 14 (UX3405MA) uses a newer WMI interface for thermal
>>> management that does not support the legacy WMI fan control methods.
>>> Currently, this results in ENODEV (-19) errors in dmesg when the driver
>>> attempts to fetch factory fan curve defaults.
>>>
>>> Add a quirk to use quirk_asus_ignore_fan to silence these errors and
>>> signal that legacy fan control is intentionally unsupported, as thermal
>>> policies are handled through the platform_profile interface.
>> It is my understanding that this patch suppresses the error,
>> while maintaining the current behavior in every other aspect,
>> correct?
>>> Signed-off-by: Tim Wassink <timwassink.dev@...il.com>
>>> ---
>>>  drivers/platform/x86/asus-nb-wmi.c | 9 +++++++++
>>>  1 file changed, 9 insertions(+)
>>>
>>> diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
>>> index 6a62bc5b02fd..eaa8abe506cb 100644
>>> --- a/drivers/platform/x86/asus-nb-wmi.c
>>> +++ b/drivers/platform/x86/asus-nb-wmi.c
>>> @@ -544,6 +544,15 @@ static const struct dmi_system_id asus_quirks[] = {
>>>               },
>>>               .driver_data = &quirk_asus_zenbook_duo_kbd,
>>>       },
>>> +     {
>>> +             .callback = dmi_matched,
>>> +             .ident = "ASUS Zenbook 14 UX3405MA",
>>> +             .matches = {
>>> +                     DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>>> +                     DMI_MATCH(DMI_PRODUCT_NAME, "UX3405MA"),
>>> +             },
>>> +             .driver_data = &quirk_asus_ignore_fan,
>>> +     },
>>>       {
>>>               .callback = dmi_matched,
>>>               .ident = "ASUS ROG Z13",

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ