Questa pagina descrive gli algoritmi e le procedure utilizzati in Android 12 per la selezione e il passaggio da una rete Wi-Fi all'altra. Android valuta continuamente la qualità della rete connessa e valuta la qualità delle reti disponibili.
Durata di una connessione automatica
Descrive la procedura di valutazione e connessione di un dispositivo Android alle reti Wi-Fi disponibili.
Il dispositivo esegue la scansione delle reti disponibili in uno dei seguenti modi, a seconda che lo schermo sia acceso o spento.
- Schermo attivo (connesso): il sottosistema di connettività Android valuta regolarmente se la connessione attuale è sufficiente per saltare la scansione (come definito nelle scansioni con schermo attivo). Se la connessione non è sufficiente per saltare la scansione, il sottosistema di connettività attiva una scansione per rilevare le reti disponibili. Queste scansioni possono essere attivate anche da altri componenti di sistema, come il sistema di localizzazione o un'app (inclusa l'app Impostazioni).
- Schermo acceso (disconnesso): il sottosistema di connettività Android esegue scansioni periodiche seguendo una pianificazione di backoff esponenziale. Il modulo valuta tutti i risultati della scansione ricevuti e tenta di selezionare la rete migliore a cui connettersi.
- Schermo spento (disconnesso): la CPU host programma il firmware con un elenco di reti preferite utilizzando le scansioni di offload della rete preferita (PNO) non appena lo schermo si spegne. Il firmware riattiva l'host se trova una delle reti preferite. AOSP presuppone che PNO sia supportato sul dispositivo.
Il metodo
WifiManager#allowAutojoinGlobal(boolean)
può essere utilizzato per disattivare le connessioni automatiche. Si tratta di un'API con privilegi che può essere utilizzata dai produttori di dispositivi in circostanze limitate (ad esempio, un dispositivo non mobile preconfigurato).Se il dispositivo è connesso e la sovrapposizione
config_wifi_framework_enable_associated_network_selection
è impostata sufalse
, non vengono eseguiti scansioni della connettività e i risultati della scansione non attivano la selezione della rete. Questa impostazione non ha effetto quando il dispositivo è disconnesso, il che significa che le scansioni della connettività e la selezione della rete si verificano comunque.I risultati della scansione vengono valutati.
Se il dispositivo è connesso a una rete Wi-Fi, il framework valuta se la rete attuale è sufficiente per saltare la selezione della rete.
Una rete viene definita sufficientemente buona da saltare la selezione della rete se soddisfa uno dei seguenti requisiti:
- Sono trascorsi meno di 10 secondi dall'ultima selezione della rete.
- L'utente si è connesso manualmente di recente alla rete (dove di recente
è configurabile utilizzando l'overlay
config_wifiSufficientDurationAfterUserSelectionMilliseconds
). - Il dispositivo è connesso a una connessione di registrazione online (OSU).
Sono soddisfatti tutti i seguenti requisiti:
- L'RSSI è superiore alla soglia RSSI richiesta o il traffico sufficiente scorre sulla connessione (vedi scansioni con schermo acceso per le soglie RSSI e di traffico).
- La rete è convalidata (connessa a internet) o approvata dall'utente per l'utilizzo senza accesso a internet.
- La rete non è a consumo.
Se la rete è sufficiente per saltare la selezione della rete, non vengono intraprese ulteriori azioni.
Se la rete Wi-Fi connessa non è sufficiente o se il dispositivo non è connesso a una rete, il framework chiama i proponenti di rete per generare un elenco di reti Wi-Fi candidate a cui connettersi in base ai risultati della scansione filtrati. I candidati alla rete trovano configurazioni Wi-Fi esistenti o creano nuove configurazioni per le reti candidate.
I risultati della scansione vengono filtrati per rimuovere i BSSID con un RSSI inferiore all'RSSI di ingresso (configurabile utilizzando le sovrapposizioni
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
econfig_wifiFrameworkScoreEntryRssiThreshold6ghz
). Inoltre, i BSSID bloccati vengono filtrati. I BSSID possono essere bloccati in base a errori di connessione ripetuti, disconnessioni frequenti e richieste esplicite del punto di accesso di non tentare l'associazione per un determinato periodo di tempo (MBO-OCE). Il blocco del BSSID è descritto di seguito in Blocco di SSID e BSSID.Quando il dispositivo si muove rapidamente, i risultati della scansione vengono ulteriormente filtrati per rimuovere i BSSID il cui RSSI varia rapidamente (indicazione che non si muovono insieme al dispositivo). Questa ottimizzazione è configurabile utilizzando
config_wifiHighMovementNetworkSelectionOptimizationEnabled
(attivazione/disattivazione dell'ottimizzazione) e le sovrapposizioniconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMs
econfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta
, che configurano il requisito di stabilità dei risultati della scansione (variazione RSSI nei risultati della scansione sufficientemente separati nel tempo).
Il framework esegue lo scorer dei candidati per generare un punteggio per ogni candidato Service Set Identifier (SSID). I candidati SSID possono includere più candidati Basic Service Set Identifier (BSSID) (generati dai proponenti della rete). Il candidato con il punteggio più alto è il candidato vincente.
Il framework esegue l'algoritmo di scelta di connessione dell'utente, che potrebbe rendere una rete selezionata dall'utente il nuovo candidato vincente anziché utilizzare il candidato vincente dello strumento di valutazione dei candidati.
Il framework determina se il candidato vincente corrisponde alla rete attualmente connessa. Per essere considerata una corrispondenza, deve essere soddisfatta una delle seguenti condizioni:
- Il candidato vincente e la rete Wi-Fi connessa hanno lo stesso BSSID.
- Se è disponibile il roaming del firmware (inclusa la funzionalità di lista nera BSSID), il candidato vincente e la rete connessa hanno lo stesso SSID e lo stesso tipo di sicurezza.
Se il candidato vincitore corrisponde alla rete attualmente connessa, non vengono intraprese ulteriori azioni. Se il candidato vincente non corrisponde alla rete, il dispositivo viene associato al candidato vincente.
Tieni presente che la connessione di rete automatica è disattivata mentre un'app utilizza l'API Wi-Fi Network Request, che esegue l'override del sistema e crea una LAN senza internet, tranne sui dispositivi che supportano due stazioni simultanee.
Valutazione di una rete connessa
Il framework o il firmware Android valuta periodicamente la qualità della rete connessa. Questa sezione descrive come viene valutata la rete connessa quando lo schermo è acceso o spento.
Questa valutazione viene eseguita in aggiunta alla selezione della rete descritta in precedenza.
Schermo acceso
Il framework Android valuta la rete connessa nel seguente modo:
Il servizio Wi-Fi esegue il polling delle statistiche RSSI e del livello di collegamento ogni 3 secondi (configurabile utilizzando l'overlay
config_wifiPollRssiIntervalMilliseconds
).Se la regolazione dinamica dell'intervallo è abilitata utilizzando l'overlay
config_wifiAdjustPollRssiIntervalEnabled
, l'intervallo di polling cambia dinamicamente in base allo stato di mobilità del dispositivo e all'RSSI.- L'intervallo di polling viene esteso a 6 secondi (configurato dall'overlay
config_wifiPollRssiLongIntervalMilliseconds
) quando il dispositivo è fermo e l'RSSI è superiore a -68 dBm (configurato dagli overlayconfig_wifiClientRssiMonitorThresholdDbm
econfig_wifiClientRssiMonitorHysteresisDb
). - L'intervallo di polling viene ridotto a 3 secondi (configurato dalla sovrapposizione
config_wifiPollRssiIntervalMilliseconds
) quando il dispositivo non è stazionario o l'RSSI è inferiore a -73 dBm (configurato dalla sovrapposizioneconfig_wifiClientRssiMonitorThresholdDbm
).
- L'intervallo di polling viene esteso a 6 secondi (configurato dall'overlay
Il servizio Wi-Fi calcola un punteggio di connessione in base all'RSSI e alle statistiche del livello di collegamento.
Il servizio Wi-Fi passa il punteggio al servizio di connettività, che lo utilizza per determinare se connettersi a una rete Wi-Fi o a un altro tipo di rete disponibile, ad esempio una rete mobile.
Schermo disattivato
Il framework non avvia una valutazione sulla rete connessa, ma il processo di selezione della rete potrebbe comunque verificarsi se le scansioni vengono avviate da altri componenti (ad esempio, i servizi di localizzazione). Il firmware valuta la qualità della rete e, se è scarsa, potrebbe eseguire il roaming o (alla fine) dissociarsi dalla rete e riattivare l'host.
Scansioni della connettività
Le scansioni vengono eseguite automaticamente in base all'accensione dello schermo del dispositivo, allo spegnimento dello schermo e alla connessione al Wi-Fi oppure allo spegnimento dello schermo e alla mancata connessione al Wi-Fi.
Schermo acceso
Il framework attiva le decisioni di scansione a intervalli crescenti quando lo schermo è
acceso. Gli intervalli di decisione della scansione sono configurati con gli overlay
config_wifiDisconnectedScanIntervalScheduleSec
,
config_wifiConnectedScanIntervalScheduleSec
e
config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec
(che sono array di numeri interi). Per impostazione predefinita, le scansioni vengono eseguite utilizzando
intervalli di backoff esponenziale di 20, 40, 80 e 160 secondi, con scansioni
successive eseguite a intervalli di 160 secondi (questi sono i valori predefiniti di queste sovrapposizioni).
Gli intervalli di scansione di backoff esponenziale vengono reimpostati e riavviati a 20 secondi ogni volta che lo stato dello schermo cambia, ovvero quando lo schermo viene attivato o disattivato.
(Android 13+) Se sono necessari intervalli di scansione diversi in fase di runtime, un'app con privilegi OEM può chiamare l'API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule)
per impostare dinamicamente la pianificazione della scansione con schermo acceso.
La decisione di eseguire o saltare una scansione si basa sul fatto che la connessione di rete attuale sia sufficientemente buona da saltare la scansione. Una connessione è sufficiente per saltare la scansione se è soddisfatto uno dei seguenti requisiti:
- Il dispositivo è connesso a una connessione di registrazione online (OSU).
- Il traffico sufficiente scorre attraverso la connessione (vedi le soglie di traffico di seguito).
- L'RSSI è superiore alla soglia RSSI richiesta (vedi le soglie RSSI di seguito),
e la selezione della rete è stata eseguita di recente (10 minuti per impostazione predefinita, ma
può essere configurata utilizzando l'overlay
config_wifiConnectedHighRssiScanMinimumWindowSizeSec
), e la rete è convalidata (connessa a internet) o approvata dall'utente per l'utilizzo senza accesso a internet.
Le soglie RSSI e di traffico sono:
- L'RSSI è superiore a -73 dBm per la banda a 2,4 GHz, configurata con l'overlay
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
, o -70 dBm per le bande a 5 GHz e 6 GHz, configurate con gli overlayconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHz
econfig_wifiFrameworkScoreLowRssiThreshold6ghz
. - Il traffico (trasmissione o ricezione) è superiore a 16 pacchetti al secondo (pps) configurati con l'overlay
config_wifiFrameworkMinPacketPerSecondActiveTraffic
.
Quando il dispositivo è connesso e lo schermo è acceso. Un segnapunti connesso monitora periodicamente la qualità del Wi-Fi esaminando segnali come RSSI e il numero di pacchetti trasferiti. Se la qualità del Wi-Fi viene considerata scarsa
(come specificato di seguito) e il dispositivo supporta due stazioni simultanee, viene
attivata una scansione. La sovrapposizione
config_wifiLowConnectedScoreThresholdToTriggerScanForMbb
può essere
utilizzata per configurare la soglia del punteggio che attiva la scansione. La sovrapposizione
config_wifiLowConnectedScoreScanPeriodSeconds
può essere utilizzata per
configurare il periodo di queste scansioni.
Schermo spento e connessione Wi-Fi attiva
Quando lo schermo è spento e il dispositivo è connesso a una rete Wi-Fi, il firmware (Wi-Fi SoC) esegue scansioni di roaming. Il framework non esegue scansioni quando lo schermo è spento.
Schermo spento e non connesso al Wi-Fi (stato di disconnessione)
Quando lo schermo è spento e il Wi-Fi è disconnesso, il firmware esegue scansioni PNO per gli SSID. Il framework configura il firmware con un elenco di SSID da scansionare e un elenco di canali su cui eseguire la scansione. Se viene trovato un SSID configurato, il firmware attiva il framework.
Il framework configura anche l'intervallo in cui il firmware deve eseguire
le scansioni PNO, utilizzando lo stato di mobilità del dispositivo per selezionare intervalli di scansione diversi.
In uno stato di bassa mobilità (il dispositivo è fermo), l'intervallo è di 60 secondi
per le prime tre scansioni (controllate dalla
sovrapposizione config_wifiStationaryPnoScanIntervalMillis
) e di 180 secondi (un moltiplicatore
fisso di 3x della sovrapposizione) per le scansioni successive. In uno stato di elevata mobilità, l'intervallo è di 20 secondi per le prime tre scansioni (controllate dall'overlay config_wifiMovingPnoScanIntervalMillis
) e di 60 secondi (un moltiplicatore fisso di 3x dell'overlay) per le scansioni successive.
Nominatori di rete
I responsabili della rete trovano o creano configurazioni
(WifiConfiguration
)
per le reti che:
- Disponibile (in base ai risultati della scansione) o la rete connessa (che a volte manca nei risultati della scansione instabile).
- Avere un RSSI minimo. L'RSSI minimo è -80 dBm per la banda a 2,4 GHz
e -77 dBm per le bande a 5 GHz e 6 GHz,
configurabile utilizzando i
overlay
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
econfig_wifiFrameworkScoreEntryRssiThreshold6ghz
. - Non bloccato, ad esempio a causa di errori di connessione precedenti.
- La rete non indica che non è utilizzabile (ad esempio, utilizzando MBO/OCE).
- Può essere associato all'utilizzo delle credenziali disponibili sul dispositivo.
Vengono utilizzati i seguenti nominatori di rete:
- Nominator di rete salvata:valuta tutte le reti salvate (inclusi gli abbonamenti Passpoint salvati).
- Proponente di rete suggerita:valuta tutte le reti fornite dalle app utilizzando l'API Suggestion (incluse le iscrizioni Passpoint suggerite).
Punteggi dei candidati
I valutatori dei candidati valutano e forniscono un punteggio per ciascun candidato. Il punteggio per ThroughputScorer
(il sistema di punteggio predefinito) si basa su quanto segue:
- Un punteggio di base viene calcolato in base all'RSSI, che è limitato a -73 dBm
per la banda a 2,4 GHz o a -70 dBm per le bande a 5 GHz e
6 GHz (configurate con gli overlay
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
econfig_wifiFrameworkScoreLowRssiThreshold6ghz
). - Un aumento del punteggio viene calcolato in base a una stima della velocità effettiva derivata da
tecnologia, frequenza del canale, larghezza di banda, RSSI, condizioni del canale, numero massimo di stream spaziali e altri parametri. L'incremento del punteggio
è configurabile utilizzando le overlay
config_wifiFrameworkThroughputBonusNumerator
econfig_wifiFrameworkThroughputBonusDenominator
ed è limitato a un valore massimo specificato utilizzando l'overlayconfig_wifiFrameworkThroughputBonusLimit
. - Una rete candidata selezionata di recente dall'utente o da un'app
riceve un aumento significativo del punteggio per una durata configurabile utilizzando l'overlay
config_wifiFrameworkLastSelectionMinutes
(per questa durata, la rete viene selezionata sicuramente rispetto alle reti non selezionate dall'utente). - Un candidato che corrisponde alla rete attuale riceve un aumento del punteggio configurato
dai overlay
config_wifiFrameworkCurrentNetworkBonusMin
econfig_wifiFrameworkCurrentNetworkBonusPercent
(riceve un bonus aggiuntivo in base a una percentuale del suo punteggio basato su RSSI e throughput, fino al minimo configurabile). - A una rete sicura viene assegnato un punteggio più alto rispetto a una rete aperta. Il bonus viene
configurato utilizzando l'overlay
config_wifiFrameworkSecureNetworkBonus
. - Una rete non a consumo (senza costi) ha un punteggio superiore a una rete a consumo (a pagamento).
Il bonus viene configurato utilizzando l'overlay
config_wifiFrameworkUnmeteredNetworkBonus
. - Una rete salvata ha un punteggio più alto rispetto a una rete suggerita tramite l'API Suggestion. Il bonus viene configurato utilizzando l'overlay
config_wifiFrameworkSavedNetworkBonus
. - Le reti non attendibili (che possono essere richieste nell'ambito dell'API Suggestion) hanno un punteggio inferiore a qualsiasi altra rete.
- Una rete che in precedenza è stata rilevata senza internet riceve un punteggio di 0 se il dispositivo è attualmente connesso a un'altra rete con accesso a internet.
Il bonus predefinito per i suggerimenti salvati rispetto a quelli non salvati e per i contenuti senza limiti rispetto a quelli con limiti (ovvero i valori di overlay predefiniti) produce un ordine di priorità rigoroso per i contenuti salvati, suggeriti, con limiti e senza limiti:
- Reti non a consumo salvate
- Reti non a consumo suggerite
- Reti a consumo salvate
- Reti a consumo suggerite
Ciò significa che una rete salvata senza limiti (senza costi) viene sempre selezionata prima di una rete salvata a consumo (a pagamento). Il bonus di punteggio selezionato di recente (dall'utente o dall'app) potrebbe ignorare questa priorità rigorosa.
Il framework può avere installati diversi sistemi di valutazione dei candidati, ma solo uno può essere attivo alla volta. Gli altri marcatori possono essere utilizzati per le metriche (per
esaminare algoritmi alternativi). In Android 11,
il sistema di valutazione predefinito è
ThroughputScorer
.
Blocco di SSID e BSSID
Il framework potrebbe bloccare SSID o BSSID, ovvero non prenderli in considerazione per le connessioni temporaneamente o definitivamente.
Blocco BSSID
Il blocco BSSID funziona mantenendo due contatori di errori, un contatore di errori continui e un contatore di errori consecutivi, per tipo di errore specifico (vedi di seguito un elenco dei tipi di errore). Quando si verifica un errore:
- Il contatore per il tipo di errore corrispondente viene incrementato.
- Se viene raggiunta la soglia di errore per quel tipo di errore:
- Il BSSID è bloccato.
- Il contatore di tentativi non riusciti viene incrementato.
La durata del blocco di un BSSID inizia con un valore di base (configurabile)
(specificato dalle overlay config_wifiBssidBlocklistMonitorBaseBlockDurationMs
o
config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs
, a seconda dell'RSSI) e aumenta in modo esponenziale fino a un limite superiore configurabile (specificato dall'overlay config_wifiBssidBlocklistMonitorFailureStreakCap
). La durata aumenta se gli errori si verificano continuamente sullo stesso
BSSID. La durata è la durata di base aumentata in modo esponenziale in base alla
sequenza di errori, ovvero una sequenza di errori di 2 implica una durata del blocco di base quadrupla.
Le soglie per il blocco del BSSID dipendono dal motivo dell'errore e sono tutte personalizzabili utilizzando gli overlay:
- L'AP rifiuta l'associazione utilizzando il codice MBO/OCE Unable to handle new STA:
config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
. - La convalida di internet tramite questa rete non è riuscita:
config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
. - Codice di errore di autenticazione con password errata:
config_wifiBssidBlocklistMonitorWrongPasswordThreshold
. - Codice di errore di autenticazione EAP per le reti EAP:
config_wifiBssidBlocklistMonitorEapFailureThreshold
. - Rifiuto dell'associazione, altri rifiuti generali dell'associazione:
config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
. - Timeout associazione:
config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
. - Errore di autenticazione, altri errori di autenticazione generali:
config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
. - Errore DHCP, provisioning DHCP non riuscito:
config_wifiBssidBlocklistMonitorDhcpFailureThreshold
. - Disconnessione anomala, il dispositivo si è disconnesso dalla rete in un
periodo di tempo molto breve dopo la connessione:
config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold
. La finestra temporale è configurabile conconfig_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs
.
Condizioni di cancellazione della lista bloccata BSSID
Un BSSID viene rimosso dalla lista bloccata quando:
- Il Wi-Fi è attivato: tutti i BSSID vengono rimossi dalla lista bloccata.
- L'utente tocca una rete nel selettore Wi-Fi: tutti i BSSID della rete selezionata dall'utente vengono rimossi dalla lista bloccata.
- Timeout: i BSSID vengono rimossi dalla lista bloccata al raggiungimento della durata del blocco.
- Riavvio: tutte le liste bloccate vengono cancellate.
- Rete rimossa: tutti i BSSID associati a questa rete vengono rimossi dalla blocklist.
Condizioni di ripristino dei contatori di errori e streak:
- Riavvio: reimposta per tutti i BSSID.
- Rete rimossa: ripristina gli SSID associati alla rete.
L2 connection success: Reset for the following error codes.
REASON_AP_UNABLE_TO_HANDLE_NEW_STA
REASON_WRONG_PASSWORD
REASON_EAP_FAILURE
REASON_ASSOCIATION_REJECTION
REASON_ASSOCIATION_TIMEOUT
REASON_AUTHENTICATION_FAILURE
REASON_ABNORMAL_DISCONNECT
(cancellato in modo condizionale solo se l'ultima volta che il dispositivo si è connesso a questo BSSID è stata più di 3 ore fa)REASON_NONLOCAL_DISCONNECT_CONNECTING
Convalida della rete riuscita: ripristini per il seguente codice di errore.
REASON_NETWORK_VALIDATION_FAILURE
Provisioning DHCP riuscito: ripristini per il seguente codice di errore.
REASON_DHCP_FAILURE
Blocco SSID
Il blocco SSID funziona in modo simile al blocco BSSID. Un contatore degli errori per tipo di errore per rete viene incrementato quando si verificano errori di connessione (di quel tipo).
Quando il conteggio degli errori di un determinato tipo supera una soglia, l'SSID viene
bloccato in modo permanente o temporaneo in base a una configurazione. La configurazione
per ogni tipo di errore è codificata in
WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS
ed è
riassunta di seguito.
* Per le reti disattivate temporaneamente, la durata della disattivazione cambia in modo dinamico in base al numero di errori di connessione consecutivi riscontrati sulla rete. Dopo che una rete non riesce a connettersi per cinque volte consecutive, ogni errore successivo comporta una durata di disattivazione doppia rispetto alla durata precedente. Ad esempio, una rete con cinque errori consecutivi viene disattivata per 5 minuti, poi per 10 minuti al sesto errore, per 20 minuti al settimo errore e così via fino al limite massimo di 18 ore. |
||||
Codice di errore | Descrizione | Soglia | Durata disattivazione base* | Disabilita tipo |
---|---|---|---|---|
DISABLED_DHCP_FAILURE |
Impossibile eseguire il provisioning del DHCP | 5 | 5 minuti | Temporaneo |
DISABLED_NO_INTERNET_TEMPORARY |
La convalida della rete non è riuscita, ma l'utente dichiara di voler continuare a connettersi a questa rete in futuro | 1 | 10 minuti | Temporaneo |
DISABLED_AUTHENTICATION_NO_CREDENTIALS |
Il supplicante non dispone delle credenziali per connettersi alla rete | 1 | NA | Permanente |
DISABLED_NO_INTERNET_PERMANENT |
Valore predefinito per l'errore di convalida della rete | 1 | NA | Permanente |
DISABLED_BY_WIFI_MANAGER |
Obsoleto e inutilizzato | 1 | NA | Permanente |
DISABLED_BY_WRONG_PASSWORD |
La password non è corretta e la connessione a questa rete non è mai riuscita | 1 | NA | Permanente |
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION |
Errore EAP in cui la scheda SIM non è sottoscritta | 1 | NA | Permanente |
DISABLED_ASSOCIATION_REJECTION |
Errori di rifiuto dell'associazione | 5 | 5 minuti | Temporaneo |
DISABLED_AUTHENTICATION_FAILURE |
Altri errori di autenticazione (ovvero non una password errata o un errore EAP) | 5 | 5 minuti | Temporaneo |
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR |
Errore EAP specifico del fornitore (privato). | 1 | NA | Permanente |
DISABLED_NETWORK_NOT_FOUND |
Il supplicante non è riuscito a trovare una rete nei risultati della scansione che corrisponda alla rete richiesta dal framework per la connessione (incluse le funzionalità di rete). | 2 | 5 minuti | Temporaneo |
DISABLED_CONSECUTIVE_FAILURES |
La rete non è riuscita a connettersi per cinque o più volte consecutive. Il tipo
di guasto per questi guasti include, a titolo esemplificativo, i tipi di guasto
elencati in questa tabella. |
5 | 5 minuti | Temporaneo |
Una rete disattivata temporaneamente viene riattivata quando:
- Il periodo di disattivazione è trascorso.
- L'utente seleziona manualmente la rete a cui connettersi.
- L'utente attiva/disattiva il Wi-Fi.
- Il sistema viene riavviato.
- La rete è stata disattivata con un RSSI molto basso, ma in seguito viene rilevata di nuovo con un RSSI moderato o superiore.
Una rete disattivata definitivamente viene riattivata quando:
- L'utente seleziona manualmente la rete a cui connettersi.
I contatori degli errori per una rete vengono reimpostati quando:
- La rete viene rimossa.
- Il dispositivo è stato connesso alla rete.
- La rete è stata riattivata dopo la scadenza del periodo di disattivazione.
- L'utente seleziona manualmente la rete a cui connettersi.
- Il sistema viene riavviato.
Schede punteggi
Le schede di punteggio, introdotte in Android 10, registrano statistiche
sul dispositivo relative ai BSSID. Le schede dei punteggi vengono mantenute utilizzando il servizio
IpMemoryStore
.
Le schede di punteggio non vengono utilizzate nella selezione della rete di Android 11.
Scelta di connessione dell'utente
Android ha un algoritmo di scelta della connessione utente che consente al processo di selezione di dare la preferenza alle reti Wi-Fi a cui un utente si è connesso esplicitamente, ad esempio una rete domestica. Gli utenti potrebbero preferire queste reti a quelle pubbliche anche quando le prestazioni sono inferiori a quelle di una rete pubblica perché forniscono servizi aggiuntivi come la possibilità di controllare i dispositivi per la casa.
La preferenza dell'utente per una rete viene acquisita contrassegnando tutte le configurazioni Wi-Fi visibili e le relative intensità del segnale nel momento in cui l'utente seleziona una rete. Se una delle configurazioni Wi-Fi contrassegnate viene selezionata durante la procedura di selezione automatica ed è disponibile una rete selezionata dall'utente, l'algoritmo di scelta della connessione dell'utente esegue l'override della selezione con la rete selezionata dall'utente se sono soddisfatte le seguenti condizioni:
- L'ultima volta che è stata utilizzata, la rete di scelta della connessione dell'utente aveva accesso a internet
- La scelta di connessione dell'utente ha un'intensità del segnale non peggiore di quella
originariamente selezionata con un margine di errore. Questo margine di errore può essere
configurato utilizzando l'overlay
config_wifiEstimateRssiErrorMarginDb
.
La rete scelta dall'utente rimane memorizzata dopo il riavvio. La scelta di connessione dell'utente funziona per le reti salvate, le reti Passpoint e le reti suggerite.
Due stazioni simultanee
Questa sezione descrive la selezione della rete Wi-Fi quando un dispositivo supporta la connessione a due reti Wi-Fi contemporaneamente.
Make-before-break
Se la funzione make-before-break è abilitata, il dispositivo tenta di connettersi alla nuova rete prima di disconnettersi da quella precedente. Il flusso make-before-break utilizza lo stesso algoritmo di selezione della rete dello switch di rete break-before-make (ovvero quando il dispositivo si disconnette dalla vecchia rete prima di connettersi a quella nuova). Se l'algoritmo di selezione della rete sceglie una rete che non può essere commutata utilizzando make-before-break, il dispositivo torna automaticamente a break-before-make.
Connessione a internet e con limitazioni simultanee
Se la funzione Connessione simultanea limitata e a internet è attiva, il dispositivo può connettersi a una rete Wi-Fi secondaria limitata disponibile solo per le app selezionate configurate dal produttore del dispositivo. Le istruzioni per i produttori di dispositivi per configurare questa impostazione sono disponibili in Connessione simultanea limitata e a internet.
Quando l'algoritmo di selezione della rete rileva risultati di scansione corrispondenti al suggerimento privato o a pagamento dell'OEM, si connette automaticamente a quest'ultimo come seconda rete. La selezione della rete per la rete Wi-Fi principale (che fornisce la connessione a internet alle app normali) avviene normalmente in parallelo.
Domande frequenti
Le reti sicure hanno sempre la priorità rispetto a quelle aperte?
No. Le categorie principali in cui vengono valutate le reti sono salvate rispetto a suggerite e a consumo rispetto a non a consumo. All'interno di ogni categoria, le reti sicure hanno una certa priorità rispetto alle reti aperte, ma viene data una ponderazione molto maggiore alla qualità della connessione.
Il motivo è che la sicurezza effettiva dei dati utente è fornita dalla crittografia end-to-end (ad esempio TLS). Le reti sicure criptano solo la prima parte della comunicazione e, anche in questo caso, per le reti con chiavi precondivise, non garantiscono molta privacy.
Perché le reti salvate hanno la priorità rispetto a quelle suggerite?
Le reti senza costi (senza consumo) salvate hanno la priorità rispetto alle reti senza costi suggerite e le reti a consumo salvate hanno la priorità rispetto alle reti a consumo suggerite.
Le reti salvate hanno la priorità rispetto a quelle suggerite perché sono state aggiunte esplicitamente dall'utente al dispositivo. Ciò implica una preferenza per la connessione a queste reti, se possibile.
Tieni presente che gli utenti possono disattivare il comportamento di connessione automatica per le singole reti salvate, ovvero indicare che queste reti devono essere utilizzate solo manualmente e non devono essere prese in considerazione automaticamente dal dispositivo.
Posso modificare l'ordine di priorità rigoroso o rimuoverlo completamente?
Il produttore del dispositivo può modificare le decisioni di selezione della rete modificando le sovrapposizioni bonus elencate nelle sezioni precedenti. Tuttavia, non è consigliabile modificare i valori predefiniti in quanto sono stati scelti dopo un'attenta valutazione di più casi d'uso.