Wireless Interface not working

Here are some pictures of our configuration (This forum will only let me upload one picture)

https://imgur.com/a/aajRlqE

I setup openwrt a couple of years ago on a raspberry pi. My brother decided to give it a try, so I said sweet, it was easy to setup, well dumb me for saying that. lol

He is having trouble getting his wifi setup. If I recall right it was very simple to setup. He can not get his SSID to broadcast, well sometimes it broadcast and some times it doesn't. Even when it broadcast, when they try to connect to it the device they are connecting from just says connecting and then says can not connect. But on the wireless overview page under the associations sub-heading it will show the device for a few seconds then disappear.

The wireless radio shows a red X and says disabled but once you go into its settings it says wireless net is enabled and has an option to disable it. He had tried changing channels and width multiple times.

I read over the documentation and he watched some videos and says he is doing everything step by step like the videos. He even reinstalled it twice.

I am out of town for a few more days ( although I am pretty sure this is above my knowledge level), I was going to tell him to go look at mine but I don't want him to mess it up lol

Also how do we get rid of the radio1 and radio2 devices? he installed a usb wifi adapter but it did not work, I am not really sure what the details are with that though. He has since uninstalled the drivers and removed the adapter.

His ethernet internet works just fine, once we figured out his ISP is PPPoE.

I had him send me some screenshots and these are the logs, they are above my pay grade at this point.

Thank you for any help or points in the right direction. It is much appreciated.

....Watch it just be something stupid. lol


