From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 204807] Hardware monitoring sensor nct6798d doesn't work unless acpi_enforce_resources=lax is enabled
Date: Sat, 14 Mar 2026 12:57:39 +0000 [thread overview]
Message-ID: <bug-204807-215701-1eHUW2SnSu@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-204807-215701@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=204807
Theunis Scheepers (ptscheepers@gmail.com) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ptscheepers@gmail.com
--- Comment #351 from Theunis Scheepers (ptscheepers@gmail.com) ---
Requesting addition of ROG STRIX X870E-E GAMING WIFI to the nct6775-platform.c
ASUS WMI board allowlist for stable fan PWM control under Linux.
BACKGROUND
----------
The asus-ec-sensors driver already supports this board for temperature readings
(CPU, CPU Package, Motherboard, VRM) and the CPU_Opt fan tachometer. However,
persistent fan speed control via PWM is not possible because the board is
missing from the nct6775 WMI platform allowlist.
The nct6799 Super-I/O chip (NCT6796D-S/NCT6799D-R) is detected at 0x2e:0x290
and exposes pwm1-pwm7 via direct ISA access through the nct6775 driver. Writing
PWM values via ISA succeeds momentarily, but the ASUS EC/ACPI firmware does not
cooperate with direct ISA writes and overrides the control mode within seconds.
The board needs the WMI cooperative path for stable fan control.
PWM OVERRIDE TEST (ISA writes don't persist)
---------------------------------------------
I tested writing to pwm2 (which controls fan2, the only case fan currently
connected to the nct6799 channels):
Before: fan2=473 RPM, pwm2_enable=5, pwm2=82
(set pwm2_enable=1, pwm2=255)
After 1s: fan2=474 RPM, pwm2_enable=0, pwm2=255
After 6s: fan2=1433 RPM, pwm2_enable=0, pwm2=255
After 11s: fan2=1470 RPM, pwm2_enable=0, pwm2=255
Restored pwm2_enable to 5 (BIOS Q-Fan)
The firmware immediately changed pwm2_enable from 1 (manual) to 0 (full speed)
rather than respecting the manual control mode. The fan did ramp up because the
PWM duty was set to 255, but the control mode was overridden. This confirms the
hardware supports PWM control but requires the WMI path to cooperate with the
ASUS firmware rather than fighting it via direct ISA writes.
All seven PWM channels default to pwm_enable=5 (SmartFan/BIOS-controlled):
fan1: 0 RPM, pwm1_enable: 5, pwm1: 255
fan2: 473 RPM, pwm2_enable: 5, pwm2: 82
fan3: 0 RPM, pwm3_enable: 5, pwm3: 255
fan4: 0 RPM, pwm4_enable: 5, pwm4: 255
fan5: 543 RPM, pwm5_enable: 5, pwm5: 86
fan6: 0 RPM, pwm6_enable: 5, pwm6: 255
fan7: 0 RPM, pwm7_enable: 5, pwm7: 210
RELATION TO X870E-H
-------------------
The closely related ROG STRIX X870E-H GAMING WIFI7 was recently added to the
allowlist. The patch description notes it "has a similar sensor configuration
as the ROG STRIX X870E-E GAMING WIFI", so adding the X870E-E variant should be
straightforward.
DSDT WMI METHODS
----------------
The decompiled DSDT confirms the WMI interface is present:
WMBD (WMI method dispatch) at line 8377
BREC (read EC) at line 9261
BWEC (write EC) at line 9267
\_SB.PCI0.SBRG.SIO1 (Super-I/O device) referenced throughout
SYSTEM INFO
-----------
Board: ASUSTeK COMPUTER INC. ROG STRIX X870E-E GAMING WIFI (Rev 1.xx)
BIOS: 2004
Kernel: 6.19.6-2-cachyos (x86_64, CachyOS/Arch)
Super-I/O: NCT6796D-S/NCT6799D-R at 0x2e:0x290
CPU: AMD Ryzen 7 9800X3D
Loaded hwmon-related modules:
asus_ec_sensors - provides CPU, CPU Package, Motherboard, VRM temps and
CPU_Opt fan
asus_wmi (via eeepc_wmi)
nct6775 + nct6775_core - ISA access to nct6799, detects fans and PWM but no
stable write path
k10temp - CPU thermal
amdgpu - GPU thermal
No ACPI resource conflicts were found in dmesg.
COLLECTED DATA
--------------
A full data tarball (DSDT binary + decompiled, sensors-detect, dmesg, PWM
override test, hwmon drivers list) is attached to:
https://github.com/zeule/asus-ec-sensors/issues/100
USE CASE
--------
I want to run GPU-temperature-driven case fan curves via CoolerControl, which
requires stable writable PWM interfaces. The nct6799 PWM channels are the only
path to the motherboard fan headers, and they need the WMI allowlist entry to
work reliably without firmware conflict.
Happy to test patches. Thanks.
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2026-03-14 12:57 UTC|newest]
Thread overview: 309+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-204807-215701@https.bugzilla.kernel.org/>
2021-03-18 4:21 ` [Bug 204807] Hardware monitoring sensor nct6798d doesn't work unless acpi_enforce_resources=lax is enabled bugzilla-daemon
2021-03-18 4:32 ` bugzilla-daemon
2021-03-19 15:09 ` bugzilla-daemon
2021-03-19 15:14 ` bugzilla-daemon
2021-03-19 15:15 ` bugzilla-daemon
2021-03-19 19:13 ` bugzilla-daemon
2021-03-20 7:22 ` bugzilla-daemon
2021-03-20 7:51 ` bugzilla-daemon
2021-03-20 7:57 ` bugzilla-daemon
2021-03-20 8:16 ` bugzilla-daemon
2021-03-20 15:28 ` bugzilla-daemon
2021-03-20 15:33 ` bugzilla-daemon
2021-03-20 15:43 ` bugzilla-daemon
2021-03-20 16:04 ` bugzilla-daemon
2021-03-21 18:39 ` bugzilla-daemon
2021-03-21 19:14 ` bugzilla-daemon
2021-03-22 10:12 ` bugzilla-daemon
2021-03-22 10:51 ` bugzilla-daemon
2021-03-22 11:06 ` bugzilla-daemon
2021-03-22 11:32 ` bugzilla-daemon
2021-03-22 14:31 ` bugzilla-daemon
2021-03-22 15:07 ` bugzilla-daemon
2021-04-11 8:25 ` bugzilla-daemon
2021-04-11 9:40 ` bugzilla-daemon
2021-04-11 9:46 ` bugzilla-daemon
2021-04-11 10:18 ` bugzilla-daemon
2021-04-11 10:27 ` bugzilla-daemon
2021-04-11 10:30 ` bugzilla-daemon
2021-04-11 11:20 ` bugzilla-daemon
2021-04-12 12:39 ` bugzilla-daemon
2021-04-12 13:25 ` bugzilla-daemon
2021-04-12 22:42 ` bugzilla-daemon
2021-04-13 6:11 ` bugzilla-daemon
2021-04-14 7:58 ` bugzilla-daemon
2021-04-15 9:27 ` bugzilla-daemon
2021-04-15 9:30 ` bugzilla-daemon
2021-04-15 9:39 ` bugzilla-daemon
2021-04-21 17:09 ` bugzilla-daemon
2021-04-28 21:46 ` bugzilla-daemon
2021-04-28 21:56 ` bugzilla-daemon
2021-04-29 10:09 ` bugzilla-daemon
2021-04-29 10:18 ` bugzilla-daemon
2021-05-04 22:08 ` bugzilla-daemon
2021-05-05 3:12 ` bugzilla-daemon
2021-07-04 9:45 ` bugzilla-daemon
2021-07-29 18:37 ` bugzilla-daemon
2021-07-29 19:37 ` bugzilla-daemon
2021-07-30 5:57 ` bugzilla-daemon
2021-07-30 6:06 ` bugzilla-daemon
2021-08-21 16:19 ` bugzilla-daemon
2021-08-21 17:08 ` bugzilla-daemon
2021-08-21 23:24 ` bugzilla-daemon
2021-08-22 8:47 ` bugzilla-daemon
2021-08-30 20:47 ` bugzilla-daemon
2021-08-31 12:53 ` bugzilla-daemon
2021-09-04 10:48 ` bugzilla-daemon
2021-09-04 20:46 ` bugzilla-daemon
2021-09-04 21:07 ` bugzilla-daemon
2021-09-05 10:41 ` bugzilla-daemon
2021-09-05 10:46 ` bugzilla-daemon
2021-09-05 11:23 ` bugzilla-daemon
2021-09-07 20:35 ` bugzilla-daemon
2021-09-08 0:00 ` bugzilla-daemon
2021-09-08 0:16 ` bugzilla-daemon
2021-09-08 18:37 ` bugzilla-daemon
2021-09-08 20:03 ` bugzilla-daemon
2021-09-08 22:16 ` bugzilla-daemon
2021-09-11 0:12 ` bugzilla-daemon
2021-09-13 18:07 ` bugzilla-daemon
2021-09-13 18:52 ` bugzilla-daemon
2021-09-13 21:16 ` bugzilla-daemon
2021-09-13 22:29 ` bugzilla-daemon
2021-09-14 17:11 ` bugzilla-daemon
2021-09-14 17:31 ` bugzilla-daemon
2021-09-14 20:39 ` bugzilla-daemon
2021-09-15 0:14 ` bugzilla-daemon
2021-09-15 0:19 ` bugzilla-daemon
2021-09-15 10:02 ` bugzilla-daemon
2021-09-18 8:55 ` bugzilla-daemon
2021-09-18 15:58 ` bugzilla-daemon
2021-09-19 5:50 ` bugzilla-daemon
2021-09-19 7:31 ` bugzilla-daemon
2021-09-19 11:33 ` bugzilla-daemon
2021-09-19 11:52 ` bugzilla-daemon
2021-09-19 13:32 ` bugzilla-daemon
2021-09-19 14:38 ` bugzilla-daemon
2021-09-19 22:04 ` bugzilla-daemon
2021-09-19 22:52 ` bugzilla-daemon
2021-09-20 12:37 ` bugzilla-daemon
2021-09-20 13:33 ` bugzilla-daemon
2021-09-21 14:45 ` bugzilla-daemon
2021-09-25 13:33 ` bugzilla-daemon
2021-09-25 14:47 ` bugzilla-daemon
2021-09-25 15:37 ` bugzilla-daemon
2021-09-25 18:51 ` bugzilla-daemon
2021-09-26 4:54 ` bugzilla-daemon
2021-10-05 20:32 ` bugzilla-daemon
2021-10-05 20:47 ` bugzilla-daemon
2021-10-05 21:00 ` bugzilla-daemon
2021-10-05 21:26 ` bugzilla-daemon
2021-10-05 22:02 ` bugzilla-daemon
2021-10-06 11:08 ` bugzilla-daemon
2021-10-10 10:12 ` bugzilla-daemon
2021-10-14 18:41 ` bugzilla-daemon
2021-10-14 19:54 ` bugzilla-daemon
2021-10-14 20:04 ` bugzilla-daemon
2021-11-03 12:45 ` bugzilla-daemon
2021-11-04 6:51 ` bugzilla-daemon
2021-11-04 14:34 ` bugzilla-daemon
2021-11-05 13:08 ` bugzilla-daemon
2021-11-05 13:15 ` bugzilla-daemon
2021-11-05 13:56 ` bugzilla-daemon
2021-11-05 14:06 ` bugzilla-daemon
2021-11-05 14:23 ` bugzilla-daemon
2021-11-05 14:30 ` bugzilla-daemon
2021-11-05 14:36 ` bugzilla-daemon
2021-11-05 15:17 ` bugzilla-daemon
2021-11-07 10:52 ` bugzilla-daemon
2021-11-07 13:58 ` bugzilla-daemon
2021-11-07 16:20 ` bugzilla-daemon
2021-11-09 2:20 ` bugzilla-daemon
2021-11-10 22:36 ` bugzilla-daemon
2021-11-10 22:42 ` bugzilla-daemon
2021-11-10 22:49 ` bugzilla-daemon
2021-11-10 22:54 ` bugzilla-daemon
2021-11-10 22:59 ` bugzilla-daemon
2021-11-11 16:54 ` bugzilla-daemon
2021-11-11 20:51 ` bugzilla-daemon
2021-11-12 0:32 ` bugzilla-daemon
2021-11-12 10:56 ` bugzilla-daemon
2021-11-16 22:05 ` bugzilla-daemon
2021-11-28 20:14 ` bugzilla-daemon
2021-12-05 9:04 ` bugzilla-daemon
2021-12-05 10:43 ` bugzilla-daemon
2021-12-05 11:07 ` bugzilla-daemon
2021-12-05 11:09 ` bugzilla-daemon
2021-12-05 11:18 ` bugzilla-daemon
2021-12-05 11:23 ` bugzilla-daemon
2021-12-05 11:30 ` bugzilla-daemon
2021-12-05 13:09 ` bugzilla-daemon
2021-12-05 13:51 ` bugzilla-daemon
2021-12-05 13:52 ` bugzilla-daemon
2021-12-05 13:58 ` bugzilla-daemon
2021-12-05 15:12 ` bugzilla-daemon
2021-12-05 16:13 ` bugzilla-daemon
2021-12-05 17:09 ` bugzilla-daemon
2021-12-05 17:29 ` bugzilla-daemon
2021-12-06 17:58 ` bugzilla-daemon
2021-12-06 23:01 ` bugzilla-daemon
2021-12-06 23:27 ` bugzilla-daemon
2021-12-08 21:55 ` bugzilla-daemon
2021-12-09 5:17 ` bugzilla-daemon
2021-12-09 21:26 ` bugzilla-daemon
2021-12-12 2:21 ` bugzilla-daemon
2021-12-13 7:02 ` bugzilla-daemon
2021-12-14 13:41 ` bugzilla-daemon
2021-12-14 21:28 ` bugzilla-daemon
2021-12-15 6:47 ` bugzilla-daemon
2021-12-16 7:14 ` bugzilla-daemon
2021-12-23 8:29 ` bugzilla-daemon
2022-01-10 20:17 ` bugzilla-daemon
2022-01-11 6:54 ` bugzilla-daemon
2022-01-11 13:45 ` bugzilla-daemon
2022-01-11 13:46 ` bugzilla-daemon
2022-01-11 14:01 ` bugzilla-daemon
2022-01-11 18:20 ` bugzilla-daemon
2022-01-16 15:43 ` bugzilla-daemon
2022-01-30 18:02 ` bugzilla-daemon
2022-02-03 20:41 ` bugzilla-daemon
2022-02-03 20:46 ` bugzilla-daemon
2022-02-05 9:13 ` bugzilla-daemon
2022-02-05 9:20 ` bugzilla-daemon
2022-02-08 21:17 ` bugzilla-daemon
2022-02-17 16:12 ` bugzilla-daemon
2022-02-22 21:03 ` bugzilla-daemon
2022-02-26 9:20 ` bugzilla-daemon
2022-03-02 12:13 ` bugzilla-daemon
2022-03-04 18:01 ` bugzilla-daemon
2022-03-06 19:50 ` bugzilla-daemon
2022-03-06 19:54 ` bugzilla-daemon
2022-03-14 19:00 ` bugzilla-daemon
2022-03-24 11:23 ` bugzilla-daemon
2022-03-24 17:50 ` bugzilla-daemon
2022-04-03 19:07 ` bugzilla-daemon
2022-04-27 19:55 ` bugzilla-daemon
2022-04-28 11:04 ` bugzilla-daemon
2022-04-30 22:49 ` bugzilla-daemon
2022-05-03 19:06 ` bugzilla-daemon
2022-05-08 9:59 ` bugzilla-daemon
2022-05-09 13:49 ` bugzilla-daemon
2022-05-11 9:50 ` bugzilla-daemon
2022-05-15 15:48 ` bugzilla-daemon
2022-05-15 20:53 ` bugzilla-daemon
2022-05-19 13:07 ` bugzilla-daemon
2022-05-19 19:17 ` bugzilla-daemon
2022-05-19 20:51 ` bugzilla-daemon
2022-05-24 15:43 ` bugzilla-daemon
2022-05-24 19:42 ` bugzilla-daemon
2022-05-25 15:10 ` bugzilla-daemon
2022-05-25 18:01 ` bugzilla-daemon
2022-05-25 21:08 ` bugzilla-daemon
2022-05-26 22:39 ` bugzilla-daemon
2022-05-30 19:03 ` bugzilla-daemon
2022-06-03 20:20 ` bugzilla-daemon
2022-06-04 0:32 ` bugzilla-daemon
2022-06-10 0:53 ` bugzilla-daemon
2022-06-10 10:56 ` bugzilla-daemon
2022-08-20 20:26 ` bugzilla-daemon
2022-10-14 5:14 ` bugzilla-daemon
2022-10-14 7:32 ` bugzilla-daemon
2022-10-14 12:22 ` bugzilla-daemon
2022-10-14 18:56 ` bugzilla-daemon
2022-10-15 13:33 ` bugzilla-daemon
2022-10-17 10:09 ` bugzilla-daemon
2022-10-18 20:31 ` bugzilla-daemon
2022-10-19 21:28 ` bugzilla-daemon
2022-11-01 12:02 ` bugzilla-daemon
2022-11-01 20:59 ` bugzilla-daemon
2022-11-02 0:02 ` bugzilla-daemon
2022-11-03 20:28 ` bugzilla-daemon
2022-11-10 14:45 ` bugzilla-daemon
2022-11-12 20:47 ` bugzilla-daemon
2022-11-13 3:38 ` bugzilla-daemon
2022-11-22 13:42 ` bugzilla-daemon
2022-11-23 21:27 ` bugzilla-daemon
2022-11-23 22:05 ` bugzilla-daemon
2022-11-23 22:11 ` bugzilla-daemon
2022-11-23 23:01 ` bugzilla-daemon
2022-12-01 5:53 ` bugzilla-daemon
2022-12-16 23:20 ` bugzilla-daemon
2022-12-24 14:42 ` bugzilla-daemon
2022-12-24 14:48 ` bugzilla-daemon
2023-01-03 19:22 ` bugzilla-daemon
2023-01-07 18:07 ` bugzilla-daemon
2023-01-07 20:57 ` bugzilla-daemon
2023-01-15 20:45 ` bugzilla-daemon
2023-01-22 21:20 ` bugzilla-daemon
2023-01-26 20:37 ` bugzilla-daemon
2023-01-27 0:49 ` bugzilla-daemon
2023-01-27 20:14 ` bugzilla-daemon
2023-01-28 17:52 ` bugzilla-daemon
2023-01-28 22:01 ` bugzilla-daemon
2023-01-29 15:20 ` bugzilla-daemon
2023-01-29 16:11 ` bugzilla-daemon
2023-01-29 21:24 ` bugzilla-daemon
2023-02-16 10:43 ` bugzilla-daemon
2023-02-16 10:47 ` bugzilla-daemon
2023-02-16 11:01 ` bugzilla-daemon
2023-02-16 11:04 ` bugzilla-daemon
2023-02-16 11:05 ` bugzilla-daemon
2023-02-17 22:56 ` bugzilla-daemon
2023-02-23 21:32 ` bugzilla-daemon
2023-02-26 17:31 ` bugzilla-daemon
2023-02-28 22:46 ` bugzilla-daemon
2023-03-02 22:05 ` bugzilla-daemon
2023-03-13 11:41 ` bugzilla-daemon
2023-03-13 16:30 ` bugzilla-daemon
2023-03-14 8:17 ` bugzilla-daemon
2023-03-14 8:20 ` bugzilla-daemon
2023-03-14 8:21 ` bugzilla-daemon
2023-03-16 20:13 ` bugzilla-daemon
2023-03-17 12:15 ` bugzilla-daemon
2023-03-17 17:30 ` bugzilla-daemon
2023-03-17 18:24 ` bugzilla-daemon
2023-03-20 9:49 ` bugzilla-daemon
2023-03-20 21:17 ` bugzilla-daemon
2023-03-20 23:12 ` bugzilla-daemon
2023-03-23 0:59 ` bugzilla-daemon
2023-03-23 1:00 ` bugzilla-daemon
2023-03-23 18:08 ` bugzilla-daemon
2023-03-23 18:33 ` bugzilla-daemon
2023-03-24 14:58 ` bugzilla-daemon
2023-04-01 12:19 ` bugzilla-daemon
2023-04-01 13:09 ` bugzilla-daemon
2023-04-01 13:40 ` bugzilla-daemon
2023-04-02 14:15 ` bugzilla-daemon
2023-04-02 14:40 ` bugzilla-daemon
2023-04-05 20:00 ` bugzilla-daemon
2023-05-05 1:40 ` bugzilla-daemon
2023-05-06 7:05 ` bugzilla-daemon
2023-05-11 20:15 ` bugzilla-daemon
2023-05-11 20:35 ` bugzilla-daemon
2023-05-22 7:48 ` bugzilla-daemon
2023-06-27 18:13 ` bugzilla-daemon
2023-08-28 13:13 ` bugzilla-daemon
2024-01-04 22:48 ` bugzilla-daemon
2024-01-04 23:01 ` bugzilla-daemon
2024-04-04 7:27 ` bugzilla-daemon
2024-08-10 14:30 ` bugzilla-daemon
2024-08-10 14:35 ` bugzilla-daemon
2024-08-10 20:33 ` bugzilla-daemon
2024-08-11 15:59 ` bugzilla-daemon
2024-08-11 16:10 ` bugzilla-daemon
2024-10-25 9:43 ` bugzilla-daemon
2024-10-25 10:17 ` bugzilla-daemon
2024-10-28 12:24 ` bugzilla-daemon
2024-10-28 21:05 ` bugzilla-daemon
2025-04-14 2:51 ` bugzilla-daemon
2025-04-14 18:55 ` bugzilla-daemon
2025-06-27 5:10 ` bugzilla-daemon
2025-08-14 4:57 ` bugzilla-daemon
2025-08-14 5:04 ` bugzilla-daemon
2026-02-22 18:41 ` bugzilla-daemon
2026-03-14 12:57 ` bugzilla-daemon [this message]
2026-03-14 13:44 ` bugzilla-daemon
2026-03-14 23:41 ` bugzilla-daemon
2026-03-14 23:44 ` bugzilla-daemon
2026-03-14 23:55 ` bugzilla-daemon
2026-03-22 12:23 ` bugzilla-daemon
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=bug-204807-215701-1eHUW2SnSu@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@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