2.4GHz radio doesn't work properly

Hi everyone,
I have Linksys E8450 (UBI) with 23.05.4.

I have an older device I wanted to connect to wifi (2.4GHz) and I noticed that the radio is inactive. The 5GHz one works fine.

Several days ago I noticed an update in Attended sysupgrade and clicked to get it, but it seemed there was a bug and it even didn't try to download it (so I didn't need to reboot the router etc, it stayed on .4). However, after this "failed" upgrade, it seemed to brake something (not sure what was that), but my internet connection would stop working completely after ~4-5 mins, though wifi was active.

I had to use an older backup to restore to the previous settings which worked without any problem except the 2.4GHz I noticed today.

Nothing is connected to the radio0 at the moment, even though I have several 2.4G devices.

 ubus call system board
{
        "kernel": "5.15.162",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "Linksys E8450 (UBI)",
        "board_name": "linksys,e8450-ubi",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.4",
                "revision": "r24012-d8dd03c46f",
                "target": "mediatek/mt7622",
                "description": "OpenWrt 23.05.4 r24012-d8dd03c46f"
        }
}

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 'fd24:bc96:fbxx::/48'

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

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.0.xx'
        list dns '127.0.0.1'

config interface 'wan'
        option device 'wan'
        option type 'bridge'
        option proto 'dhcp'

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

cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/18000000.wmac'
        option band '2g'
        option cell_density '0'
        option he_su_beamformee '1'
        option he_bss_color '8'
        option channel '8'
        option htmode 'HT40'
        option txpower '10'
        option country 'XX'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option ssid 'XX'
        option key 'XX'
        option dtim_period '1'
        option network 'lan wan'
        option encryption 'psk2+ccmp'
        option macfilter 'allow'
        list maclist 'XX'
        list maclist 'XX'
        list maclist 'XX'
        list maclist 'XX'
        list maclist 'XX'
        list maclist 'XX'
        list maclist 'XX'

config wifi-device 'radio1'
        option type 'mac80211'
        option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option band '5g'
        option cell_density '0'
        option he_su_beamformee '1'
        option he_bss_color '8'
        option txpower '17'
        option channel 'auto'
        option htmode 'VHT40'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option mode 'ap'
        option ssid 'XX'
        option key 'XX'
        option network 'lan wan'
        option macfilter 'deny'
        list maclist 'XX'
        option dtim_period '1'
        option encryption 'sae-mixed'

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 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'
        list server '/mask.icloud.com/'
        list server '/mask-h2.icloud.com/'
        list server '/use-application-dns.net/'
        list server '127.0.0.1#5053'
        list server '127.0.0.1#5054'
        option confdir '/tmp/dnsmasq.d'
        option doh_backup_noresolv '-1'
        option noresolv '1'
        list doh_backup_server '/mask.icloud.com/'
        list doh_backup_server '/mask-h2.icloud.com/'
        list doh_backup_server '/use-application-dns.net/'
        list doh_backup_server '127.0.0.1#5053'
        list doh_backup_server '127.0.0.1#5054'
        list doh_server '127.0.0.1#5053'
        list doh_server '127.0.0.1#5054'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option start '100'
        option limit '150'
        option leasetime '12h'

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

cat /etc/config/firewall

config defaults
        option input 'ACCEPT'
        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 '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 include 'bcp38'
        option type 'script'
        option path '/usr/lib/bcp38/run.sh'

what would be the troubleshooting steps here?

Remove wan from the network.

2 Likes

Remove txpower 10 line, it signifies 1m/yd reception.
You have to use real country code XX means no country like high seas and you have to provide own frequency map.

2 Likes

psherman's comment is correct; the network list for a wifi interface should usually contain only one network.

@brada's comment regarding transmit power is also something to look at, even if it's a bit pessimistic for actual range. I've used 10dBm output and gotten signal through a whole small house. However, it won't go through walls too well, so it's very limiting. As for the country code, I'm going to assume you merely used 'XX' as your indicator of sanitized/redacted content rather than being the actual saved value. Otherwise, that comment also holds merit and would certainly cause issues.

You might also want to check and possibly turn off your MAC address filter. It's possible your wireless devices are using randomized MAC addresses. Apple does this by default on all devices, as does Android. Additionally, MAC filtering is almost entirely useless these days as far as security is concerned, since it's trivial to bypass.

how would I remove wan from network?

Edit config file or uncheck box in luci.

1 Like

XX is a sanitized country.
txpo 10 means 10 dBm I assume which should be enough for me

Why you are complaining if it works?

1 Like

Square you mrked means no one is connected at the moment.

1 Like

removed in luci and added a new one, radio0 started going down

See the "enable" button?

1 Like

the mac address of the device was already there, but I switched to "allow all" anyways after removing wan and adding a new one. radio0 is now shown as "not active"

yeap, my b. enabled it, same problem

Did you use some AI assist to put conflicting options in config file?

option he_su_beamformee '1'

    option htmode 'VHT40'
1 Like

nope
do I need to make any changes to either of these lines?

I would recommend to completely reset the device, it is way too many changed knobs for simple setup.
Then on each radio:

  • set country code and save
  • set auto channel and save
  • optionally set cell density (better than txpower to restrict range)
  • edit default openwrt ap - rename to your access point (same in both bands, wp2 for better interop, certainly not any mix mode)
  • enable access point
  • wait for 5ghz to come online like 10min
1 Like

Agreed with brada4's suggestion; I've previously had a few issues where I unknowingly introduced an error or unsupported setting value into the configuration when manually editing the files, and I was unable to identify what went wrong. In cases like that or when strange things happen, it's often easier to wipe out the configuration and reconfigure from scratch. Working this way, you'll be able to test each setting in a way that will pinpoint the problem as well.

1 Like

Start with clean, using luci. We are here if you cannot find option. Simplest approach keeps things safe.
I suggest using cell density to reduce range by removing lower data rates needed by far stations and wasting airtime. Hope it serves your need b€tter as you will have goid bw in all corners.

1 Like

since I'm not a big fan of resetting things and starting over, I decided to spend some time digging in logs and testings.
what I found was that it was only one device (tablet) which couldn't connect to 2.4G wifi network. other devices were able to do it (e.g. my wireless printer).
I dumped some system logs from the tablet, the error was clear about the network - "connection refused". so it was definitely something on the openwrt router side.
started digging in wireless modules (or whatever they are called) required to be installed:
kmod-mt76-connac
kmod-mt76-core
kmod-mt7615-common
kmod-mt7615-firmware
kmod-mt7615e
and noticed kmod-mt7615-firmware was missing. installed it.

On the openwrt router webpage, found that the wireless modules are called MediaTek MT7622BV, MediaTek MT7915E. Searched for MT76 and MT79 to find other potentially missing modules. found mt7622bt-firmware missing. installed.

Also put the country code for both 2.4g and 5g (even though it worked for me well without it for the last ~2 years) and switched coverage cell density (as brada4 recommended) from disabled to very high.

not sure exactly which step helped, but it works now since I did all of these within 10 min frame and rebooted the router several times.

thanks everyone for the help.

That was a week lomng glitch in firmware selector that when customizing packages default list omitted firmwares.
If you still have sysupgrade file you can binwalk it to confirm files absent from squashfs-root/lib/firmware

1 Like