Hello, OpenWrt newbie here. My issue is several of my iOS devices regularly (several times a day) get into a 'zombie link' state where they still show they have decent wifi signal, but they have no actual connectivity for an extended period of time (minutes or more). Toggling wifi on the device off and on will resolve it for a little while. In the Openwrt logs around the same time, I'll see a message for the device MAC something like this:
daemon.info hostapd: phy1-ap0: STA [device_mac] IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Combing the logs, those DEAUTH messages mostly affect only iOS devices (e.g. iPhone 15 Pro, or older iPads), but occasionally I'll see a DEAUTH for the wifi address of a newish Windows machine or a Mac Mini, and rarely for an iRobot Roomba or a Yale smartlock. I haven't noticed the 'zombie link' state on the non-iOS devices, though it's quite possible it's present and just harder to notice since they get lighter usage. Inactivity DEAUTHs happen for iOS devices connected to both APs, so it's not an issue with just one AP's hardware.
My setup is a Banana Pi R4 running a recent OpenWrt snapshot (about a week old) acting as router and Wifi AP, with a 1 Gbps ethernet connection to a GL.iNet "Beryl AX" GL-MT3000 running OpenWrt 23.05.5 that is acting as a separate AP. Both devices are configured to act broadcast my primary SSID, and the Banana Pi also broadcasts a guest SSID. The two APs configured to use non-overlapping channels. I'm in a rural area so wifi interference from neighbors is minimal.
I've read through quite a few posts about similar issues others have experienced (usually with iOS devices), and haven't had any luck with the suggested solutions. Below is some additional info in case relevant.
/etc/config/wireless from the primary AP/router (config is similar on the other, minus the guest network):
config wifi-device 'radio0'
option type 'mac80211'
option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
option band '2g'
option channel '1'
option htmode 'HE20'
option cell_density '0'
option country 'AU'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'MYSSID'
option encryption 'sae-mixed'
option key 'mypassword'
option disassoc_low_ack '0'
option max_inactivity '3600'
option ocv '0'
option dtim_period '3'
option wpa_group_rekey '86400'
option ft_over_ds '0'
option ieee80211r '0'
config wifi-device 'radio1'
option type 'mac80211'
option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0+1'
option band '5g'
option channel '36'
option htmode 'HE80'
option country 'AU'
option cell_density '0'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option ssid 'MYSSID'
option encryption 'sae-mixed'
option key 'mypassword'
option ocv '0'
option disassoc_low_ack '0'
option max_inactivity '3600'
option dtim_period '3'
option wpa_group_rekey '86400'
option ft_over_ds '0'
option ieee80211r '0'
config wifi-device 'radio2'
option type 'mac80211'
option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0+2'
option band '6g'
option channel '33'
option htmode 'HE160'
option country 'AU'
option cell_density '0'
option txpower '23'
config wifi-iface 'default_radio2'
option device 'radio2'
option network 'lan'
option mode 'ap'
option ssid 'MYSSID'
option encryption 'sae'
option key 'mypassword'
option ocv '0'
option ieee80211w '2'
option ieee80211r '0'
option nasid '22475cbbafb1'
option ft_over_ds '0'
option disassoc_low_ack '0'
option max_inactivity '3600'
option dtim_period '3'
option wpa_group_rekey '86400'
config wifi-iface 'wifinet3'
option device 'radio0'
option mode 'ap'
option ssid 'MYSSID-Guest'
option encryption 'psk2'
option key 'myguestpassword'
option network 'guestlan'
config wifi-iface 'wifinet4'
option device 'radio1'
option mode 'ap'
option ssid 'MYSSID-Guest'
option encryption 'psk2'
option key 'myguestpassword'
option ocv '0'
option network 'guestlan'
"ubus call system board" on Banana Pi R4:
{
"kernel": "6.6.59",
"hostname": "OpenWrtPrimaryAP",
"system": "ARMv8 Processor rev 0",
"model": "Bananapi BPI-R4",
"board_name": "bananapi,bpi-r4",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "SNAPSHOT",
"revision": "r28034-ca53f2d430",
"target": "mediatek/filogic",
"description": "OpenWrt SNAPSHOT r28034-ca53f2d430",
"builddate": "1731082951"
}
}
"ubus call system board" on GL.iNet:
{
"kernel": "5.15.167",
"hostname": "GLiNETmt3000",
"system": "ARMv8 Processor rev 4",
"model": "GL.iNet GL-MT3000",
"board_name": "glinet,gl-mt3000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.5",
"revision": "r24106-10cc5fcd00",
"target": "mediatek/filogic",
"description": "OpenWrt 23.05.5 r24106-10cc5fcd00"
}
}
This is not the only issue with my setup -- there's a Sony GoogleTV device that won't connect to my secondary AP but will connect to my primary AP's guest network, and some Nanoleaf Shapes devices that won't complete HomeKit setup, but most devices are working OK, and the issue with iOS devices is the most serious problem. I'm still holding out hope there's some setting somewhere that will make OpenWrt play nice with my family's iOS devices, but I'm pretty stuck. If I can't solve it, I will unfortunately have to bail on OpenWrt and try Ubiquiti or Ruckus gear (as this guy also eventually did when faced with the same issue). Any help would be much appreciated.