Bpi-r3 clients lose 5GHz network periodically

Clients lose 5GHz network periodically at the levels of signal specified on the screenshot. My previous Mikrotik hAP AC never behaved this way placed at the same location of the flat. I tried different countries/channels/transmit power levels but without visible changes. OpenWRT v24.10.3.

Blockquote
Mode: Master | SSID: Mamba5GHz
BSSID: 82:0C:43:26:60:00
Encryption: mixed WPA2/WPA3 PSK, SAE (CCMP)
Channel: 36 (5.180 GHz)
Tx-Power: 20 dBm
Signal: -85 dBm | Noise: -91 dBm
Bitrate: 122.8 Mbit/s | Country: RU
Blockquote

Try WPA2+AES or WPA3 alone, mixed mode glitches with ~5yo clients.

Set channel(s) to automatic and width to 80, might be default corner is too crowded.

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

I tried wpa3 alone first, but with the same result. As for 5yo clients - my problem first is with Google Pixel 9 Pro XL which is quite new though. Here is the output of the commands (faked addresses & keys):

root@Banana:~# ubus call system board
{
        "kernel": "6.6.104",
        "hostname": "Banana",
        "system": "ARMv8 Processor rev 4",
        "model": "Bananapi BPI-R3",
        "board_name": "bananapi,bpi-r3",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.3",
                "revision": "r28872-daca7c049b",
                "target": "mediatek/filogic",
                "description": "OpenWrt 24.10.3 r28872-daca7c049b",
                "builddate": "1758316778"
        }
}
root@Banana:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd96:a386:9c1::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'
        list ports 'sfp2'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '10.0.0.253'
        option netmask '255.255.255.0'
        option ip6assign '60'
        list dns_search 'local'
        list dns '10.0.0.101'
        list dns '2a02:a:b:c::19c'

config device
        option name 'br-wan'
        option type 'bridge'
        list ports 'eth1'
        list ports 'wan'

config device
        option name 'eth1'
        option macaddr '*'

config device
        option name 'wan'
        option macaddr '*'

config interface 'wan'
        option device 'br-wan'
        option proto 'dhcp'
        option peerdns '0'
        list dns '10.0.0.101'
        list dns 'x::x'
        list dns_search 'local'

config interface 'wan6'
        option device 'br-wan'
        option proto 'dhcpv6'

config interface 'vpn'
        option proto 'none'
        option device 'tun0'

root@Banana:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi'
        option band '2g'
        option channel '9'
        option htmode 'HE20'
        option cell_density '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'Mamba2GHz'
        option encryption 'sae-mixed'
        option key '*'
        option ocv '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/18000000.wifi+1'
        option band '5g'
        option channel 'auto'
        option htmode 'HE40'
        option country 'RU'
        option cell_density '0'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'Mamba5GHz'
        option encryption 'sae-mixed'
        option key '*'
        option ocv '0'

root@Banana:~# cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        option allservers '1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '30d'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        list dhcp_option '6,10.0.0.101'
        list dns '2a02:a:b:c::19c'
        list domain 'local'
        list ntp '10.0.0.253'
        option ra_slaac '0'
        option preferred_lifetime '7d'
        option ra_useleasetime '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config host
        option name 'rpi5'
        list mac '*'
        option ip '10.0.0.114'
        option leasetime 'infinite'

config host
        option name 'homeassistant'
        list mac '*'
        option ip '10.0.0.119'
        option leasetime 'infinite'

config host
        option name 'TIZEN.lan'
        list mac '*'
        option ip '10.0.0.148'
        option leasetime 'infinite'

config host
        option name 'cloud'
        list mac '*'
        option ip '10.0.0.101'
        option leasetime 'infinite'

config host
        option name 'slzb-rtr'
        list mac '*'
        option ip '10.0.0.130'
        option leasetime 'infinite'

config host
        option name 'slzb-crd'
        list mac '*'
        option ip '10.0.0.124'
        option leasetime 'infinite'

config host
        option name 'dahua'
        list mac '*'
        option ip '10.0.0.116'
        option leasetime 'infinite'

config host
        option name 'Pixel'
        list mac '*'
        option ip '10.0.0.235'
        option leasetime 'infinite'

config host
        option name 'XGIMI'
        list mac '*'
        option ip '10.0.0.161'
        option leasetime 'infinite'

root@Banana:~# cat /etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'
        option flow_offloading '1'
        option flow_offloading_hw '1'

config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone
        option name 'vpn'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        list network 'vpn'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config forwarding
        option src 'lan'
        option dest 'vpn'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'cloudv4'
        option family 'ipv4'
        list proto 'tcp'
        option src 'wan'
        option src_dport '22'
        option dest_ip '10.0.0.101'
        option dest_port '22'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'jellyfin'
        option family 'ipv4'
        list proto 'tcp'
        option src 'wan'
        option src_dport '443'
        option dest_ip '10.0.0.101'
        option dest_port '443'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'qbittorrent_v4'
        option family 'ipv4'
        option src 'wan'
        option src_dport '22'
        option dest_ip '10.0.0.101'
        option dest_port '51413'
        list proto 'tcp'
        list proto 'udp'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'SSH'
        list proto 'tcp'
        list dest_ip '77.x.x.239'
        option dest_port '22'
        option target 'ACCEPT'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'qbittorrent_v4'
        list dest_ip '77.x.x.239'
        option dest_port '51413'
        option target 'ACCEPT'
        list proto 'tcp'
        list proto 'udp'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'SSHv6'
        list proto 'tcp'
        option dest_port '22'
        option target 'ACCEPT'
        option family 'ipv6'
        list dest_ip '2a02:d:e:f::19c'
        list dest_ip '2a02:a:b:c::c6b'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'Jellyfin (cloud)'
        list proto 'tcp'
        option dest_port '443'
        option target 'ACCEPT'
        list dest_ip '2a02:d:e:f::19c'
        list dest_ip '77.x.x.239'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'qbittorrent_v6'
        option dest_port '51413'
        option target 'ACCEPT'
        option family 'ipv6'
        list dest_ip '2a02:d:e:f::19c'
        list proto 'tcp'
        list proto 'udp'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'ha (HAOS)'
        list proto 'tcp'
        list dest_ip '2a02:d:e:f::6e1'
        option dest_port '8123'
        option target 'ACCEPT'

config rule
        option src 'wan'
        option dest 'lan'
        option name 'ha (HAOS v4)'
        list proto 'tcp'
        list dest_ip '77.x.x.239'
        option dest_port '8123'
        option target 'ACCEPT'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'HAOS'
        option family 'ipv4'
        list proto 'tcp'
        option src 'wan'
        option src_dport '8123'
        option dest_ip '10.0.0.119'
        option dest_port '8123'

config rule
        option name 'Allow-Torrent'
        option src 'wan'
        option proto 'tcp udp'
        option dest_port '51413'
        option target 'ACCEPT'
        option dest 'lan'
        option family 'ipv6'

root@Banana:~#

You can totally use HE80 in Russia. Nothing else wrong on wifi side.

Good practice is same AP in all bands.

Proper place for DNS override is in dnsmasq forwards (not related to problem at hand)

Make a signal survey, it usually takes moving AP 10-20cm from current location to get heating pipes out of the wsy.

Yup, my thought was to move the AP out of closet to the corridor, though it's now only behind a drywall from there..
Thank you for the hints, i'll try )

Make a floor plan , move router 5cm to the side it is easiest, do again. It is that easy sometimes.