48 lines
2.2 KiB
Plaintext
48 lines
2.2 KiB
Plaintext
ROAM-Guide
|
|
----------
|
|
|
|
Helps your clients to search for a better AP and to have a nice roaming experience.
|
|
|
|
The roaming guide runs as a cronjob every minute on your ap and verifies that clients
|
|
have an acceptable TQ towards the AP. If that isn't the case it will deauth the client
|
|
by stating that the AP is full, enabling the client to look for an alternative AP.
|
|
|
|
This is happening in three definable stages depending on the TQ of the client.
|
|
When a client has decided to come back after the ban-time it will not be bothered
|
|
again unless it depletes to the next TQ level or it has been kicked $stage times.
|
|
For every stage the client is guided, the ban time will be increased. So by default
|
|
the first stage has a bantime of 500ms, the second 2775ms and the third 10000ms.
|
|
|
|
When a client is away for some definable time or is below the first stages TQ,
|
|
it will be forgotten, and the guiding will be re-enable.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
In '/etc/config/roamguide' the following default configuration is available,
|
|
to activate it you need to set enabled to '1'.
|
|
|
|
config roamguide
|
|
option device "client0" # wireless AP device we like to guide
|
|
list signal '-60' # first penality level, in dBm
|
|
list signal '-77' # second penality level, in dBm
|
|
list signal '-85' # final penality level. in dBm
|
|
option bantime_base '500' # on the first level ban for 500ms
|
|
option bantime_factor '2375' # on the second one for 2775ms,
|
|
# and in the final 10000ms
|
|
option forget_time '600' # Forget about a client after 10s
|
|
option enabled '0' # set to '1' to enable this profile
|
|
|
|
This module creates a cronjob calling /usr/bin/roamguide once a minute.
|
|
If you want to make roamguide more reactive (but also stress your device) you can add some more cron jobs with sleep timers in /usr/lib/micron.d/root:
|
|
|
|
* * * * * sleep 20 & /usr/bin/roamguide
|
|
* * * * * sleep 40 & /usr/bin/roamguide
|
|
|
|
### Testing tools
|
|
|
|
This will show you the stats, where you are connected to on your client:
|
|
|
|
watch -d -n0,5 iw dev $(ip -o -4 route show to default | awk '{print $5}') station dump
|
|
|