diff --git a/05-troubleshooting/networking/steam-deck-wifi-flapping-iwd-periodic-scan-rtw88.md b/05-troubleshooting/networking/steam-deck-wifi-flapping-iwd-periodic-scan-rtw88.md index ed52503..6d23186 100644 --- a/05-troubleshooting/networking/steam-deck-wifi-flapping-iwd-periodic-scan-rtw88.md +++ b/05-troubleshooting/networking/steam-deck-wifi-flapping-iwd-periodic-scan-rtw88.md @@ -5,7 +5,7 @@ category: networking tags: [wifi, steam-deck, steamos, iwd, networkmanager, rtw88, rtl8822ce, power-save, supplicant-disconnect, flapping] status: published created: 2026-06-19 -updated: 2026-06-19 +updated: 2026-06-22 --- # Steam Deck Wi-Fi Flapping: IWD Periodic Scan + rtw88 Power Save @@ -120,6 +120,13 @@ A 3-minute continuous `ping` showed **180/180 replies, 0 loss**, latency tighten ## 📌 Notes - **Persistence:** `/etc/iwd/main.conf` and the dispatcher live in `/etc`, which survives reboots. A major SteamOS update *can* reset `/etc` — re-apply if the flapping returns after an OS update. + - **Why `/etc` resets:** SteamOS uses an immutable A/B root filesystem. An update writes a fresh root image to the other partition and boots it, replacing everything on root — `/etc`, `/usr`, installed packages. Only `/home` and `/var` (separate partitions) survive. Anything that must auto-run **as root at boot** (systemd units, NM dispatcher scripts, sudoers) has to be registered in `/etc`, so there is no clean *native* way to make this fix auto-persist. The realistic choices are a re-run-after-update script in `/home` (below) or a community overlay tool like `rwfus` that makes `/etc`+`/usr` persistent. + - **One-command recovery:** a self-contained restore script is staged on the Deck at `/home/deck/restore-wifi-fix.sh` (lives in `/home`, so it survives updates). After any update that wipes the fix, re-apply with: + ```bash + ssh -t deck@192.168.50.173 'sudo bash ~/restore-wifi-fix.sh' + ``` +- **Recurrence log:** + - **2026-06-22** — flap returned (Wi-Fi did not reconnect after wake). A SteamOS update had wiped `/etc` (both fix files gone; `~/.ssh` and the `deck` SSH password were also reset, the smoking gun that an update ran). Re-applied via the staged `restore-wifi-fix.sh`; verified `power_save off`, `DisablePeriodicScan` present, 60/60 pings 0% loss. MajorAir's SSH public key was added to `deck@192.168.50.173:~/.ssh/authorized_keys` during this session. - **Fully reversible:** ```bash sudo rm /etc/iwd/main.conf /etc/NetworkManager/dispatcher.d/90-wifi-powersave