Bug Report: asusctl 6.3.0 causes HID driver failure on ASUS ROG Flow Z13 (GZ302)
After upgrading from asusctl 6.2.0 to 6.3.0, the system fails to boot properly. The ASUS HID driver fails to initialize with ENOMEM (-12) errors, resulting in a black screen that requires a hard reset. Downgrading to asusctl 6.2.0 resolves the issue.
Environment
| Component | Version |
|---|---|
| Device | ASUS ROG Flow Z13 (GZ302EA) |
| CPU | AMD Ryzen AI MAX+ 395 (Strix Halo) |
| OS | CachyOS Linux |
| Kernel | 6.18.6-2-cachyos |
| asusctl (broken) | 6.3.0-0.1 |
| asusctl (working) | 6.2.0-0.1 |
ASUS HID Devices
Bus 003 Device 003: ID 0b05:1a30 ASUSTek Computer, Inc. GZ302EA-Keyboard
Bus 003 Device 004: ID 0b05:18c6 ASUSTek Computer, Inc. N-KEY Device
Symptoms
- System update includes asusctl 6.2.0 → 6.3.0
- On reboot, screen goes black shortly after boot (~10 seconds into boot)
- System becomes completely unresponsive
- Hard reset required
- Issue persists across multiple reboots
- Downgrade to 6.2.0 resolves the issue completely
Error Logs
From journalctl -b -p err during failed boot:
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:1A30.0005: Asus input not registered
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:1A30.0005: probe with driver asus failed with error -12
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:1A30.0002: Asus input not registered
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:1A30.0002: probe with driver asus failed with error -12
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:18C6.0007: Asus input not registered
Jan 19 20:06:36 cachyos kernel: asus 0003:0B05:18C6.0007: probe with driver asus failed with error -12
The error code -12 is ENOMEM (out of memory), suggesting a memory allocation failure during HID driver initialization.
Analysis
The issue appears to be a race condition or resource contention between the hid_asus kernel driver and asusd during early boot. Both are trying to access the same HID devices simultaneously, and with asusctl 6.3.0, this results in memory allocation failures.
The failure affects all three ASUS HID endpoints:
-
0B05:1A30- GZ302EA-Keyboard (appears twice, likely keyboard + touchpad) -
0B05:18C6- N-KEY Device (RGB controller)
Workaround
Downgrade to asusctl 6.2.0:
sudo pacman -U /var/cache/pacman/pkg/asusctl-6.2.0-0.1-x86_64.pkg.tar.zst
Additional Notes
- The
asusd.servicehas a 1-second sleep inExecStartPre, but this doesn't seem sufficient - Even with 6.2.0, there's a warning about failing to initialize the
18c6shared HID handle, but the system boots successfully - Kernel parameters include GPU stability fixes:
amdgpu.gpu_recovery=1 pcie_aspm=off amdgpu.dcdebugmask=0x400 amdgpu.sg_display=0
Request
Please investigate what changed in asusctl 6.3.0 that could cause this HID initialization failure. Possible areas to check:
- Changes to HID device opening/locking logic
- Changes to early initialization timing
- Memory allocation patterns during startup