🔧 OpenWrt: Diagnosing & Fixing IoT Device Wi-Fi Connection Issues

🧩 Problem

IoT devices (e.g., Alexa lights) attempt to connect to Wi-Fi but fail, even though:

  • The SSID is visible
  • WPA2 password is correct
  • They momentarily appear connected, then disconnect

This is common on routers like the Linksys WRT3200ACM running OpenWrt, especially with Marvell mwlwifi drivers.


✅ Step 1: Verify the Devices are Connecting to 2.4 GHz

Check active wireless interfaces:

iw dev

Identify the interface for 2.4 GHz (usually phy1-ap0), then:

iw dev phy1-ap0 station dump

If devices connect and then vanish repeatedly, move on.


✅ Step 2: Disable Third Radio (radio2)

This interface (mlan0) may interfere with the others.

uci set wireless.radio2.disabled='1'
uci commit wireless
wifi reload

✅ Step 3: Adjust 2.4 GHz Settings for IoT Compatibility

Edit radio1 (2.4 GHz) settings:

uci set wireless.radio1.channel='6'              # Use fixed non-DFS channel: 1, 6, or 11
uci set wireless.radio1.htmode='HT20'            # Set 20 MHz bandwidth
uci set wireless.radio1.country='EC'             # Set country for proper regulation
uci set wireless.default_radio1.ssid='Linksys88' # SSID (same as 5GHz)
uci set wireless.default_radio1.encryption='psk2'
uci set wireless.default_radio1.key='YourPasswordHere'
uci set wireless.default_radio1.wmm='0'          # Disable WMM (QoS)
uci set wireless.default_radio1.ieee80211n='0'   # Disable 802.11n for max compatibility
uci commit wireless
wifi reload

✅ Step 4: Disable Fast Transition Features (802.11r/v/k)

Ensure no roaming acceleration is active:

uci delete wireless.default_radio1.ieee80211r 2>/dev/null
uci delete wireless.default_radio1.ieee80211k 2>/dev/null
uci delete wireless.default_radio1.ieee80211v 2>/dev/null
uci commit wireless
wifi reload

✅ Step 5: Lower 5 GHz Signal Strength (Optional)

This helps force IoT devices to prefer 2.4 GHz:

uci set wireless.radio0.txpower='10'
uci commit wireless
wifi reload

🧪 Step 6: Test and Monitor Logs

To see live authentication and disconnection logs:

logread -f | grep hostapd

You should see lines like:

AP-STA-CONNECTED ...
EAPOL-4WAY-HS-COMPLETED ...
AP-STA-DISCONNECTED ...

Frequent disconnects = incompatibility.


✅ Step 7: Reboot IoT Devices

Some smart devices cache handshake settings. Fully reboot or reset them and reconnect to Linksys88.


📌 Final Recommendations

Setting Value
Band 2.4 GHz (radio1)
Channel 1, 6, or 11
Bandwidth 20 MHz
Encryption WPA2-PSK
Protocols 802.11b/g only (no n)
WMM Disabled
DFS / Radio2 Disabled
Fast Roaming (r/k/v) Disabled

💾 Optional: Backup Working Config

sysupgrade -b /tmp/iot-compatible-backup.tar.gz
scp root@192.168.1.1:/tmp/iot-compatible-backup.tar.gz .