Hai installato due access point o un sistema mesh, ti sposti in un’altra stanza e lo smartphone continua a usare il nodo più lontano. Il segnale WiFi peggiora, la velocità scende, ma il telefono non passa all’access point che si trova magari a pochi metri. È una situazione molto comune: nel WiFi il roaming è deciso soprattutto dal dispositivo client, non dall’access point. In altre parole, il router può suggerire allo smartphone che esiste un nodo migliore, ma generalmente non può obbligarlo a cambiare.
Prima verifica: a quale access point sei collegato?
Se hai più access point con lo stesso identificativo di rete SSID (Service Set Identifier), sul telefono vedrai una sola rete WiFi, ad esempio CasaWiFi. In realtà, dietro quel nome, possono esserci più punti di accesso distinti.
Per riconoscere il singolo access point si usa il BSSID (Basic Service Set Identifier), un identificativo associato alla specifica radio WiFi e normalmente basato sul suo indirizzo MAC. Riprendendo il nostro esempio:
CasaWiFinome della rete, cioè SSIDAA:BB:CC:11:22:01access point del soggiorno, cioè BSSIDAA:BB:CC:11:22:02access point dello studio, cioè un altro BSSID
Lo smartphone può quindi mostrare sempre lo stesso nome CasaWiFi, ma durante il roaming dovrebbe passare da un BSSID all’altro. È proprio questo cambiamento che bisogna osservare per capire se il dispositivo sta effettivamente cambiando access point.
Se il BSSID rimane invariato anche quando il primo access point arriva, ad esempio, a -70 dBm in termini di potenza del segnale mentre il secondo access point è caratterizzato da un segnale decisamente più forte, si sta incappando nel classico problema dello sticky client: il dispositivo resta “incollato” al vecchio access point (AP).
Perché il telefono non passa subito al nodo migliore?
La risposta è che lo smartphone non cerca continuamente il segnale più forte. Ogni dispositivo mobile, notebook o scheda WiFi utilizza proprie soglie e propri algoritmi. Finché la connessione corrente è giudicata accettabile, il dispositivo può decidere di non fare nulla.
Un caso realistico potrebbe essere questo:
- AP soggiorno: -68 dBm
- AP studio: -48 dBm
Per noi il secondo è chiaramente migliore perché ha una potenza del segnale più elevata. Per lo smartphone, però, -68 dBm può essere ancora sufficiente per non avviare una nuova scansione. Il roaming WiFi non funziona come una gara permanente nella quale vince sempre l’access point con il segnale più alto.
Non aumentare la potenza, riducila
Se hai due o tre access point impostati alla massima potenza, compatibilmente con le normative vigenti, il vecchio nodo può continuare a essere ricevuto abbastanza bene anche quando ti trovi molto più vicino a quello successivo. Il telefono non ha quindi alcun motivo urgente per cambiare.
Prova a ridurre di poco la potenza di trasmissione, soprattutto sulla banda 2,4 GHz, e ripeti il percorso tra i due access point.
L’obiettivo non è far coprire tutta la casa a ogni singolo AP. Ogni nodo dovrebbe coprire bene la propria zona e lasciare che il segnale diminuisca quando si entra nell’area servita dal nodo successivo. In una rete con più access point, avere “più segnale possibile ovunque” può peggiorare il roaming.
Controlla 802.11k, 802.11v e 802.11r
Se il router, il sistema mesh o l’access point WiFi espongono queste opzioni, generalmente vale la pena abilitarle:
- 802.11k aiuta il client a conoscere gli access point vicini senza dover esaminare tutti i canali.
- 802.11v consente alla rete di suggerire al dispositivo verso quale access point spostarsi.
- 802.11r, chiamato Fast Transition, riduce invece il tempo necessario per completare il cambio di access point.
L’ultimo non “convince” lo smartphone o qualunque altro client WiFi a cercare prima un nodo con maggiore potenza. Serve soprattutto a rendere più rapido il passaggio quando il client ha già deciso di farlo.
Sono funzioni accessorie che nei router possono comparire anche con nomi commerciali come Fast Roaming, Seamless Roaming, Client Steering o Roaming Assistant.
Sui PC Windows, controlla la Roaming Aggressiveness
Su molti notebook Windows con schede Intel è disponibile un’impostazione utile.
Il consiglio è quello di premere la combinazione di tasti Windows+X, scegliere Gestione dispositivi e cliccare due volte sul nome della scheda WiFi. Accedendo alla scheda Avanzate, si può cercare un’opzione come Roaming Aggressiveness (in italiano corrisponde a Efficacia roaming). Aumentando il valore, la scheda tende a cercare prima un access point migliore.

