OpenWrt Forum Archive

Topic: Two wirelss access points, one WiFi SSID ?

The content of this topic has been archived on 25 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have a TL-WR2543ND which I've successfully with OpenWRT for 12 months, and a separate access point with a different SSID to reach the weak signal areas in the house. What I would like to do is set up a second OpenWRT device that has the same SSID and password as the main router.. so that mobile devices connect with a single SSID/Password, but the devices can 'talk' to the either wifi radio that they are closest to (i.e. strongest connection). I know that I don't want a wireless bridge as the two devices will be connected over the LAN. Is this possible ?

FYI the second device is a WNR2000 that I've flashed with an Attitude Adjustment build, both devices have atheros chipsets.

I have looked through the documentation and tried setting up a WDS using the atheros howto: http://wiki.openwrt.org/doc/recipes/atheroswds but when set up, the AP doesn't appear to be broadcasting as I could only detect a signal from the original router. Is what I'm attempting possible & is is this the right way to go about it ? Thanks!

neuralnet wrote:

I have a TL-WR2543ND which I've successfully with OpenWRT for 12 months, and a separate access point with a different SSID to reach the weak signal areas in the house. What I would like to do is set up a second OpenWRT device that has the same SSID and password as the main router.. so that mobile devices connect with a single SSID/Password, but the devices can 'talk' to the either wifi radio that they are closest to (i.e. strongest connection). I know that I don't want a wireless bridge as the two devices will be connected over the LAN. Is this possible ?

Not only it is possible, it is the recommended way... just a couple of tips:

* Use the same SSID and password, but different channels (leave a couple of empty channels between each AP).
* Put both APs in the same network, and leave just one DHCP server active in the entire installation.

neuralnet wrote:

FYI the second device is a WNR2000 that I've flashed with an Attitude Adjustment build, both devices have atheros chipsets.

Do not worry about that, you could use two completely different APs.

neuralnet wrote:

I have looked through the documentation and tried setting up a WDS using the atheros howto: http://wiki.openwrt.org/doc/recipes/atheroswds but when set up, the AP doesn't appear to be broadcasting as I could only detect a signal from the original router. Is what I'm attempting possible & is is this the right way to go about it ? Thanks!

If both APs are already connected to the same LAN, I would not bother with DWS.

You may have some issues with stations that don't do roaming properly, but you can't fix it with a WDS anyway. A cable backbone is recommended as you keep the air clear for serving actual stations. This article may give you some pointers about the station roaming issue: http://www.tp-link.com/lb/article/?faqid=592

Thanks for the pointers both. I can happily report this is working nicely. I thought this would be a lot harder than it was wink Occasionally devices insist on one AP when both are in range, but as SaltwaterC pointed out there's nothing you can do on the server side. Cheers !

Do the coverage areas of the AP1 and AP2 overlap? What's your practical experience with handovers between the two APs?

What I'm after is to hear how do clients generally behave in such environment. As is nicely described in the article referenced by SaltwaterC the "handover" is purely client decision. Do the different devices (ntb, tablets, smartphones) hand over as you're walking from the coverage are of AP1 towards AP2?

In theory there should be a problem particularly if the coverage areas overlap since once connected to AP1 the particular device sticks to it until it can barely "hear it" - never looking for an alternative hence stupidly ignoring a fact they are possibly already in the much stronger coverage of AP2.

I have a Mikrotik AP (with original FW) and TP Link WA901ND based on OpenWrt.

I got an advice on a workaround solution: a script in Mikrotik that periodically polls the signal level of all connected devices and "kicks out" those below certain threshold. The device - upon loosing connectivity once its connection is terminated from AP side - looks around and picks the strongest AP. Typically the device will not do such check on its own - or will it?

There are some drawbacks of the workaround solution: first of all there is delay (depends on how often the script is executed). Secondly it reduces the coverage since it cuts out any device with a weaker signal (below selected threshold) regardless of whether it is in coverage of AP2 or not.

But assuming a) one could live with a delay (or executes the script with sufficient frequency) and b) has a fairly good coverage in all places where he/she needs them and doesn't care about edges the workaround solution could work.

Two principal questions:
- is there nowadays a better way to achieve mobility then depicted in the above-described workaround?
- I do have the script for Mikrotik. Can the same be done with OpenWrt? How? (I don't see any scripting option in default package, at least not in its web interface)

Obviously the script should communicate with the other AP and confirm that it has a strong signal from the client before kicking it off.  Otherwise users who move away from both AP's would be disconnected before they are really out of signal. 

This probing is a problem with the AP's on differerent channels, since an AP operating on one channel would need to stop serving its users in order to retune its radio and listen for signals from clients on a different channel.

You can go to the command line interface and run practically anything you want.  Once installed, such a script would start automatically at boot-up and wouldn't require a web interface.

Depends on the intended use - or respectively what limitations is the user willing to put up with. Even the simple (i.e. non cross-AP-correlated) configuration could deliver acceptable results if e.g. you have sufficient coverage via two or more hotspots throughout the house and you don't care about connection outside/on the edge. This scenario could be called "Strong signal or none".

One question is if mobility needs to be solved in some/such a way - that's why I asked neuralnet for his practical experience - or is there any more clever one? Large enterprise solutions aside I'm aware of one commercially available option - that is Ubiquiti and their UniFi series. Bloody expensive (1 k$ investment needed for my installation of potentially 3 APs) but their "Zero Handoff Roaming" could do the trick. However there are limitations too (apart from rather significant investment required for a start): the SW is still in Beta phase (ok, I could live with that as long as it works wink ), the SW runs on a separate machine => you have to have 24*7 running computer around (ok, there are at least two good descriptions how to squeeze the SW into Raspberry Pi so I could live with that too) but most important: the SW does not yet support the newest AC line of the AP devices. And if I'm asked to put rather substantial amount of money on the table I certainly want my installation to be up-to-date and future proof to survive couple of months without being outdated already - I insist on AC support.

Let me refocus on the OpenWrt based solution:
Let's assume that solution for mobility inside WiFi coverage is needed, i.e. just lighting up two (or more) APs with same SSID and password delivers suboptimal results and something more is needed/desirable.
And let's assume we can put up with limitations the "Strong signal ore none" scenario brings.

Here is the script for Mikrotik:

:global hosts [/interface wireless registration-table find where interface=wlan_HotSpot]
:foreach h in $hosts do={
:global signalhost [/interface wireless registration-table get $h value-name=signal-strength]
:local pos [:find $signalhost "d"]
:set signalhost ([:pick $signalhost 0 ($pos)])
:if (signalhost < -80) do {
/interface wireless registration-table remove $h
}
}

I.e. very simple: goes through the table of all connected devices and removes those under 80 dBm

Is there anyone who dares to adopt it to OpenWrt?

The discussion might have continued from here.