Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
System hangs on second suspend when iwlwifi firmware fails to reinitialize after wake
Reported by hojner · filed Aug 26, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
Problem
After waking from suspend, the Intel WiFi driver (iwlwifi) fails to reload its firmware with repeated -110 timeout errors. While the driver is stuck in this retry loop, systemd-logind triggers another suspend (e.g. from lid close). This second suspend never completes — the system becomes completely unresponsive and requires a hard power-off.
Environment
- ThinkPad X1 (Intel WiFi AX-series, iwlwifi driver)
- Omarchy (Arch-based)
- Kernel logs show:
iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110repeated dozens of times
Steps to Reproduce
- Suspend the laptop (lid close or manual)
- Wake it — iwlwifi firmware fails to reinitialize (not guaranteed, but common)
- Suspend again while iwlwifi is stuck retrying
- System hangs indefinitely in suspend, requiring hard reboot
Suggested Fix
Add a systemd sleep hook that unloads iwlwifi before suspend and reloads it after resume:
#!/bin/bash
# /usr/lib/systemd/system-sleep/iwlwifi-fix.sh
case $1 in
pre) modprobe -r iwlmvm iwlwifi ;;
post) modprobe iwlwifi ;;
esacAnd/or set options iwlwifi enable_ini=N in /etc/modprobe.d/iwlwifi.conf to prevent debug firmware from interfering with resume.
Logs
Aug 26 17:12:41 kernel: iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110
(repeated ~20 times over 30 seconds)
Aug 26 17:13:11 systemd-sleep: Performing sleep operation 'suspend'...
(last log entry before hard reboot was required)View raw text
## Problem After waking from suspend, the Intel WiFi driver (iwlwifi) fails to reload its firmware with repeated `-110` timeout errors. While the driver is stuck in this retry loop, systemd-logind triggers another suspend (e.g. from lid close). This second suspend never completes — the system becomes completely unresponsive and requires a hard power-off. ## Environment - ThinkPad X1 (Intel WiFi AX-series, iwlwifi driver) - Omarchy (Arch-based) - Kernel logs show: `iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110` repeated dozens of times ## Steps to Reproduce 1. Suspend the laptop (lid close or manual) 2. Wake it — iwlwifi firmware fails to reinitialize (not guaranteed, but common) 3. Suspend again while iwlwifi is stuck retrying 4. System hangs indefinitely in suspend, requiring hard reboot ## Suggested Fix Add a systemd sleep hook that unloads iwlwifi before suspend and reloads it after resume: ```bash #!/bin/bash # /usr/lib/systemd/system-sleep/iwlwifi-fix.sh case $1 in pre) modprobe -r iwlmvm iwlwifi ;; post) modprobe iwlwifi ;; esac ``` And/or set `options iwlwifi enable_ini=N` in `/etc/modprobe.d/iwlwifi.conf` to prevent debug firmware from interfering with resume. ## Logs ``` Aug 26 17:12:41 kernel: iwlwifi 0000:00:14.3: Failed to run INIT ucode: -110 (repeated ~20 times over 30 seconds) Aug 26 17:13:11 systemd-sleep: Performing sleep operation 'suspend'... (last log entry before hard reboot was required) ```
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 09:23 UTC