WiFi Access Point Unstable With Rock S0

I’m trying to diagnose some Wi-Fi instability on an embedded device running Armbian and using an AP6212 (BCM43430) Wi-Fi module.

The system frequently throws kernel errors related to brcmfmac and eventually Wi-Fi stops functioning correctly.

Kernel log examples:

[Fri Mar 6 08:24:35 2026] ieee80211 phy0: brcmf_cfg80211_scan: scan error (-110)
[Fri Mar 6 08:24:58 2026] ieee80211 phy0: brcmf_cfg80211_start_ap: Beacon Interval Set Error, -110
[Fri Mar 6 08:25:16 2026] ieee80211 phy0: brcmf_cfg80211_get_channel: chanspec failed (-110)
[Fri Mar 6 08:25:19 2026] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-110)
[Fri Mar 6 08:25:27 2026] ieee80211 phy0: brcmf_cfg80211_change_iface: WLC_SET_INFRA error (-110)
[Fri Mar 6 08:26:13 2026] ieee80211 phy0: brcmf_run_escan: error (-110)

Additionally, wpa_supplicant logs occasionally show:

nl80211: kernel reports: key addition failed

I also see the interface flapping:

systemd-networkd: wlan0: Gained carrier
systemd-networkd: wlan0: Lost carrier

System details:

Board: Radxa ROCK S0
OS: Armbian (6.18.8-current-rockchip64)
Wi-Fi chip: AP6212 (Broadcom BCM43430)
Driver: brcmfmac
Manager: NetworkManager

Things I have already checked:

  • Only NetworkManager managing the interface (not systemd-networkd)
  • Fixed Wi-Fi channel
  • Disabled Wi-Fi power saving
  • Bluetooth disabled
  • Tested increasing CPU max frequency with:

[email protected]

The AP usually functions for for about 4 hours, then the firmware for the chip locks up. I can see the AP being broadcast but cannot connect to it.

Any guidance or debugging suggestions would be greatly appreciated.