···11+#!/bin/bash
22+33+# Wait for WiFi interface and desktop notifications to be ready
44+sleep 5
55+66+# Check WiFi power save
77+power_save=$(iw dev wlan0 get power_save 2>/dev/null | awk '{print $3}')
88+if [ "$power_save" = "on" ]; then
99+ notify-send -u critical "WiFi: Power Save ON" \
1010+ "Speed will be throttled. Run: sudo ~/.config/hypr/sspaeti/wifi/fix-wifi-speed.sh"
1111+fi
1212+1313+# Check if linux-firmware-intel IgnorePkg is missing from pacman.conf
1414+if ! grep -q "IgnorePkg.*linux-firmware-intel" /etc/pacman.conf; then
1515+ notify-send -u critical "WiFi: IgnorePkg missing" \
1616+ "linux-firmware-intel can be upgraded by omarchy. Run: sudo ~/.config/hypr/sspaeti/wifi/fix-wifi-speed.sh"
1717+fi
1818+1919+# Check if firmware version is not the known-good one
2020+fw_version=$(pacman -Q linux-firmware-intel 2>/dev/null | awk '{print $2}')
2121+if [ "$fw_version" != "20251021-1" ]; then
2222+ notify-send -u critical "WiFi: Bad firmware ($fw_version)" \
2323+ "Expected 20251021-1. Run: sudo ~/.config/hypr/sspaeti/wifi/fix-wifi-speed.sh"
2424+fi
+46
hypr/.config/hypr/sspaeti/wifi/fix-wifi-speed.sh
···11+#!/bin/bash
22+# Fix Intel AX210 WiFi speed issues
33+# Run as root: sudo ~/.config/hypr/sspaeti/fix-wifi-speed.sh
44+55+set -e
66+77+echo "=== Fixing WiFi speed ==="
88+99+# 1. Disable power save
1010+echo "[1/3] Disabling WiFi power save..."
1111+iw dev wlan0 set power_save off
1212+echo " Done: $(iw dev wlan0 get power_save)"
1313+1414+# 2. Restore IgnorePkg in pacman.conf
1515+if ! grep -q "IgnorePkg.*linux-firmware-intel" /etc/pacman.conf; then
1616+ echo "[2/3] Adding IgnorePkg to pacman.conf..."
1717+ sed -i '/^\[options\]/a IgnorePkg = linux-firmware-intel' /etc/pacman.conf
1818+ echo " Done"
1919+else
2020+ echo "[2/3] IgnorePkg already present, skipping"
2121+fi
2222+2323+# 3. Downgrade firmware if needed
2424+fw_version=$(pacman -Q linux-firmware-intel 2>/dev/null | awk '{print $2}')
2525+if [ "$fw_version" != "20251021-1" ]; then
2626+ cache="/var/cache/pacman/pkg/linux-firmware-intel-20251021-1-any.pkg.tar.zst"
2727+ if [ -f "$cache" ]; then
2828+ read -p "[3/3] Downgrade firmware from $fw_version to 20251021-1? [y/N] " confirm
2929+ if [[ "$confirm" == [yY] ]]; then
3030+ pacman -U --noconfirm "$cache"
3131+ echo " Done. Reloading WiFi driver..."
3232+ modprobe -r iwlmvm && modprobe -r iwlwifi && modprobe iwlwifi && modprobe iwlmvm
3333+ echo " Reconnect to WiFi now"
3434+ else
3535+ echo " Skipped"
3636+ fi
3737+ else
3838+ echo "[3/3] ERROR: Cache file not found: $cache"
3939+ echo " Download manually or find another cached version"
4040+ fi
4141+else
4242+ echo "[3/3] Firmware already at 20251021-1, skipping"
4343+fi
4444+4545+echo ""
4646+echo "=== Done. Check speed with: iw dev wlan0 station dump | grep bitrate ==="