5GHz is out every so often

Since release 19.07 I had one 5GHz router that once in a while has 5G band radio locked out. Restating adapter or network services has no effect, resolved only by cold reboot. This is consistent through all software releases. I though about possibility of hardware defect and limped disregarding this being serious problem.
Jumping years forward: Many different routers tried and always the same problem with 5GHz: once every few week I loose 5G and need cold reboot.
Reading about similar problems I have changed authentification from Mixed WPA2/WPA3 to plain WPA2. That appeared to reduce frequency of lockouts by :3 to :4, but never eliminated them.
Now I have my primary router:
Linksys EA7300 v2/MediaTek MT7621 ver:1 eco:3/OpenWrt 23.05.5 r24106-10cc5fcd00 / LuCI openwrt-23.05 branch git-24.264.56413-c7a3562
and the second:
Linksys WHW01/ipq40xx/generic/OpenWrt 23.05.5 r24106-10cc5fcd00 / LuCI openwrt-23.05 branch git-24.264.56413-c7a3562
802.11r setup on both and working pretty well, when 5GHz working. Because problem existed before I got fast roaming and frequency of lockouts did not change - I do not think it is related.

Recently I had event when both routers lost 5GHz the same moment! Once again: restarting adapter or whole network service has no effect, 5G staying down and refused to wake up. Same time not a single glitch with 2.4GHz or the rest of services running on either router.

The fact that two very different hardware routers lost 5GHz the very same moment I found strange and pointing not at hardware but at common part of the code.

Anybody else having problems with only 5GHz radios? Any idea what it can be? Is there a solution?

Cheers!

You may be using a DFS channel... let's take a look at your complete config to understand the wireless setup as well as the rest to ensure there aren't any other issues.

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, 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
root@OpenWrt:~# ubus call system board
{
        "kernel": "5.15.167",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "Linksys EA7300 v2",
        "board_name": "linksys,ea7300-v2",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.5",
                "revision": "r24106-10cc5fcd00",
                "target": "ramips/mt7621",
                "description": "OpenWrt 23.05.5 r24106-10cc5fcd00"
        }
}
root@OpenWrt:~# 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 '*************::/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'

config device
        option name 'lan1'
        option macaddr '************'

config device
        option name 'lan2'
        option macaddr '***********'

config device
        option name 'lan3'
        option macaddr '************'

config device
        option name 'lan4'
        option macaddr '*************'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.9'
        option netmask '255.255.255.0'
        option gateway '192.168.1.1'

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

config interface 'wan'
        option proto 'dhcp'

config interface 'wan6'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'

config device
        option type '8021q'
        option ifname 'br-lan'
        option vid '2'
        option name 'br-lan.2'



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

config wifi-device 'radio0'
        option type 'mac80211'
        option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option channel '9'
        option band '2g'
        option htmode 'HT40'
        option country 'US'
        option cell_density '1'
        option distance '30'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid '************'
        option encryption 'psk2+ccmp'
        option key '************'
        option ieee80211w '1'
        option ieee80211r '1'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
        option channel '56'
        option band '5g'
        option htmode 'VHT160'
        option country 'US'
        option cell_density '0'
        option distance '50'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid '************'
        option encryption 'psk2+ccmp'
        option key '************'
        option ieee80211w '1'
        option ieee80211r '1'
        option reassociation_deadline '20000'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'

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

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option ednspacket_max '1232'
        option filter_aaaa '0'
        option filter_a '0'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option ignore '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'

root@OpenWrt:~# 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'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'

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

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'

root@OpenWrt:~#

Yup.... you're on a DFS channel. And with 160MHz channel width, you can't avoid DFS unless you go to channel 149. However, 160MHz channels may also be problematic in general since they are more susceptible to noise/interference. I'd recommend using 80MHz instead.

Try channel 36 w/ 80MHz width.

Also, you should not be using the cell density and distance parameters unless you actually need to and understand exactly what they do. This is not necessary in the vast majority of enviroments.

Further, it is best to select channel 1, 6, or 11. Channel 9 is intended as a guard band.

Moving on, you have 802.11r which can cause more problems than it solves, so I'd recommend that you get rid of that, as well as the reasociation deadline and the 802.11w line, too since it is only really relevant for WPA3.

1 Like

VHT160 (or even worse, VHT80+80) on 5 GHz is veeery suspective to DFS events and ordinary interference being misinterpreted as potential DFS events, hardcoding the channel is not very helpful in this context either. On top of this mt7615 is one of the first mt76 chipsets that support DFS in the first place, I would not expect it to be as refined in this chipset generation than it is for >=mt7915 (your other ipq40xx device might have a slight edge over the EA7300 here), but again - for 5 GHz (and <filogic 8x0) 80 MHz channel bandwidth is the most you can realistically expect in practice.

Why DFS can be the problem?
OK, I will disable 160, will stay with 80. Second router is only 80 anyway,

My second router is on 80MHz channel and went out the same moment.
Fast roaming for me is essential, otherwise walking around the house I loose connection for a few seconds. It appeared that fast roaming works as it should.

Any other advises?

OK I will try some changes and will report. Probably in a month. That is how long it takes for me to catch lockup.

Thank for the help!

By regulation, the radio must shut down if it gets a "radar hit" -- DFS is shared spectrum with government radar (weather, military, etc.), so consumer equipment must immediately shut off all transmissions if there might be a conflict.

1 Like

The 80MHz DFS-free channel is actually channel 42 so for best results actually specify channel 42. If you leave it at 56 you will actually end up on 58, slap bang in the middle of DFS range. (see the wikipedia page linked by @psherman)

1 Like

To add on this, the regulations require that no AP must ever miss or ignore radar events on DFS channels - it doesn't stipulate anything about false positive (just that there mustn't ever be false negatives).

A legally 'valid' DFS implementation would be not to check anything, but to cry wolf (reporting DFS events) all the time. Obviously this is not a useful implementation, but the requirements mandate to err on the side of caution and recognizing radar events is not trivial (so any interference (the wider your channel bandwidth, the more interference you get - and the harder it becomes for your AP to distinguish between noise and potential radars) can easily misinterpreted as DFS event). Fine tuning this system is an ongoing process, which favours the newer chipset generations (because they are better designed for this, have updated silicon/ algorithms) and because wifi7 relies on it work more than wifi6, which relied on it more than wifi5 - which in turn relied on it more than wifi4 (which only started to dabble into this topic).

2 Likes

I just educated myself on DFS. Fascinating. I can confirm that both of my routers being set on channels that overlaps with DFS range. I select them as least-occupied, per OpenWRT "Channel Analysis" tool. Now I know there is more criteria than just free spectrum.
I guess it is a good possibility that my area got hit with that radar frequency and that tripped both of my routers into DFS protection mode. I think it would be nice to know if my 5G router is in DFS lockout mode.

That bring the idea to improve LuCI by adding to first/status page DFS status display of 5GHz. Maybe even provide warning during channel selection on Wireless Network Properties setup page that some specific selection maybe forced into lockout by the environment. I am sure that most people are unaware of this.

I've changed channels to out of DFS range. Will see if I ever get lockout again.

1 Like
2 Likes