If you have a spare WiFi router lying around, you can use it to extend the range of your wireless network by turning it into a simple Wireless Access Point, that is wired to your main Wifi router.
Sometimes this is referred to as a "Dumb Access Point" because router functionality such a NAT, Firewall and DHCP is turned off.
For this post we will use a spare WiFi router that has been flashed with the OpenWRT Linux Distribution. The main WiFi router is left unchanged.
As shown in the photo, the two routers are connected LAN to LAN to join their networks into one.
The advantage of a wired connection between access points, as opposed to a wireless bridge, is that device to access point and access point to access point communication do not compete for the same air waves and it's reliable. You can also put the second access point much farther away from the first one, whereas with a wireless bridge the second access point has to be within the WiFi range of the first one.
The disadvantage is that if you don't live in a newer home where cables are already under the floors with sockets in all rooms, then you have to route a cable yourself.
Mobile devices such as smartphones and tablets will be able to roam from one Wireless Access Point to the other.
This is achieved by mirroring the Wireless 802.11 Access Points. They will use the same wireless protocols (typically 802.11n on 2.4 GHz band and 802.11ac on the 5 GHz band) and have the same ESSID and password.
When a mobile device detects that the signal to noise ratio has dropped below a threshold, it will automatically switch to the access point with the better signal. Support for this type of roaming is built into operating systems such as Android and it is fast and mostly seamless.
The spare router that we will configure in this post is a Linksys WRT1900ACS that has been flashed with OpenWRT 19.7.3, but any router running a recent version of OpenWRT will do.
The IP number of the spare router will be changed from 192.168.1.1 to 192.168.1.2, so that it can peacefully co-exist with the Main Access Point that we leave unchanged on 192.168.1.1.
The Dumb Access Point will delegate DHCP and DNS to the Main Access Point on 192.168.1.1.
Connect a PC to a LAN port on the Dumb Access Point.
Disconnect any other LAN and disable WiFi on the PC. You may have to reboot the the PC.
Open the OpenWRT firmware on the Dumb Access Point at http://192.168.1.1/ and sign in.
Navigate to Network -> Interfaces and click Edit in the LAN row.
Make sure Protocol is set to "Static address" and change the IPv4 address to 192.168.1.2.
Set IPv4 gateway and Use custom DNS servers to 192.168.1.1.
Disable IPv6 assignment length.
Open the DHCP Server tab.
Check "Ignore interface".
Open the IPv6 Settings tab.
Disable all IPv6 settings.
Finally click Save.
Navigate to System -> Startup.
Disable the dsnmasq, firewall and odhcpd services.
Navigate to Network -> Wireless.
Click the Edit button of the wireless networks and make sure the settings mirror that of the wireless networks on the Main Access Point.
The settings that should mirror are the wireless Mode (for instance 802.11n for the 2.4 GHz band and 802.11ac for the 5 GHz band), Channel (typically auto), Width (typically 20 MHz for 802.11n and 80 MHz for 802.11ac), the ESSID, the Encryption and Key under the Wireless Security tab and the Country Code under the Advanced Settings tab.
Click Save in the popup.
Back in the Wireless Overview, click Save and Apply and finally click Enable on the wireless networks if they weren't already.
It takes about half a minute for the radios to activate after enabling a wireless network.
All that remains now is to shut down the Dumb Access Point, move it to it's final location, wire it to the Main Access Point with an Ethernet cable (LAN to LAN port) and turn it on.