Device / version
- Anbernic RG35XX Pro (H700), muOS 2601.1 Funky Jacaranda (full image + 2601.1 update applied)
- Wi-Fi driver: Realtek RTW (as shown in dmesg), 2.4 GHz and 5 GHz tested
Symptom
- On an access point in WPA2/WPA3 transition (mixed) mode, the auto-connect at boot and manual connects fail most of the time and are retried over and over. Sometimes one attempt succeeds by chance.
- Because web services are only started after a successful connect, SSH is often not available even though the device ends up with an IP address a few seconds later (dhcpcd keeps running in the background).
What I measured
- From wpa_supplicant start to
/sys/class/net/wlan0/carrier= 1 (4-way handshake complete): 5.16 s / 5.17 s on 2.4 GHz, 6.18 s on 5 GHz on the transition-mode AP. - During the failing attempts dmesg shows
assoc successfollowed by repeatedrtw_aes_decrypt(wlan0) no_gkey_bc_cnt(group key not installed yet), thenlink is not readywhen the connect is torn down. - On a WPA2-PSK-only SSID on the same AP hardware, the device connected on the first try 3 out of 3 times. I now use a dedicated WPA2-PSK-only SSID as a workaround.
- DHCP itself is fast (the lease is granted right after the link comes up), so this is not a DHCP issue.
Where it happens (/opt/muos/script/system/network.sh, 2601.1)
WAIT_CARRIER() {
[ "$IFCE" = "eth0" ] && return 0
I=0
while [ "$I" -lt 5 ]; do
[ "$(cat /sys/class/net/"$IFCE"/carrier 2>/dev/null)" = "1" ] && return 0
I=$((I + 1))
sleep 1
done
LOG_ERROR "$0" 0 "NETWORK" "Link carrier timeout"
FAIL_WITH "LINK_TIMEOUT" "$RC_LINK_TIMEOUT"
}
WAIT_NETWORK_ASSOC proceeds as soon as the SSID shows in iw dev wlan0 link (association, not handshake completion), so the whole 4-way handshake has to finish inside these 5 seconds. With ~5–6 s handshakes this becomes a race, and a lost race tears down the connection and starts TRY_CONNECT from scratch.
Possibly the same root cause in earlier reports
- [2508.4][RG40XX-H] WIFI disconnects after 20sec ([2508.4][RG40XX-H] WIFI disconnects after 20sec) — workaround there was WPA2-only / separate SSIDs
- Wifi disconnects every now and then (Wifi disconnects every now and then) — fixed by a separate SSID per band/security mode
- My Rg35xx-H doesnt want to connect to my internet and does not want to recognize my sd2 roms card (RG35XX-H doesn’t connect) — advice was “2.4 GHz, not a mixed network”
These all ended with “avoid mixed WPA2/WPA3”, which matches what I saw; the measurements above point at the fixed 5 s carrier window as the reason.
Suggestions
- Increase the carrier wait (e.g. 15 s), or make it a setting next to
con_retry/wait_timer. - Or wait on the supplicant state instead (
wpa_cli -i wlan0 status→wpa_state=COMPLETED) rather than a fixed carrier window.
Related observation (separate issue, low priority)
- The wpa_supplicant config written by
web/password.shcontains onlyssid/scan_ssid/psk(nokey_mgmt, noieee80211w), so WPA3-SAE-only networks cannot be joined. It may be worth documenting that WPA2-PSK (or transition mode) is required.
Thanks for muOS. It has been a joy to use.