Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-3999GitHub issuePublicReceived

WiFi broken after 3.2 update: systemd-networkd disabled + rfkill race condition

Reported by Sebastian-Geocento · filed Jan 9, 2026Closed upstream on 2026-07-18 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.

Received and recorded verbatim. Nothing has been checked yet.

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?
Not yet mapped to any requirement or component.
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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

WiFi broken after 3.2 update: systemd-networkd disabled + rfkill race conditionrevision 1 · captured 2026-10-04 11:49 UTC via poll

Summary

After updating to omarchy 3.2, WiFi no longer works on boot. Two separate issues require manual intervention every restart.

System Specs

  • Device: Desktop (AMD Ryzen AI Max 300 Series)
  • WiFi: MediaTek MT7925 (RZ717) Wi-Fi 7 160MHz
  • Kernel: 6.18.3-arch1-1
  • Omarchy: 3.2

Symptoms

On every boot, WiFi fails to connect. Manual workaround required:

sudo rfkill unblock all
sudo systemctl restart iwd

Diagnosis

Issue 1: systemd-networkd not enabled

iwd is enabled and connects to WiFi, but no IP address is obtained because systemd-networkd is not running to handle DHCP.

  • Config files exist in /etc/systemd/network/ (20-wlan.network, etc.)
  • iwd.service is enabled (symlink dated Dec 16 - install date)
  • systemd-networkd.service was never enabled

Evidence from logs:

systemd-networkd[1011]: wlan0: Connected WiFi access point: BTB-KSCGJ7
# But no "Gained carrier" or DHCP - networkd wasn't running

Fix:

sudo systemctl enable --now systemd-networkd

Issue 2: rfkill race condition with MT7925

Even with networkd enabled, WiFi is soft-blocked on boot due to a race condition:

  1. systemd-rfkill runs at boot to restore rfkill state
  2. MT7925 driver loads at approximately the same time
  3. Driver registers its rfkill device after systemd-rfkill finishes
  4. WiFi remains soft-blocked

Evidence from logs:

Jan 09 16:02:27 systemd[1]: Starting Load/Save RF Kill Switch Status...
Jan 09 16:02:27 mt7925e 0000:c0:00.0: ASIC revision: 79250000  # Same second - race

Fix: udev rule to unblock WiFi when interface appears:

echo 'ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", RUN+="/usr/bin/rfkill unblock wifi"' | sudo tee /etc/udev/rules.d/81-wifi-unblock.rules

Suggested Fixes for Omarchy

  1. Enable systemd-networkd in the installer/update script
  2. Ship /etc/udev/rules.d/81-wifi-unblock.rules for WiFi 7 / MediaTek compatibility

Additional Context

This setup (iwd + systemd-networkd) is the intended architecture based on the existing config files. The issue appears to be that networkd was either never enabled or got disabled during the 3.2 update.

View raw text
## Summary

After updating to omarchy 3.2, WiFi no longer works on boot. Two separate issues require manual intervention every restart.

## System Specs

- **Device:** Desktop (AMD Ryzen AI Max 300 Series)
- **WiFi:** MediaTek MT7925 (RZ717) Wi-Fi 7 160MHz
- **Kernel:** 6.18.3-arch1-1
- **Omarchy:** 3.2

## Symptoms

On every boot, WiFi fails to connect. Manual workaround required:
```bash
sudo rfkill unblock all
sudo systemctl restart iwd
```

## Diagnosis

### Issue 1: `systemd-networkd` not enabled

`iwd` is enabled and connects to WiFi, but no IP address is obtained because `systemd-networkd` is not running to handle DHCP.

- Config files exist in `/etc/systemd/network/` (20-wlan.network, etc.)
- `iwd.service` is enabled (symlink dated Dec 16 - install date)
- `systemd-networkd.service` was never enabled

**Evidence from logs:**
```
systemd-networkd[1011]: wlan0: Connected WiFi access point: BTB-KSCGJ7
# But no "Gained carrier" or DHCP - networkd wasn't running
```

**Fix:**
```bash
sudo systemctl enable --now systemd-networkd
```

### Issue 2: rfkill race condition with MT7925

Even with networkd enabled, WiFi is soft-blocked on boot due to a race condition:

1. `systemd-rfkill` runs at boot to restore rfkill state
2. MT7925 driver loads at approximately the same time
3. Driver registers its rfkill device *after* systemd-rfkill finishes
4. WiFi remains soft-blocked

**Evidence from logs:**
```
Jan 09 16:02:27 systemd[1]: Starting Load/Save RF Kill Switch Status...
Jan 09 16:02:27 mt7925e 0000:c0:00.0: ASIC revision: 79250000  # Same second - race
```

**Fix:** udev rule to unblock WiFi when interface appears:
```bash
echo 'ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", RUN+="/usr/bin/rfkill unblock wifi"' | sudo tee /etc/udev/rules.d/81-wifi-unblock.rules
```

## Suggested Fixes for Omarchy

1. Enable `systemd-networkd` in the installer/update script
2. Ship `/etc/udev/rules.d/81-wifi-unblock.rules` for WiFi 7 / MediaTek compatibility

## Additional Context

This setup (iwd + systemd-networkd) is the intended architecture based on the existing config files. The issue appears to be that networkd was either never enabled or got disabled during the 3.2 update.

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.

No decision has been recorded yet.