[PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support
Marco Scardovi <[email protected]> Tue, 28 Jul 2026 09:18:37 +0200
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series introduces support for ASUS WMI Whisper Mode hardware controls in the asus-wmi header and asus-armoury driver. Background & Findings: ---------------------- After talking with Denis and thanks to NeuroMarshal reverse engineering and firmware trace analysis on modern ASUS laptops, three specific WMI Device IDs were identified that manage acoustic profiles and thermal regulation under ASUS Whisper Mode: 1. ASUS_WMI_DEVID_WHISPER_MODE (0x0012007A): - Controls the BIOS-level Whisper Mode acoustic profile toggle (read/write boolean). 2. ASUS_WMI_DEVID_WHISPER_ENABLE (0x00090022): - Enables or disables Dynamic Whisper acoustic regulation (read/write boolean). 3. ASUS_WMI_DEVID_WHISPER_STATUS (0x00090023): - Reports status and allows runtime control over Dynamic Whisper state (read/write boolean). Series Overview: ---------------- - Patch 1/2: Adds WMI Device ID macro definitions to include/linux/platform_data/x86/asus-wmi.h. - Patch 2/2: Exposes whisper_mode, whisper_enable, and whisper_status sysfs attribute groups in drivers/platform/x86/asus-armoury.c. Safety & Compatibility: ----------------------- All newly introduced attributes are probed via armoury_has_devstate() before sysfs registration. On devices where these WMI methods are not implemented by firmware, the sysfs nodes are gracefully omitted without impacting existing attributes or functionality. Validation: ----------- - Build verification against linux-next cleanly with zero warnings or errors. - Coding style and formatting verified via git diff --check. Note: ----------- Unfortunately, due to it being missing on my laptop, I'm not able to verify if the WhisperMode works as intended. The values are the same reported by NeuroMarshal on his reverse engineering of Armoury Crate [1] so they *should* work. [1] https://github.com/NeuroMarshal/armoury-linux-probe Marco Scardovi (2): platform/x86: asus-wmi: add Whisper Mode WMI device ID defines platform/x86: asus-armoury: add Whisper Mode attributes drivers/platform/x86/asus-armoury.c | 14 ++++++++++++++ include/linux/platform_data/x86/asus-wmi.h | 5 +++++ 2 files changed, 19 insertions(+) -- 2.55.0