README (2712B)
1 ROAM-Guide 2 ---------- 3 4 Helps your clients to search for a better AP and to have a nice roaming experience. 5 6 The roaming guide runs as a cronjob every minute on your ap and verifies that clients 7 have an acceptable TQ towards the AP. If that isn't the case it will deauth the client 8 by stating that the AP is full, enabling the client to look for an alternative AP. 9 10 This is happening in three definable stages depending on the TQ of the client. 11 When a client has decided to come back after the ban-time it will not be bothered 12 again unless it depletes to the next TQ level or it has been kicked $stage times. 13 For every stage the client is guided, the ban time will be increased. So by default 14 the first stage has a bantime of 500ms, the second 2775ms and the third 10000ms. 15 16 When a client is away for some definable time or is below the first stages TQ, 17 it will be forgotten, and the guiding will be re-enable. 18 19 Configuration 20 ------------- 21 22 In '/etc/config/roamguide' the following default configuration is available, 23 to activate it you need to set enabled to '1'. 24 25 config roamguide 26 option device "client0" # wireless AP device we like to guide 27 list signal '-60' # first penality level, in dBm 28 list signal '-77' # second penality level, in dBm 29 list signal '-85' # final penality level. in dBm 30 option bantime_base '500' # on the first level ban for 500ms 31 option bantime_factor '2375' # on the second one for 2775ms, 32 # and in the final 10000ms 33 option forget_time '600' # Forget about a client after 10s 34 option enabled '0' # set to '1' to enable this profile 35 36 This module creates a cronjob calling /usr/bin/roamguide once a minute. 37 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: 38 39 * * * * * sleep 20 & /usr/bin/roamguide 40 * * * * * sleep 40 & /usr/bin/roamguide 41 42 If you want to disable this with one shell call you can use: 43 44 ssh <router ip> 'uci set roamguide.@roamguide[0].enabled="0"; uci commit roamguide && echo done' 45 46 If you want to make roamguide more reactive: 47 48 ssh <router> 'grep -q "sleep 20" /usr/lib/micron.d/root || echo "* * * * * sleep 20 & /usr/bin/roamguide" >> /usr/lib/micron.d/root' 49 ssh <router> 'grep -q "sleep 40" /usr/lib/micron.d/root || echo "* * * * * sleep 40 & /usr/bin/roamguide" >> /usr/lib/micron.d/root' 50 51 ### Testing tools 52 53 This will show you the stats, where you are connected to on your client: 54 55 watch -d -n0,5 iw dev $(ip -o -4 route show to default | awk '{print $5}') station dump 56