Non conviene scegliere il livello massimo: un valore troppo aggressivo può produrre continui cambi di AP nelle zone in cui due nodi hanno una copertura simile. In molti casi è sufficiente passare da un’impostazione bassa a media o medio-alta.
Attenzione alla banda 2,4 GHz
La banda 2,4 GHz attraversa meglio muri e solai rispetto ai 5 GHz: è ottima in termini di copertura, ma può essere controproducente per il roaming. Un access point fisicamente posizionato al piano inferiore potrebbe quindi continuare a essere ricevuto sufficientemente bene anche quando ci si trova accanto a un altro nodo.
Se possibile, si può quindi provare a ridurre la potenza sui 2,4 GHz, preferire i 5 GHz per smartphone e notebook, evitare che tutti gli AP trasmettano al massimo sulla banda 2,4 GHz. L’obiettivo, infatti, non è quello di inseguire la massima copertura per ciascun AP, ma di costruire “celle WiFi” più definite.
Se il router offre una soglia RSSI, usala con prudenza
I sistemi WiFi più evoluti permettono di configurare valori come:
- Minimum RSSI
- Minimum signal strength
- Roaming assistant
- Disconnect weak clients
Se un dispositivo scende sotto una determinata potenza del segnale, l’access point prova a spingerlo verso un nodo migliore oppure lo disconnette. Una soglia attorno a -70/-75 dBm può essere un punto di partenza ragionevole per fare delle prove, ma non esiste un valore corretto per tutte le reti.
Impostando un valore di soglia troppo elevato, il rischio è purtroppo quello di espellere continuamente client che non hanno un access point alternativo sufficientemente vicino. È perciò bene modificare il valore gradualmente e verificare il comportamento reale dei dispositivi wireless.
Come controllare BSSID e RSSI e vedere quando avviene davvero il roaming
Per capire se uno smartphone o un notebook rimangono agganciati troppo a lungo all’access point sbagliato servono essenzialmente due dati:
- BSSID, cioè l’identificativo del punto di accesso al quale il dispositivo è associato in quel momento;
- RSSI, cioè la potenza del segnale ricevuto, normalmente espressa in dBm.
Il test consiste nel muoversi fisicamente dalla zona di copertura di un access point a quella dell’altro e osservare quando cambia il BSSID e a quale livello di segnale avviene il passaggio.
Android: WiFiman è uno degli strumenti più comodi
Su Android una delle applicazioni più semplici da usare allo scopo è WiFiman di Ubiquiti. L’app mostra, tra le altre cose, SSID, BSSID, potenza del segnale, canale WiFi, latenza e perdita di pacchetti. Non è necessario possedere access point Ubiquiti per visualizzare le informazioni di base della connessione.
La procedura da applicare è molto semplice:
- Mettersi a pochi metri dal primo access point;
- avviare WiFiman, accedere alla sezione Signal quindi annotare BSSID e potenza del segnale in dBm;
- iniziare a camminare lentamente verso il secondo access point;
- controllare come diminuisce il valore RSSI in dBm;
- osservare il momento esatto in cui cambia il BSSID.

WiFiman evidenzia chiaramente anche nel grafico, con l’etichetta AP Roaming il momento in cui si è verificato il passaggio da un access point all’altro. Se il telefono aspetta di arrivare a -78 o -82 dBm prima di cambiare, pur trovandosi già vicino a un altro access point, siamo davanti a un comportamento molto conservativo.
Portandosi nella sezione Scan quindi toccando sull’SSID della WiFi in uso (“connected“) quindi assicurandosi di aver scelto All, si ottiene la lista completa degli access point o comunque dei nodi visibili dal punto in cui ci si trova.