> [Jan 25, 2026, 2:58:15 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPREQUEST(eth2) 192.168.0.124 a4:bb:6d:a6:8f:bb
> [Jan 25, 2026, 2:58:15 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPACK(eth2) 192.168.0.124 a4:bb:6d:a6:8f:bb SGC
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Set MLD config: [ ]
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Reload all interfaces
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Reloaded settings for phy phy0
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: wpa_supplicant[959]: Set MLD config: [ ]
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): wifi-scripts: Starting
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): command failed: Not supported (-95)
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): command failed: I/O error (-5)
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): command failed: I/O error (-5)
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: wpa_supplicant[959]: Set new config for phy phy0
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Set new config for phy phy0: /var/run/hostapd-phy0.conf
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Reloaded settings for phy phy0
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Set MLD config: [ ]
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Reload all interfaces
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: wpa_supplicant[959]: Set MLD config: [ ]
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: hostapd: Reloaded settings for phy phy0
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): wifi-scripts: Configuring 'phy0' txantenna: 4294967295, rxantenna: 4294967295 distance: 0
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio0 (6870): wifi-scripts: Preparing interface: phy0-ap0 with MAC: 88:a2:9e:49:29:72
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio1 (6921): wifi-scripts: Bug: PHY is undefined for device
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio2 (6944): wifi-scripts: Bug: PHY is undefined for device
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio1 (6945): wifi-scripts: Bug: PHY is undefined for device
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: netifd: radio2 (6946): wifi-scripts: Bug: PHY is undefined for device
> [Jan 25, 2026, 2:58:53 PM UTC] daemon.notice: wpa_supplicant[959]: Start pending MLD interfaces
> [Jan 25, 2026, 2:58:54 PM UTC] daemon.info: dnsmasq[1]: read /etc/hosts - 12 names
> [Jan 25, 2026, 2:58:54 PM UTC] daemon.info: dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
> [Jan 25, 2026, 2:58:54 PM UTC] daemon.info: dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
> [Jan 25, 2026, 2:58:55 PM UTC] daemon.info: dnsmasq[1]: read /etc/hosts - 12 names
> [Jan 25, 2026, 2:58:55 PM UTC] daemon.info: dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
> [Jan 25, 2026, 2:58:55 PM UTC] daemon.info: dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
> [Jan 25, 2026, 3:00:03 PM UTC] daemon.notice: netifd: Network device 'eth2' link is down
> [Jan 25, 2026, 3:00:03 PM UTC] daemon.notice: netifd: Interface 'lan2' has link connectivity loss
> [Jan 25, 2026, 3:00:03 PM UTC] kern.info: [ 1737.454314] r8152 4-1:1.0 eth2: carrier off
> [Jan 25, 2026, 3:01:27 PM UTC] daemon.notice: netifd: Network device 'eth1' link is up
> [Jan 25, 2026, 3:01:27 PM UTC] daemon.notice: netifd: Interface 'lan1' has link connectivity
> [Jan 25, 2026, 3:01:27 PM UTC] kern.info: [ 1820.925806] r8152 2-1:1.0 eth1: carrier on
> [Jan 25, 2026, 3:01:28 PM UTC] daemon.notice: netifd: Network device 'eth1' link is down
> [Jan 25, 2026, 3:01:28 PM UTC] daemon.notice: netifd: Interface 'lan1' has link connectivity loss
> [Jan 25, 2026, 3:01:28 PM UTC] kern.info: [ 1822.200110] r8152 2-1:1.0 eth1: carrier off
> [Jan 25, 2026, 3:01:31 PM UTC] daemon.notice: netifd: Network device 'eth1' link is up
> [Jan 25, 2026, 3:01:31 PM UTC] daemon.notice: netifd: Interface 'lan1' has link connectivity
> [Jan 25, 2026, 3:01:31 PM UTC] kern.info: [ 1825.277997] r8152 2-1:1.0 eth1: carrier on
> [Jan 25, 2026, 3:01:33 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPREQUEST(eth1) 192.168.0.124 a4:bb:6d:a6:8f:bb
> [Jan 25, 2026, 3:01:33 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPACK(eth1) 192.168.0.124 a4:bb:6d:a6:8f:bb SGC
> [Jan 25, 2026, 3:02:50 PM UTC] daemon.notice: netifd: Network device 'eth1' link is down
> [Jan 25, 2026, 3:02:50 PM UTC] daemon.notice: netifd: Interface 'lan1' has link connectivity loss
> [Jan 25, 2026, 3:02:50 PM UTC] kern.info: [ 1903.867338] r8152 2-1:1.0 eth1: carrier off
> [Jan 25, 2026, 3:02:53 PM UTC] daemon.notice: netifd: Network device 'eth2' link is up
> [Jan 25, 2026, 3:02:53 PM UTC] daemon.notice: netifd: Interface 'lan2' has link connectivity
> [Jan 25, 2026, 3:02:53 PM UTC] kern.info: [ 1907.196549] r8152 4-1:1.0 eth2: carrier on
> [Jan 25, 2026, 3:02:53 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPREQUEST(eth2) 192.168.0.124 a4:bb:6d:a6:8f:bb
> [Jan 25, 2026, 3:02:53 PM UTC] daemon.info: dnsmasq-dhcp[1]: DHCPACK(eth2) 192.168.0.124 a4:bb:6d:a6:8f:bb SGC


Let's see your configuration in text form:

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

Automatic channel selection in US in 5GHz will take 2-10 minutes. Set to 80MHzto halve the time.

2 Likes

Good info. Thank you.

Thanks for the reply, here is the results.

Do we need a country code in the "config wifi-iface 'default_radio0'" also or just the defualt device radio0?

root@OpenWrt:~# ubus call system board
{
        "kernel": "6.12.63",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 1",
        "model": "Raspberry Pi 5 Model B Rev 1.1",
        "board_name": "raspberrypi,5-model-b",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "25.12.0-rc2",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32429-d76c64ad00",
                "target": "bcm27xx/bcm2712",
                "description": "OpenWrt 25.12.0-rc2 r32429-d76c64ad00",
                "builddate": "1767653330"
        }
}
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        list ipaddr '127.0.0.1/8'

config globals 'globals'
        option dhcp_default_duid 'f9b7bbf0a04a0ca83e6f95fcfa7f04'
        option ula_prefix 'fdcd:be6b:ff1b::/48'
        option packet_steering '1'

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

config interface 'lan2'
        option proto 'static'
        option device 'eth2'
        option ipaddr '192.168.10.2'
        option netmask '255.255.0.0'
        option type 'bridge'

config interface 'wan'
        option proto 'pppoe'
        option device 'eth0'
        option username '----------'
        option password '---------'
        option ipv6 'auto'
        option norelease '1'

config interface 'lan1'
        option proto 'static'
        option device 'eth1'
        option ipaddr '192.168.10.1'
        option netmask '255.255.0.0'
        option type 'bridge'



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

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'platform/axi/---------mc1/mmc1:0001/mmc1:0001:1'
        option band '5g'
        option channel '38'
        option htmode 'VHT80'
        option country 'US'
        option cell_density '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option ssid 'Van'
        option encryption 'psk2'
        option key '------------'
        option disassoc_low_ack '0'
        option network 'lan1 lan2'

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 'wan'
        option interface 'wan'
        option ignore '1'

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

config dhcp 'lan2'
        option interface 'lan2'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'

config dhcp 'lan1'
        option interface 'lan1'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'

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

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

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

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'

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'

Wifi can be in only one network.

I will double check that. It was only on lan1.

The network config looks half broken.

Fix the bridge or bridges and don't use overlapping subnets as a starter.
And as @brada4 said. A wireless network can only be attached to a single network.
If you need more then setup more wireless networks.

This is wrong:

The bridge needs to be a device config stanza, and then that device is used by the network interface. It should look like this:

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

config interface 'lan1'
        option proto 'static'
        option device 'br-lan1'
        option ipaddr '192.168.10.1'
        option netmask '255.255.0.0'

Meanwhile, it;'s not clear why you're using a /16 network size -- that's generally bad practice unless there is an actual need for it (and even still, 65K hosts usually should not be sharing a single subnet).

Your lan2 network is similarly broken in terms of the device definition, but also overlaps due to the /16, so you end up breaking both interfaces.

Because you're using a Rasperry Pi, you can only have a single SSID. And as noted, the SSID can only be linked with a single network. In order to have additional wifi networks, you need additional wifi hardware. But it's also worth pointing out that the Pi is basically the worst possible option for use as a wifi AP -- even an old 802.11ac (or even maybe an 802.11n) purpose built AP will run circles around the wifi in a Pi.

That is not 100% accurate, you can have 1 ap 1 client xor 2 or 4 APs, that comes crashing when you scan wifi channel survey which uses that one client and shuts down all but one APs

I know for fact that -- and specifically speaking for running OpenWrt on these devices -- the Pi4 and earlier can only run a single band (2.4G XOR 5G for the Pi4; Pi3B+ and earlier are 2.4G only), single mode (AP XOR STA), single SSID at a time.

Is this different for the Pi5?

Thanks for all the help.

We are mainly trying to set it up as a learning exercise.... already learned a few things lol.

When i did my pi it was easy. This is harder for some reason.

Last time i saw it we only had lan1. Lan2 was not setup then.

I am also not sure why the /16. But when i saw it i didnt realize it was a problem.

Thanks!

I asked him why the /16. He was trying to set it up in some weird way.

.10 for his host type computers. Router, plex and nas

.20 for tvs and such

.30 for computers

So that is where that came from. He read it on a website tutorial a while back.

1 Like

Sounds ok, but if you plan for future segmentation you normally split networks in half and avoid +/-2 from the borders....

There are a million ways to organize a network, but still maintain that using a /16 is just not good form. It's technically valid, but there are better approaches.

First thing to consider are these questions:

  • Is the intent to have all devices on the same subnet?
  • or is there a desire to segment the devices into different networks based on the level of trust for a device?
    • typically this is what is done with VLANs (or more generally different subnets) to provide isolation (as broad and/or granular as desired).
    • For example, a trusted lan, a guest network, iot network, etc.

If the plan is to have everything on a single subnet, you can do this with much smaller than a /16. It all depends how many hosts, but you can easily do, for example:

192.168.14.1-9 for network infrastructure like the router, APs, switches, etc.
192.168.14.10-19 for servers and other similar devices (/NAS, printers, etc.)
192.168.14.20-29 for TVs
192.168.14.30-39 for computers

This scheme would fit within a /24 very easily, unless you've got more than ~250 devices or if the distribution doesn't work out 'neatly'.

Another scheme fits into a /22:

192.168.16.x. for network infrastructure like the router, APs, switches, etc.
192.168.17.x for servers and other similar devices (/NAS, printers, etc.)
192.168.18.x for TVs
192.168.19.x for computers

And of course this is all assuming everything should actually be on the same L2 network. If separate networks are desired, then each using a /24 would make a lot of sense.