Two WAPs, one SSID?

Just to add to this... We're assuming OP can run a cable between the two APs. If so, then yes use non-overlapping channels. This is the ideal configuration. You connect the cable from LAN of the primary AP to LAN of the secondary AP. Make sure the secondary AP is on a non-conflicting IP and disable DHCP server and uPnP. In this configuration, you are not using the downstream router as a router, you are only using it to bridge wifi to wired. All your devices end up on the same layer 2 network, so a client can keep the same IP as it moves from AP to AP. Roaming ends up being just like moving between ports on a switch. You can keep your IP and your TCP connections running the whole time and you just get a momentary blip as you switch.

If you can not run a cable, then you can put both APs on the same channel and use WDS to create a virtual cable between the two. Only do this if you must, though, as it means both APs must be on the same channel AND that any data downloaded/uploaded on the downstream AP must cross over that channel twice (once from primary AP to secondary AP, and once from secondary AP to client).

I'm using this WDS method to create a string of 4 routers in a long chain in order to provide Internet access between houses down a street where I could not run cables. It's very inefficient and slow, but in my case everyone was sharing a 2 Mbps Internet uplink anyway so being inefficient on the WiFi component didn't matter as it was still able to handle the 2 Mbps max traffic.

In my experience, devices roam reasonably well if what you expect is "works well". However, if you start asking "is my client connected to the strongest/closest AP" you'll often find the answer is no. Basically, they roam when they need to in order to keep a good signal, but they don't bother roaming just to get a stronger signal. However, as has been said, this depends on the device. My Windows laptop wifi adapter has an advanced configuration option called "roaming aggressiveness" that affects this.

/r/HomeNetworking Thread Parent