iPhone e iPad: ci sono più limitazioni
Su iOS Apple limita maggiormente l’accesso delle applicazioni alle informazioni radio WiFi, quindi gli strumenti di analisi sono meno completi rispetto ad Android.
Un metodo utile consiste nell’installare Utility AirPort di Apple e abilitare lo scanner WiFi dalle impostazioni dell’app: lo scanner permette di vedere gli access point nelle vicinanze e confrontarne potenza del segnale e identificativi.
Su iPhone bisogna però tenere presente una differenza importante: la scansione degli AP circostanti non equivale a un monitoraggio continuo dell’AP al quale il telefono è associato.
Per questo motivo, quando si vuole diagnosticare seriamente il comportamento del roaming WiFi, Android o un notebook Windows risultano spesso più comodi come strumenti di misura.
Windows 11: monitoraggio senza installare nulla
Su Windows 11 il metodo più immediato consiste nell’aprire Terminale o Prompt dei comandi e digitare quanto segue:
netsh wlan show interfaces
Nell’output, il sistema operativo mostra informazioni sulla connessione wireless in uso, compreso il BSSID. Per il test conviene lasciare aperto il terminale e ripetere periodicamente il comando mentre ci si sposta tra gli access point. Per renderlo il tutto più pratico si può usare il seguente script PowerShell, che aggiorna le informazioni sulla connessione wireless ogni mezzo secondo:
Clear-Host
$lastBssid = $null
$lineLength = 0
function Get-RssiColor($rssi) {
if ([int]$rssi -ge -55) {
return "Green"
}
elseif ([int]$rssi -ge -70) {
return "Yellow"
}
else {
return "Red"
}
}
while ($true) {
$wlan = (netsh wlan show interfaces | Out-String)
$ssid = ""
if ($wlan -match '(?m)^\s*SSID\s*:\s*(.+)$') {
$ssid = $matches[1].Trim()
}
$bssid = ""
if ($wlan -match 'BSSID AP\s*:\s*([0-9A-Fa-f]{2}(?::[0-9A-Fa-f]{2}){5})') {
$bssid = $matches[1]
}
$rssi = ""
if ($wlan -match 'Rssi\s*:\s*(-?\d+)') {
$rssi = $matches[1]
}
$signal = ""
if ($wlan -match 'Segnale\s*:\s*(\d+)%') {
$signal = $matches[1] + "%"
}
$band = ""
if ($wlan -match '(?s)Banda\s*:?\s*([0-9.,]+\s*GHz)') {
$band = $matches[1].Trim()
}
$channel = ""
if ($wlan -match '(?s)Canale\s*:?\s*(\d+)') {
$channel = $matches[1]
}
if ($bssid) {
$time = Get-Date -Format "HH:mm:ss"
$roaming = $lastBssid -and ($bssid -ne $lastBssid)
if ($roaming) {
Write-Host ""
$lineLength = 0
Write-Host "ROAM " -ForegroundColor Green -NoNewline
}
$rssiColor = Get-RssiColor $rssi
Write-Host "`r$time | " -NoNewline
Write-Host "SSID: " -NoNewline
Write-Host $ssid -ForegroundColor Cyan -NoNewline
Write-Host " | BSSID: " -NoNewline
Write-Host $bssid -ForegroundColor Yellow -NoNewline
Write-Host " | RSSI: " -NoNewline
Write-Host "$rssi dBm" -ForegroundColor $rssiColor -NoNewline
Write-Host " | Segnale: " -NoNewline
Write-Host $signal -ForegroundColor $rssiColor -NoNewline
Write-Host " | Banda: " -NoNewline
Write-Host $band -ForegroundColor Magenta -NoNewline
Write-Host " | CH: " -NoNewline
Write-Host $channel -ForegroundColor Blue -NoNewline
$lastBssid = $bssid
}
Start-Sleep -Milliseconds 500
}

Aggiungere un ping continuo rende il test molto più utile
Il solo cambio di BSSID non racconta tutta la storia. Conviene aprire un secondo terminale e avviare il comando che segue, sostituendo l’indirizzo IP locale con quello del proprio router o gateway:
ping -t 192.168.1.1
Poi si percorre lentamente il tragitto tra i due access point, correlando eventi come il valore RSSI del vecchio AP che diminuisce, il cambio di BSSID, eventuali timeout o aumenti della latenza nel ping.
Una breve impennata della latenza in ms durante il roaming è normale: bisogna invece evitare che al cambio dell’AP si manifesti un’interruzione evidente con la presenza multipla di richieste scadute. È questa una situazione differente dallo sticky client: qui il roaming avviene, ma è troppo lento.
La metodologia corretta: non fare una sola prova
Un test affidabile dovrebbe essere ripetuto almeno tre volte. Il percorso deve essere sempre lo stesso:
AP A ⇒ zona intermedia ⇒ AP B
AP B ⇒ zona intermedia ⇒ AP A
Dopo tre o quattro passaggi emerge generalmente un comportamento abbastanza chiaro.
Per diagnosticare un problema di roaming WiFi bastano spesso uno smartphone Android con WiFiman oppure un notebook Windows con netsh wlan show interfaces, un ping continuo verso il router, un percorso ripetibile tra due access point.
In 10 minuti si riesce normalmente a capire se il problema è davvero uno sticky client oppure se il dispositivo cambia correttamente AP ma impiega troppo tempo a completare il passaggio.