Fixing Wi‑Fi Dropouts on ASL3: The Hidden Conflict Between NetworkManager and wpa_supplicant
If you’ve ever installed AllStarLink 3.x on a Raspberry Pi or x86 system and noticed your node randomly dropping off Wi‑Fi, switching between access points, or getting stuck in a strange “dormant” state, you’re not alone. I recently ran into this exact issue on two different nodes, and the root cause turned out to be something most users never think to check.
The good news: the fix is simple once you know what’s going on.
This post walks through the symptoms, the diagnosis, and the exact steps to fix the problem permanently.
The Symptoms
On both of my ASL3 nodes, I was seeing:
- Random Wi‑Fi disconnects
- The Pi jumping between 2.4 GHz and 5 GHz access points
- “DORMANT” mode showing up in
iw dev - Slow or failed reconnects
- Occasional audio dropouts on the AllStar node
- Unstable links even with strong signal
At first, I assumed it was a weak signal or interference. I even disabled the 2.4 GHz SSID on a nearby access point to force the Pi onto 5 GHz. That helped a little, but the dropouts continued.
Something deeper was going on.
The Real Cause: Two Wi‑Fi Managers Fighting Each Other
ASL3 is based on Debian 12, and depending on how the image was built, it may include:
- NetworkManager
- wpa_supplicant
Both of these services can manage Wi‑Fi connections. And on my nodes, both were active at the same time.
You can check this with:
Code
systemctl is-active NetworkManager
systemctl is-active wpa_supplicant
If both return active, you’ve found the culprit.
When two Wi‑Fi managers try to control the same interface, you get:
- roaming between APs
- DHCP conflicts
- interface resets
- “dormant” mode
- dropped packets
- unstable 5 GHz connections
This is exactly what I was seeing.
The Fix: Disable wpa_supplicant and Let NetworkManager Handle Wi‑Fi
NetworkManager is the more modern and stable option on ASL3, especially since it supports the nmtui Wi‑Fi setup menu.
Here’s the fix:
1. Disable wpa_supplicant
Code
sudo systemctl stop wpa_supplicant
sudo systemctl disable wpa_supplicant
2. Restart NetworkManager
Code
sudo systemctl restart NetworkManager
3. Verify Wi‑Fi is still connected
Code
iw wlan0 link
You should see your SSID and channel listed normally.
Once I did this on both nodes, the random dropouts stopped immediately.
Bonus Fix: Disable Wi‑Fi Power Saving
Raspberry Pi Wi‑Fi defaults to power‑saving mode, which is great for laptops but terrible for AllStar nodes. It causes latency spikes, missed packets, and sometimes disconnects.
Turn it off:
Code
sudo iw dev wlan0 set power_save off
Make it permanent:
Code
sudo mkdir -p /etc/NetworkManager/conf.d
sudo nano /etc/NetworkManager/conf.d/wifi-powersave.conf
Add:
Code
[connection]
wifi.powersave = 2
Restart:
Code
sudo systemctl restart NetworkManager
This alone can dramatically improve stability.
Automating the Fix for Future Installs
To make life easier, I created a script that:
- disables wpa_supplicant
- enables NetworkManager
- disables Wi‑Fi power saving
- launches the Wi‑Fi setup menu
Here’s the script:
#!/bin/bash
echo "=== ASL3 Wi-Fi Fix Script ==="
# 1. Stop and disable wpa_supplicant
echo "[1/4] Disabling wpa_supplicant..."
sudo systemctl stop wpa_supplicant 2>/dev/null
sudo systemctl disable wpa_supplicant 2>/dev/null
# 2. Ensure NetworkManager is enabled and running
echo "[2/4] Enabling NetworkManager..."
sudo systemctl enable NetworkManager
sudo systemctl restart NetworkManager
# 3. Disable Wi-Fi power saving (runtime)
echo "[3/4] Disabling Wi-Fi power saving..."
sudo iw dev wlan0 set power_save off 2>/dev/null
# 4. Make power saving OFF permanent
echo "[4/4] Making power saving permanently disabled..."
sudo mkdir -p /etc/NetworkManager/conf.d
sudo bash -c 'cat > /etc/NetworkManager/conf.d/wifi-powersave.conf <<EOF
[connection]
wifi.powersave = 2
EOF'
sudo systemctl restart NetworkManager
echo ""
echo "=== Wi-Fi services configured ==="
echo "Launching Wi-Fi setup menu (nmtui)..."
echo ""
sleep 1
sudo nmtui
Run it once after installing ASL3, and your Wi‑Fi will be rock‑solid.
Conclusion
If your ASL3 node is experiencing Wi‑Fi instability, the problem may not be your access point, your signal strength, or even your hardware. In many cases, the real issue is that NetworkManager and wpa_supplicant are both trying to manage Wi‑Fi at the same time.
Disabling wpa_supplicant and letting NetworkManager take over — combined with turning off Wi‑Fi power saving — results in a dramatically more stable connection.
After applying this fix, both of my nodes have been running flawlessly on 5 GHz with zero dropouts.
If you’re building or maintaining AllStar nodes, this is a must‑do step.
