U siebie w domu mam 3 AP skonfigurowane w taki sposób by miały taki sam ESSID i hasło, z tym, że są one na różnych kanałach. Na moim laptopie mam zainstalowanego Debiana i do realizacji roamingu na nim wykorzystuję wpa_supplicant. Generalnie cała magia sprowadza się do dopisania do pliku konfiguracyjnego poniższej linijki (w sekcji sieciowej lub ogólnej):
bgscan="simple:10:-55:300"
W skrócie skanuj eter w poszukiwaniu sieci co 300 sekund jeśli sygnał jest mocniejszy niż -55 dBm. Jak sygnał spadnie poniżej tej wartości, to skanuj co 10 sekund. Ten AP, który ma mocniejszy sygnał przy skanowaniu zostanie wybrany i jeśli sygnał na obecnym AP jest słabszy, to nastąpi automatyczne przełączenie. To działa bez większego problemu na linux'ach.
W androidzie również jest wykorzystywany wpa_supplicant. Mam root na swoim smartfonie i chciałem skonfigurować sobie roaming na telefonie mniej więcej w taki sam sposób jak mam na komputerze ale widać coś dopisanie tej powyższej linijki do konfiguracji wpa_supplicant'a w Androidzie nie pomaga. Z tego co ustaliłem, to konfiguracja wpa_supplicant jest przechowywana w plikach w katalogu /data/misc/wifi/ . By ustawienia zostały zachowane w tych plikach po edycji, trzeba wcześniej rozłączyć WiFi. W pliku /data/misc/wifi/wpa_supplicant.conf są konfiguracje zapamiętanych sieci. I tutaj zdaje się powinienem dopisać tę powyższą linijkę.
Nie wiem czy coś jest nie tak z samym systemem czy jakoś inaczej trzeba ten zabieg przeprowadzić, dlatego też chciałem zapytać, czy komuś z was udało się taki roaming z wykorzystaniem wpa_supplicant skonfigurować? Wiem, że istnieją różne aplikacje, które mają realizować takie zadanie roamingu ale te na które natrafiłem potrafiły robić jedynie pseudoroaming z rozłączaniem połączenia, a mi zależy na zachowaniu aktywnych sesji przy zmianie AP w sieci.