[SOLVED] WDS - Setup Question

This is a fresh install of 25.12.5. I followed the tutorial here at this link. It will have a dedicated backhaul signal that is only for WDS.

They connected, and a wired-device (dynamic, 192.168.50.240) attached to the wds-router (static, 192.168.50.2) received that IP address from the host-router (static, 192.168.50.1). So far so good.

  • From within the host-router, I can't ping the wds-router or the wired-device.
  • From within the wds-router, I can't ping the host-router.

The wired-device is not able to ping anything else other than the wds-router that it's connected to (in other words, the internet doesn't work).

The wds-router has no DHCP leases.

If I connect a wireless device to the dedicated backhaul WDS signal, it works fine.

The host-router does not have a DHCP Lease on the wds-router. It does show a lease for the wired-device (192.168.50.240).

  • The MAC address of the wireless portion of the wds-router shows up as an associated station on the host-router, but the Host field has a "?". It does show the correct Rx/Tx rates.

  • The MAC address of the host-router shows up as an associated station on the wds-router, but the Host field also has a "?". It also shows the same Rx/Tx rates.

I tried doing this through both Luci and the CLI with the same results.

What am I doing wrong? It's as if the wds-router isn't getting an IP at all from the host-router, and is kind of doing its own thing.

Updated Observation: It looks like it's behaving as the Connect to client Wifi Network, specifically the part where it talks about the host stations having a question mark. Just a guess, though.

I drew a picture...to the best of my ability.

Is the main router running openwrt?

Both are the same brand/model of router, both running OpenWRT, both the same version of OpenWRT.

I'm not an expert on WDS, but first things first: did you follow the WDS guide?

Yes. With literally no deviation. Both CLI and Luci variations, with a soft reset in between.

Ok.... good.

Let's take a look at the configs of both devices. I may or may not be able to spot any issues (like I said, I don't really know a ton about WDS), but with your configs posted, others in the community may be able to jump in.

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

host-router

root@OpenWrt:~# ubus call system board
{
	"kernel": "6.12.94",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 4",
	"model": "Linksys MX8500",
	"board_name": "linksys,mx8500",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "25.12.5",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r33051-f5dae5ece4",
		"target": "qualcommax/ipq807x",
		"description": "OpenWrt 25.12.5 r33051-f5dae5ece4",
		"builddate": "1782737960"
	}
}

==============
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 'xxxxxxxxxxxxxxxxxxxxx'
	option ula_prefix 'fd88:52ac:fcff::/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 interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '192.168.50.1/24'
	option multipath 'off'

config interface 'wan'
	option device 'wan'
	option proto 'dhcp'
	option multipath 'off'

config interface 'wg0'
	option proto 'wireguard'
	option private_key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option multipath 'off'
	option listen_port '51820'
	list addresses '10.0.0.1/24'

config wireguard_wg0
	option public_key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option private_key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option endpoint_port '51820'
	option persistent_keepalive '25'
	option description 'PhoneFull'
	list allowed_ips '10.0.0.10/32'
	option route_allowed_ips '1'

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

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi'
	option band '5g'
	option channel '36'
	option htmode 'HE160'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'guess-5g'
	option encryption 'psk2'
	option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi+1'
	option band '2g'
	option channel '1'
	option htmode 'HE20'
	option cell_density '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'guess'
	option encryption 'psk2'
	option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'soc@0/20000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option band '6g'
	option channel '33'
	option htmode 'HE160'
	option country 'US'
	option cell_density '0'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'guess-6g'
	option encryption 'sae'
	option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option ocv '0'

config wifi-iface 'wifinet3'
	option device 'radio0'
	option mode 'ap'
	option ssid 'guess-ax'
	option encryption 'psk2'
	option network 'lan'
	option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

config wifi-iface 'wifinet4'
	option device 'radio0'
	option mode 'ap'
	option ssid 'backhaul'
	option encryption 'psk2'
	option network 'lan'
	option key 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option wds '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 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'
	list dhcp_option '6,192.168.50.55,192.168.50.50'

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

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

config host
	list mac 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option ip '192.168.50.50'

config host
	list mac 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option ip '192.168.50.55'

==========
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 'lan'

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

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'
	option enabled '1'

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

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

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

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'
	option enabled '1'

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'
	option enabled '1'

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'
	option enabled '1'

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

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

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Wireguard'
	option family 'ipv4'
	list proto 'udp'
	option src 'wan'
	option src_dport '51880'
	option dest_ip '192.168.50.50'
	option dest_port '51880'
	option enabled '0'

config redirect
	option dest 'lan'
	option target 'DNAT'
	option name 'Wireguard5'
	list proto 'udp'
	option src 'wan'
	option src_dport '55555'
	option dest_ip '192.168.50.55'
	option dest_port '55555'
	option family 'ipv4'
	option enabled '0'

config zone
	option name 'WireguardVPN'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	option mtu_fix '1'
	list network 'wg0'

config forwarding
	option src 'WireguardVPN'
	option dest 'lan'

config forwarding
	option src 'WireguardVPN'
	option dest 'wan'

config forwarding
	option src 'lan'
	option dest 'WireguardVPN'

config redirect
	option dest 'lan'
	option target 'DNAT'
	list proto 'udp'
	option src 'wan'
	option src_dport '51820'
	option dest_ip '10.0.0.1'
	option dest_port '51820'
	option name 'WireguardOpenWRT'
	option enabled '0'

config forwarding
	option dest 'lan'

config forwarding
	option src 'lan'

wds-router

root@wds1:~# ubus call system board
{
	"kernel": "6.12.94",
	"hostname": "wds1",
	"system": "ARMv8 Processor rev 4",
	"model": "Linksys MX8500",
	"board_name": "linksys,mx8500",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "25.12.5",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r33051-f5dae5ece4",
		"target": "qualcommax/ipq807x",
		"description": "OpenWrt 25.12.5 r33051-f5dae5ece4",
		"builddate": "1782737960"
	}
}

=========
root@wds1:~# 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 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
	option ula_prefix 'fd36:45b6:15ff::/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'
	option stp '1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '192.168.50.2/24'
	option multipath 'off'
	option gateway '192.168.50.1'

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

config interface 'wwan'
	option proto 'dhcp'

==========
root@wds1:~# 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 'xxxxxxxxxxxxxxxxx'
	option ula_prefix 'fd36:45b6:15ff::/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'
	option stp '1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '192.168.50.2/24'
	option multipath 'off'
	option gateway '192.168.50.1'

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

config interface 'wwan'
	option proto 'dhcp'

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

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi'
	option band '5g'
	option channel '36'
	option htmode 'HE160'
	option cell_density '0'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi+1'
	option band '2g'
	option channel '1'
	option htmode 'HE20'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'none'
	option disabled '1'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'soc@0/20000000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option band '6g'
	option channel '33'
	option htmode 'HE80'
	option country '00'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'owe'
	option disabled '1'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option mode 'sta'
	option network 'lan'
	option ssid 'backhaul'
	option encryption 'psk2'
	option key 'xxxxxxxxxxxxxxxxx'
	option wds '1'

==========
root@wds1:~# 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'
	list server '192.168.50.1'

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/odhcpd.leases'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
	option piodir '/tmp/odhcpd-piodir'
	option hostsdir '/tmp/hosts'

==========
root@wds1:~# 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'
	list network 'wwan'

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

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'

The only thing I see that I'd change is STP... remove that from br-lan on the repeater.

Done, via Luci. And bounced the routers. It didn't change anything.

It was set with Luci. I was following this step from the Wiki, which is why it showed up:

Go to Network, Interfaces, Devices tab, Configure... on br-lan, Advanced device options and enable STP. Failing to do so can allow a network loop to form that will take down all routers.

At least for me, its warning doesn't seem to apply (yet).

I checked this morning, and it's now working just like it's supposed to.

I checked the system log files on both routers. The only thing I notice that is off is the timestamp of the logs in wds-router. All of yesterday's logs have a date of June 29 (this is wrong, yesterday was July 2). As of this morning, the logs in the wds-router have a date of July 3 (this is correct).

I'm fairly certain the clocks being out of sync is what caused the problem. I had done a few soft factory resets on the wds-router while fussing with this, so maybe the reset was just rolling back to whatever timestamp was there. I have no idea why it chose this morning to correct itself.

My only suggestion is after a device is reset, make sure it gets a chance to sync its clock before doing anything else (wds setup notwithstanding).

I figured it out.

It's a pair of MX8500's. WDS doesn't work if you set both routers at a width of 160MHz. I've tested this on the same hardware, same build, and they were less than 5' from each other. Widths of 20, 40, and 80 consistently work fine. I tried both AC and AX. Only 160 has an issue.

As noted above, the routers connect, and the devices connecting to the WDS-router get an IP from the host-router. It also doesn't matter if the channel that is assigned has a lot of competing routers or if it's all by itself.

So, you are saying it wasn't an issue with the clocks not being in sync? I'm hoping to get WDS working using two Linksys EA 6350 v4s. Hoping maybe I will get lucky and the instructions will just work. I was looking on YouTube to see if anyone had a video explaining how to get WDS wireless repeater working, but, they all seem to be using relayd which the OpenWrt documentation seems to indicate isn't the current recommended approach. The instructions for doing it with WDS appear to be more straight forward.

I'm sure of it.

I would try it out to see if your two behave the same way. The device itself gets the IP address from the host just as you would expect, so you don't have to deal with manually assigning it. And then, it just won't share data across the network. So it's easy to change it back and forth on both of them.

