Public bug reported:
Hardware and software
---------------------
System: ASUSTeK COMPUTER INC. ZenBook UX325UA/UM325UA, revision 1.0
BIOS: UX325UA.306 (2025-02-19)
Ubuntu: Ubuntu 26.04 LTS
Kernel on which the issue was reproduced: 7.0.0-28-generic
Ubuntu kernel source package: linux-source-7.0.0 7.0.0-28.28
Expected behavior
-----------------
Linux should provide a supported way to read and restore the last physical
Fn Lock state selected with Fn+Esc, so that userspace can persist that state
across boots. Windows on this laptop remembers/restores the selected state.
Original behavior with the stock Ubuntu kernel
----------------------------------------------
The stock asus_wmi driver does not expose its current Fn Lock state through a
supported userspace interface. At module probe it unconditionally initializes
its private fnlock_locked state from the read-only fnlock_default module
parameter (true by default) and calls the ASUS WMI device setter. A physical
Fn+Esc press changes the state for the running session, but the selected state
cannot be learned and restored reliably across the next module probe or boot.
The relevant firmware interface is ASUS WMI device 0x00100023. Physical Fn+Esc
produces ASUS WMI notification 0x4e. asus_wmi handles and consumes that
notification internally: it toggles its private fnlock_locked value and calls
the firmware setter, then returns without reporting an input key. Captures from
the "Asus WMI hotkeys" evdev device showed ordinary ASUS hotkeys but no Fn+Esc
event.
Consequently, a normal userspace key watcher cannot solve this. It cannot
observe notification 0x4e through evdev, cannot read the driver's private
state, and cannot explicitly set that state through a supported runtime
interface. The read-only fnlock_default parameter can only choose a fixed
probe-time value; it cannot implement "remember the last physical selection."
Concise reproduction using the original stock driver
----------------------------------------------------
1. Boot Ubuntu 26.04 with its stock 7.0.0-28-generic asus_wmi module and no
fnlock_default override.
2. Note whether F1-F12 or the alternate media actions are active without Fn.
3. Press physical Fn+Esc and verify that the mode changes for the running
session.
4. Monitor the "Asus WMI hotkeys" input device while pressing Fn+Esc; no
corresponding evdev key event is produced.
5. Reboot. The driver again applies its fixed fnlock_default value at probe
instead of restoring the state selected in step 3.
Investigation and proof of concept
----------------------------------
The original problem was reproduced and investigated with the stock Ubuntu
driver before any workaround was installed. A local DKMS proof of concept was
then built from Ubuntu's matching asus_wmi source. It exposes the driver's
current state, accepts explicit 0 or 1 writes, and notifies a userspace watcher
after a successful physical Fn+Esc transition. A root-only service can thereby
persist the resulting state and restore it later. Testing confirmed that the
driver state can be exposed and managed safely without synthesizing key input
or accessing undocumented hardware registers.
The currently running system does contain that local out-of-tree DKMS
replacement and its local persistence services. It will therefore be visible
in the Apport data attached to this report. It is evidence and a proof of
concept only; it is not a proposed Ubuntu packaging solution, and the original
stock-kernel finding predates its installation.
No EFI variables, Windows partitions, firmware/BIOS settings, DSDT overrides,
or raw embedded-controller registers were changed during the investigation.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-28-generic 7.0.0-28.28
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Sat Jul 25 21:32:58 2026
InstallationDate: Installed on 2024-12-18 (584 days ago)
InstallationMedia: Ubuntu 24.04.1 LTS "Noble Numbat" - Release amd64
(20240827.1)
MachineType: ASUSTeK COMPUTER INC. ZenBook UX325UA_UM325UA
ProcFB: 0 amdgpudrmfb
SourcePackage: linux
UpgradeStatus: Upgraded to resolute on 2026-05-04 (82 days ago)
dmi.bios.date: 02/19/2025
dmi.bios.release: 5.19
dmi.bios.vendor: American Megatrends International, LLC.
dmi.bios.version: UX325UA.306
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: UX325UA
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.ec.firmware.release: 3.6
dmi.modalias:
dmi:bvnAmericanMegatrendsInternational,LLC.:bvrUX325UA.306:bd02/19/2025:br5.19:efr3.6:svnASUSTeKCOMPUTERINC.:pnZenBookUX325UA_UM325UA:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnUX325UA:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:sku:pfaZenBook:
dmi.product.family: ZenBook
dmi.product.name: ZenBook UX325UA_UM325UA
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug resolute wayland-session
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161834
Title:
asus_wmi: Fn Lock state resets on reboot and cannot be observed from
userspace
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2161834/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs