OpenWrt Forum Archive

Topic: Howto connect to the best Access Point

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

Hi,

I have an AP per floor with the same SSID. I can't change the SSID because  it's hardest to understand (please believe me) for  users.
The problem is that when some people connect (using WPA2 Enterprise) with let's say an iPhone on 3° floor and then goes to 7° floor. The iPhone keeps on connected on 3°floor  AP. Is there a way to prevent that? Does wpa rekey interval decreasing  help to solve it?

any idea, suggestion?

Thanks in advance!

I think the roaming behavior depends on client, not the ap. Perhaps you can set the option distance to disconnect the client when it's away but I have no idea how it works or will it work.

Distance between the ap and the furthest client in meters. Only supported by madwifi, and the mac80211 type (in trunk)

Wireless configuration - OpenWrt Wiki

fyi wrote:

I think the roaming behavior depends on client, not the ap. Perhaps you can set the option distance to disconnect the client when it's away but I have no idea how it works or will it work.

Distance between the ap and the furthest client in meters. Only supported by madwifi, and the mac80211 type (in trunk)

Wireless configuration - OpenWrt Wiki

Hmmm... but that does mean that is not supported on stable releases, doesn't it?

Why does a station believe that it keep on connected to an AP?

You till don't want to give up, do you? Maybe you should read the comment from mbm in "OpenWrt / Handover" and what luminoso had successfully accomplished in "OpenWrt / Two routers wireless roaming, or something". Anyway, I understand that, without proper communication among the associated aps, there could be some cosmetic influence during the handover as described in "OpenWrt / wccp equivalent (ESS roaming) for openwrt?".

On my FON2201 with Kamikaze 8.09.2 atheros build, I modify /lib/wifi/hostapd.sh, /lib/config/uci.sh and /etc/config/wireless,

config 'wifi-iface' 'cfg1'
        option 'device' 'wifi0'
        option 'network' 'lan'
        option 'key' 'xxxxxxxx'
        option 'ssid' 'xxxxxxxx'
        option 'mode' 'ap'
        option 'encryption' 'psk2'
        option 'iapp_interface' 'lan'

and I get,

Configuration file: /var/run/hostapd-ath0.conf
Mode: IEEE 802.11b  Channel: 1  Frequency: 0 MHz
Using interface ath0 with hwaddr 00:18:84:XX:XX:XX and ssid 'xxxxxxxx'
IEEE 802.11F (IAPP) using interface br-lan

Though I have no idea what "iapp_interface" being doing, I believe that it should be what you are looking for. But, from the wiki, you have to implement 802.11X authentication which I have no intention to try.

Inter-Access Point Protocol - Wikipedia, the free encyclopedia
WLAN Roaming - the basics - Feature - Techworld.com
Make your WLAN roam faster - How-to - Techworld.com
Wireless access point - DD-WRT Wiki - Roaming access

Thanks fyi for your answer!

It was really useful. I've got a partially roaming:

I've changed all channel and set the same lan ip address of every AP  in the building and now if I go from one floor to another it reconnects automagically. It tear down the tcp connections, but at least ir reconnects automatically!

Now, I've noted that the main problem was that station (when every A had different lan IP)  looked for the previous AP IP address, but it did the roaming, I don't understand why is the dhcp independent from roaming?

Below you have the messages on the STA before LAN IP change:

/
Jun  7 10:11:33 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: 4-way handshake -> completed
Jun  7 10:12:23 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: completed -> authenticating
Jun  7 10:12:23 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !
Jun  7 10:12:23 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: authenticating -> associating
Jun  7 10:12:23 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associating -> associated
Jun  7 10:12:26 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associated -> 4-way handshake
Jun  7 10:12:26 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !
Jun  7 10:12:26 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: 4-way handshake -> completed
Jun  7 10:12:27 peque NetworkManager[770]: <info> (wlan0): roamed from BSSID D8:5D:4C:AE:40:D4 (UP-PVIII-I) to 00:25:9C:14:06:6E (UP-PVIII-I)
Jun  7 10:13:08 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: completed -> authenticating
Jun  7 10:13:08 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !
Jun  7 10:13:08 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: authenticating -> associating
Jun  7 10:13:08 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associating -> associated
Jun  7 10:13:08 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associated -> 4-way handshake
Jun  7 10:13:08 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !
Jun  7 10:13:08 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: 4-way handshake -> completed
Jun  7 10:13:09 peque NetworkManager[770]: <info> (wlan0): roamed from BSSID 00:25:9C:14:06:6E (UP-PVIII-I) to 00:23:69:49:09:BF (UP-PVIII-I)
Jun  7 10:13:22 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: completed -> authenticating
Jun  7 10:13:23 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !
Jun  7 10:13:23 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: authenticating -> associating
Jun  7 10:13:23 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associating -> associated
Jun  7 10:13:26 peque NetworkManager[770]: <info> (wlan0): supplicant interface state: associated -> 4-way handshake
Jun  7 10:13:26 peque lldpad[1030]: vdp_ifup:wlan0 vdp data already exists !

thanks in advance!

The discussion might have continued from here.