2013-08-19 04:05:06

by chris

[permalink] [raw]
Subject: WiFi roaming question

Hi All,

I have setup a WiFi infrastructure with several APs connected by
ethernet, with only one AP acting as the gateway/dhcp server.
It is a "mixed band" infrastructure (2.4/5GHz).

My goal was to see how, as a WiFi client, I would have to manage which
access point to connect to.

My environment is a custom embedded Linux system with connman and
wpa_supplicant.

It turned out that, as a client, I don't have to bother with roaming
stuff, it simply works out of the box.

Though, I have a couple of questions regarding this OOBX (new buzz word
seen here and there for "out of the box experience" :) ).
- At which level the roaming is done? Is it at the WiFi kernel stack
(cfg/mac 80211), at driver level, or at chipset/firmware level or a mix
of them?
- Can I change my setup, so that I have control over the roaming?
- Is it a good idea to try to manage that myself from userspace?

My usecase is a set of industrial devices that needs to connect to a
WiFi network (either a unique AP or a set of APs).
On top of that I have to manage a special case where, for whatever
reason, the user would have forgotten to switch off somes APs, these APs
shouldn't be on might then interferes with the running system.

I know my questions are a bit broad, but I would appreciate if some one
could give me some hints or even better point me to some Linux centric
papers/articles.

Regards,
Chris

PS: I've found some documentation about IAPP, 802.11i, 802.11F, L2 vs L3
roaming (FWIU wifi vs IP), ... But nothing really clear to me and none
of them speaks about Linux compatibility/implementation.




2013-08-20 04:41:05

by Christian Gagneraud

[permalink] [raw]
Subject: Re: WiFi roaming question

On 19/08/13 20:26, Krishna Chaitanya wrote:
>> It turned out that, as a client, I don't have to bother with roaming stuff, it simply works out of the box.
>
> Roaming has 2 types:
>
> 1) based on the disconnection (beacon loss)
> 2) based on the RSSI
>
> Is it really roaming doing background scanning and preauth #2 (or) a
> connect and disconnect (assuming same ssid and security) #1?
>
>> Though, I have a couple of questions regarding this OOBX (new buzz word seen here and there for "out of the box experience" :) ).
>> - At which level the roaming is done? Is it at the WiFi kernel stack (cfg/mac 80211), at driver level, or at chipset/firmware level or a mix of them?
>> - Can I change my setup, so that I have control over the roaming?
>> - Is it a good idea to try to manage that myself from userspace?
>
> wpa_supplicant (userspace) takes care of the roaming for you, i belive
> it has support for both types #1 and #2 (along with background scan)
>
> Some proprietary version which implement at driver/fw level, this
> reduces the roam delay as it need not involve any context switches.
>

Thanks Krishna for your answer.

Regards,
Chris

2013-08-19 08:26:30

by Krishna Chaitanya

[permalink] [raw]
Subject: Re: WiFi roaming question

> It turned out that, as a client, I don't have to bother with roaming stuff, it simply works out of the box.

Roaming has 2 types:

1) based on the disconnection (beacon loss)
2) based on the RSSI

Is it really roaming doing background scanning and preauth #2 (or) a
connect and disconnect (assuming same ssid and security) #1?

> Though, I have a couple of questions regarding this OOBX (new buzz word seen here and there for "out of the box experience" :) ).
> - At which level the roaming is done? Is it at the WiFi kernel stack (cfg/mac 80211), at driver level, or at chipset/firmware level or a mix of them?
> - Can I change my setup, so that I have control over the roaming?
> - Is it a good idea to try to manage that myself from userspace?

wpa_supplicant (userspace) takes care of the roaming for you, i belive
it has support for both types #1 and #2 (along with background scan)

Some proprietary version which implement at driver/fw level, this
reduces the roam delay as it need not involve any context switches.