When I let it sit overnight is when it finally managed to connect long enough for the clock, but that didn't matter at all. After I noticed it was working, I tried a speed test, and it was absolutely awful. Eventually, it went back to "broken", which is why I started picking at it again.

AX at 80Hz one room over gets a good 450Mbps (my internet is around 600). At 150' through two walls at about the same height (not across floors) I get up to 300Mbps.

Are you using separate radios for the backhaul and clients? If you don't it's supposed to hurt performance. I'm using Ethernet to connect multiple APs at my home. Then, you don't run into performance problems. However, I'm using repeaters at a rental property I own for security cameras I have in multiple buildings. The Linksys firmware has been working fine for that, but, I would like to switch to OpenWrt because it is just better overall and the Linksys firmware hasn't been patched in years. Hopefully, I am not opening up a can of worms making a change to a setup that has been working fine. No idea what bands the Linksys firmware is using.

I was able to get WDS working following the instructions on the OpenWrt Wiki. Luckily, the instructions were pretty minimal and straight forward. I used the Luci instructions. I'm using a Linksys EA 6350 V4 router which is an AC router with 2 radios. One 2 Ghz radio and the other 5 Ghz. I connected to the main router using the 5 Ghz antenna. One problem that I ran into was that I think when you enter the IP address for the repeater, you need to add the /24 at the end of it. I'm not 100% sure on that. The first time I tried changing the IP address, I wasn't able to connect to it. I had to reflash the firmware to restore the default settings. I have a 500 Gbps Internet connection. I was able to get download and upload speeds in the mid-200 Mbps range when using an Ethernet client attached to the repeater. If I connected on the 2 Ghz network, it was more like 100 Mbps. If I connected on the 5 Ghz network it was in the mid-200 Mbps range similar to Ethernet. If I connected my laptop to the 5 Ghz network on the main router instead of the repeater, I could get close to 500 Mbps. Not sure why the laptop was able to get better speeds than the repeater was. Also, for no apparent reason, the download speed when using an Ethernet client on the repeater started going really slow. Like maybe 10 Mbps or less. Upload was fine. When I connected wirelessly to the repeater, the speeds were fine. So, no idea why when using Ethernet, it was getting slow speeds. Pretty weird. I mainly only need these routers for use with some security cameras which don't require a very fast connection. So, I think it will be fine with the slower connection speeds. I will have to see how well it works with the real setup and see if it works as well as the Linksys stock firmware did. Also, I'm hoping that it is able to handle if the main router goes down and then comes back up, or if there is intermittent interference. I'm hoping that it recovers from that automatically.

Nothing else was connected, no other radios on the router were enabled, and no other devices in the area were on those frequencies (not even overlap). It was the 160 that it struggled with.

I've been goofing around with OpenWRT now for the last few weeks. It is absolutely amazing. I will never buy another router that it can't be installed on. As for your use case, I mean, on the one hand, "if it ain't broke don't fix it" (corporate environment), and on the other, "I did it because I could" (mad scientist environment, and technically, they're mad engineers).

I read somewhere on here that it wants the /24, I just go with it.

Latency and jitter from the extra hop, and the radio being used for both send/receive, would be why it's slower.

Yeah, I forgot and ran into the problem with not having the /24 again. Without it, it apparently won't work, although the UI gladly accepts an IP address without it.

OpenWrt is a massive improvement over the Linksys firmware which IMHO is total garbage. I upgraded the main router at a rental property today along with two other wireless repeaters. Using WDS was straightforward and appears to be working without issue. The most difficult part about it was determining that that was the way to do it. I ran across a lot of YouTube videos where people showed how to do it with relayd, and other ways which are more complicated or don't work. OpenWrt's documentation could use some improvement for some things.

I was able to upgrade 3 of 4 routers today. The fourth one just flat out would take accept the OpenWrt firmware. My router uses the A/B partitioning scheme. On one partition, it just flat out wouldn't take the OpenWrt firmware. I would install it using the OEM firmware upgrade function. It would reboot. Then, fail 3 times and revert to the OEM firmware. If I tried it on the other partition, it would install and boot into OpenWrt, but, then, on the next boot, it would fail and go back to the OEM firmware. That is the first time I've had that happen. Usually, it will just take a number of times to get it installed and once it's installed, it's fine. To me, it looks like the flash memory writing is just flat out unreliable. It is as if it doesn't have any error checking when the image is being written at all, and it just assumes it was written correctly when it wasn't.

I agree with you regarding not ever wanting to get a router that doesn't support OpenWrt. OEM firmware in general is garbage. They try to force you to use cloud logins, etc., which is just ridiculous. If I get a new router, it will probably be the OpenWrt One, or it's successor. Assuming our completely whacked government doesn't ban it.