OpenWRT on Raspberry Pi 4B won't scan 5Ghz Networks

I am very new to this but I wanted to make a travel router that will connect to Public Wi-Fi and then use eth0 hard wired to my PC to give me internet.
I don't have a USB to Wi-Fi adapter yet but eventually I will get one if everything works the way I want.

I have everything setup and working but when I do a scan for networks I only see 2.4Ghz, even when I first set it up. I changed the country code to CA as I am in Canada and even tried disabling the working 2.4 connection but nothing I do will get the 5Ghz ones to show up.

I did setup Pi OS and set the wifi country code and made sure I was using the latest firmware.

Really would appreciate any help to get this working.


Update I am working with ChatGPT and it says it knows what the issue is but I can't seem to fix it.

when I use the command iw reg get I get the following results.

global
country CA: DFS-FCC
(2402 - 2472 @ 40), (N/A, 30), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
(5470 - 5600 @ 80), (N/A, 24), (0 ms), DFS
(5650 - 5730 @ 80), (N/A, 24), (0 ms), DFS
(5735 - 5835 @ 80), (N/A, 30), (N/A)
(5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR

phy#0
country 99: DFS-UNSET
(2402 - 2482 @ 40), (6, 20), (N/A)
(2474 - 2494 @ 20), (6, 20), (N/A)
(5140 - 5360 @ 160), (6, 20), (N/A)
(5460 - 5860 @ 160), (6, 20), (N/A)

It seems to be my phy#0 is stuck on 99 and I am not sure how to change it. Chat GPT said to use these commands but it didn't work.

uci set wireless.radio0.country='CA'
uci commit wireless
wifi reload

My Pi 4B v1.1 running 24.10.4 finds both 2.4GHz and 5GHz APs when scanning. It also shows the country 99 section in the output of iw reg get so I don't think that's involved. For my testing the Pi was in the same room as the AP.

The inbuilt radio has only a very limited antenna though so are you sure that the 5GHz APs that you think it should be finding are actually close enough to connect to?

1 Like

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 (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

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
1 Like

Thanks so much that helps me chasing something that isn't the issue. I thought of the signal too and moved the Pi to be within 1 foot of my router and still the same issue. I even put on Pi OS and have the pi where I want to use it and it can see all the 5G networks and has great signal strength while running it on this OS.

Thanks yes I will get this done once I get back from work today. Appreciate the help!

I actually had some time now here are the results.

ubus call system board

        "kernel": "6.6.110",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 3",
        "model": "Raspberry Pi 4 Model B Rev 1.4",
        "board_name": "raspberrypi,4-model-b",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.4",
                "revision": "r28959-29397011cc",
                "target": "bcm27xx/bcm2711",
                "description": "OpenWrt 24.10.4 r28959-29397011cc",
                "builddate": "1760891865"
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 'fda6:7ab8:bdb::/48'
       	 	option packet_steering '1'

	config device
       		option name 'br-lan'
        	option type 'bridge'
        	list ports 'eth0'

	config interface 'lan'
        	option device 'br-lan'
        	option proto 'static'
        	option ipaddr '192.168.xxx.x'
        	option netmask '255.255.255.0'
        	option ip6assign '60'

	config interface 'wwan'
        	option proto 'dhcp'

cat /etc/config/wireless


	config wifi-device 'radio0'
        	option type 'mac80211'
        	option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        	option band '5g'
       	 	option channel 'auto'
        	option htmode 'VHT40'
        	option country 'CA'
        	option cell_density '0'

	config wifi-iface 'wifinet1'
        	option device 'radio0'
        	option mode 'sta'
        	option network 'wwan'
        	option ssid 'IoT (2.4 GHz)'
        	option encryption 'psk2'
        	option key 'XXXXX'

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 dhcpv6 'server'
        	option ra 'server'
        	list ra_flags 'managed-config'
        	list ra_flags 'other-config'

	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'
        	option piofolder '/tmp/odhcpd-piofolder'

cat /etc/config/firewall

      config defaults
        	option syn_flood '1'
       		option input 'REJECT'
        	option output 'ACCEPT'
        	option forward 'REJECT'

	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 'wwan'

	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'

Setup is almost impecable (very little changed)
You can use VHT80, there is no difference in channel availability.

Now check iw phy
Pay attention to channel map from 5GHz band - your wifi does not support DFS, you have few options left (bc of broadcom)

Select one manually that is not DFS and 4 (80MHZ) or 2 (40MHZ) wide. Not that it should but some drivers/devices crash when ordered to DFS

1 Like

All I did was install image, then scanned for wifi and then joined by 2.4GHz network so far so ya it should be very clean.

root@OpenWrt:~# iw phy
Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 10
        max scan IEs length: 2048 bytes
        max # sched scan SSIDs: 16
        max # match sets: 16
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports roaming.
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 1:
                Capabilities: 0x1062
                        HT20/HT40
                        Static SM Power Save
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT TX/RX MCS rate indexes supported: 0-7
                Frequencies:
                        * 2412.0 MHz [1] (20.0 dBm)
                        * 2417.0 MHz [2] (20.0 dBm)
                        * 2422.0 MHz [3] (20.0 dBm)
                        * 2427.0 MHz [4] (20.0 dBm)
                        * 2432.0 MHz [5] (20.0 dBm)
                        * 2437.0 MHz [6] (20.0 dBm)
                        * 2442.0 MHz [7] (20.0 dBm)
                        * 2447.0 MHz [8] (20.0 dBm)
                        * 2452.0 MHz [9] (20.0 dBm)
                        * 2457.0 MHz [10] (20.0 dBm)
                        * 2462.0 MHz [11] (20.0 dBm)
                        * 2467.0 MHz [12] (disabled)
                        * 2472.0 MHz [13] (disabled)
                        * 2484.0 MHz [14] (disabled)
        Band 2:
                Capabilities: 0x1062
                        HT20/HT40
                        Static SM Power Save
                        RX HT20 SGI
                        RX HT40 SGI
                        No RX STBC
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 16 usec (0x07)
                HT TX/RX MCS rate indexes supported: 0-7
                VHT Capabilities (0x00001020):
                        Max MPDU length: 3895
                        Supported Channel Width: neither 160 nor 80+80
                        short GI (80 MHz)
                        SU Beamformee
                VHT RX MCS set:
                        1 streams: MCS 0-9
                        2 streams: not supported
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT RX highest supported: 0 Mbps
                VHT TX MCS set:
                        1 streams: MCS 0-9
                        2 streams: not supported
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                VHT extended NSS: not supported
                Frequencies:
                        * 5170.0 MHz [34] (disabled)
                        * 5180.0 MHz [36] (20.0 dBm)
                        * 5190.0 MHz [38] (disabled)
                        * 5200.0 MHz [40] (20.0 dBm)
                        * 5210.0 MHz [42] (disabled)
                        * 5220.0 MHz [44] (20.0 dBm)
                        * 5230.0 MHz [46] (disabled)
                        * 5240.0 MHz [48] (20.0 dBm)
                        * 5260.0 MHz [52] (disabled)
                        * 5280.0 MHz [56] (disabled)
                        * 5300.0 MHz [60] (disabled)
                        * 5320.0 MHz [64] (disabled)
                        * 5500.0 MHz [100] (disabled)
                        * 5520.0 MHz [104] (disabled)
                        * 5540.0 MHz [108] (disabled)
                        * 5560.0 MHz [112] (disabled)
                        * 5580.0 MHz [116] (disabled)
                        * 5600.0 MHz [120] (disabled)
                        * 5620.0 MHz [124] (disabled)
                        * 5640.0 MHz [128] (disabled)
                        * 5660.0 MHz [132] (disabled)
                        * 5680.0 MHz [136] (disabled)
                        * 5700.0 MHz [140] (disabled)
                        * 5720.0 MHz [144] (disabled)
                        * 5745.0 MHz [149] (20.0 dBm)
                        * 5765.0 MHz [153] (20.0 dBm)
                        * 5785.0 MHz [157] (20.0 dBm)
                        * 5805.0 MHz [161] (20.0 dBm)
                        * 5825.0 MHz [165] (20.0 dBm)
        valid interface combinations:
                 * #{ managed } <= 2, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
                   total <= 3, #channels <= 2
                 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
                   total <= 4, #channels <= 1
        max # scan plans: 1
        max scan plan interval: 508
        max scan plan iterations: 0
        Supported extended features:
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ DFS_OFFLOAD ]: DFS offload
root@OpenWrt:~#

I feel really dumb asking this but I am not sure where I do that.

I have that same exact model Pi , down to the rev 1.4 even. Also using 24.10.4 same as you. The wifi on mine works out of the box fine scanning or doing anything really. No issues. I am sorry I am not able to help any more other then to let you know it can work, as in I can confirm you're exact device does work fine on openwrt 24.10.4 at least for me. I don't know why you are having that issue. From 1 Pi owner to another, good luck.

1 Like

Thanks so much that does help a lot. I hope it isn't a hardware issue but it works fine in Pi OS. Really apprecaite your time to reply!

36 or 149.

I am just not sure where I make the change sorry.

Two viable channels in 5ghz, choose any of 2

Ok so in /etc/config/wireless I have this ...

/etc/config/wireless


	config wifi-device 'radio0'
        	option type 'mac80211'
        	option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        	option band '5g'
       	 	option channel 'auto'
        	option htmode 'VHT40'
        	option country 'CA'
        	option cell_density '0'

and you want me to change it to this ...

/etc/config/wireless


	config wifi-device 'radio0'
        	option type 'mac80211'
        	option path 'platform/soc/fe300000.mmcnr/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
        	option band '5g'
       	 	option channel '36 144'
        	option htmode 'VHT40'
        	option country 'CA'
        	option cell_density '0'

No, add to 5ghz radio

option channels '36 44 149 157'

if at all

Is this the name of the 5GHz SSID you're trying to connect to?

It is worth mentioning that the pi is a terrible option for a travel router. There are purpose built devices that will perform much better, be easier to configure (with more options, too) and are mechanically better fit for purpose. I’d recommend looking at a proper travel router.

Regarding the man issue, keep in mind that the pi can only operate on a single band at a time. It is either 2.4GHz XOR 5GHz. This means that if the radio is configured for 2.4, 5g will not be available at all. And vice versa.

…on top of that, it's always rather slow 802.11n equivalent performance, with quite a few hardware limits that will bite you for repeater-like setups (can't do AP+STA at once, severely limited number of connected stations, etc.).

1 Like

No the name I am trying to connect to is IoT (5 GHz) but it doesn't show when I scan for it. I borrowed a TPLink USB adapter from my friend and when I tried a scan with it I saw both 2.4 and the 5 networks.