Selezione della rete Wi-Fi

Questa pagina illustra gli algoritmi e le procedure utilizzati in Android 12 per selezionare e passare da una rete Wi-Fi all'altra. Android valuta continuamente la qualità della rete collegata e delle reti disponibili.

Durata di una connessione automatica

Questa pagina descrive la procedura di valutazione e connessione a reti Wi-Fi disponibili da parte di un dispositivo Android.

  1. Il dispositivo cerca le reti disponibili in uno dei seguenti modi, a seconda che lo schermo sia acceso o spento.

    • Schermo attivo (connesso): il sottosistema di connettività di Android valuta regolarmente se la connessione attuale è sufficiente per saltare la scansione (come definito nelle scansioni con lo schermo attivo). Se la connessione non è sufficientemente buona per saltare la scansione, il sottosistema di connettività attiva una scansione per rilevare le reti disponibili. Queste ricerche possono essere attivate anche da altri componenti di sistema, come il sistema di geolocalizzazione o un'app (inclusa l'app Impostazioni).
    • Schermo acceso (disconnesso): il sottosistema di connettività di Android esegue scansioni periodiche seguendo una pianificazione di backoff esponenziale. Il modulo valuta tutti i risultati della scansione ricevuti e tenta di selezionare la migliore rete 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 rileva una delle reti preferite. AOSP presuppone che la PNO sia supportata sul dispositivo.

    Il metodo WifiManager#allowAutojoinGlobal(boolean) può essere utilizzato per disattivare le connessioni automatiche. Si tratta di un'API privilegiata che può essere utilizzata dai produttori di dispositivi in circostanze limitate (ad esempio un dispositivo preconfigurato non mobile).

    Se il dispositivo è connesso e il riquadro config_wifi_framework_enable_associated_network_selection è impostato su false, non vengono eseguite scansioni di 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 ricerche di connettività e la selezione della rete continuano a verificarsi.

  2. I risultati della scansione vengono valutati.

    • Se il dispositivo è connesso a una rete Wi-Fi, il framework valuta se la rete attuale è sufficientemente buona da saltare la selezione della rete.

      Una rete è definita sufficientemente buona da saltare la selezione della rete se è soddisfatto uno dei seguenti requisiti:

      • Sono trascorsi meno di 10 secondi dall'ultima selezione della rete.
      • L'utente si è connesso manualmente alla rete di recente (dove di recente è configurabile utilizzando l'overlay config_wifiSufficientDurationAfterUserSelectionMilliseconds).
      • Il dispositivo è connesso a una registrazione online (OSU).
      • Sono soddisfatti tutti i seguenti requisiti:

        • L'RSSI è superiore alla soglia RSSI richiesta o è in corso un traffico sufficiente sulla connessione (consulta le scansioni con lo schermo attivo per le soglie di RSSI e traffico).
        • La rete è convalidata (connessa a internet) o è approvata dall'utente per l'utilizzo senza accesso a internet.
        • La rete non è misurata.
    • Se la rete è sufficientemente buona da saltare la selezione della rete, non viene intrapresa alcuna ulteriore azione.

    • Se la rete Wi-Fi connessa non è sufficientemente buona o se il dispositivo non è connesso a una rete, il framework chiama i nominati della rete per generare un elenco di reti Wi-Fi candidate a cui connettersi in base ai risultati della ricerca filtrata. I nominatori delle reti trovano configurazioni Wi-Fi esistenti o creano nuove configurazioni per le reti candidate.

    • I risultati della ricerca vengono filtrati per rimuovere i BSSID con un RSSI inferiore all'RSSI di entrata (configurabile utilizzando gli overlay config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz e config_wifiFrameworkScoreEntryRssiThreshold6ghz). Inoltre, i BSSID bloccati vengono filtrati. I BSSID possono essere bloccati in base a ripetuti errori di connessione, disconnessioni frequenti e richieste esplicite dell'AP di non tentare l'associazione per un determinato periodo di tempo (MBO-OCE). Il blocco BSSID è descritto di seguito in Bloccare SSID e BSSID.

    • Quando il dispositivo si muove rapidamente, i risultati della ricerca possono essere filtrati ulteriormente per rimuovere i BSSID il cui RSSI varia rapidamente (un'indicazione che non si muovono con il dispositivo). Questa ottimizzazione è configurabile utilizzando config_wifiHighMovementNetworkSelectionOptimizationEnabled (per attivare/disattivare l'ottimizzazione) e gli overlay config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs e config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, che configurano il requisito di stabilità nei risultati della scansione (variazione dell'RSSI nei risultati della scansione sufficientemente separati nel tempo).

  3. Il framework esegue il punteggio dei candidati per generare un punteggio per ogni candidato Service Set Identifier (SSID). Gli SSID candidati possono includere più identificatori di set di servizi di base (BSSID) candidati (generati dai nominatori di rete). Il candidato con il punteggio più alto è il candidato vincente.

  4. Il framework esegue l'algoritmo di scelta di connessione dell'utente, che potrebbe rendere una rete selezionata dall'utente il nuovo candidato migliore anziché utilizzare il candidato migliore del punteggio del candidato.

  5. Il framework determina se il candidato migliore corrisponde alla rete attualmente collegata. Affinché una corrispondenza venga considerata tale, deve essere soddisfatta una delle seguenti condizioni:

    • Il candidato migliore e la rete Wi-Fi collegata hanno lo stesso BSSID.
    • Se il roaming del firmware è disponibile (inclusa la funzionalità di lista nera BSSID), il candidato migliore e la rete collegata hanno lo stesso SSID e lo stesso tipo di sicurezza.

    Se il candidato migliore corrisponde alla rete attualmente connessa, non viene intrapresa alcuna ulteriore azione. Se il candidato migliore non corrisponde alla rete, il dispositivo viene associato al candidato migliore.

Tieni presente che la connessione di rete automatica viene disattivata quando un'app utilizza l'API Wi-Fi Network Request, che sostituisce il 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 collegata quando lo schermo è acceso o spento.

Questa valutazione viene eseguita oltre alla selezione della rete discussa sopra.

Schermo acceso

Il framework Android valuta la rete connessa nel seguente modo:

  1. 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 l'aggiustamento dell'intervallo dinamico è abilitato utilizzando l'overlayconfig_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 overlay config_wifiClientRssiMonitorThresholdDbm e config_wifiClientRssiMonitorHysteresisDb).
    • L'intervallo di polling viene ridotto nuovamente a 3 secondi (configurato dall'overlay config_wifiPollRssiIntervalMilliseconds) quando il dispositivo non è stazionario o l'RSSI è inferiore a -73 dBm (configurato dall'overlay config_wifiClientRssiMonitorThresholdDbm).
  2. Il servizio Wi-Fi calcola un punteggio di connessione in base alle statistiche RSSI e del livello di collegamento.

  3. 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 la procedura di selezione della rete potrebbe comunque verificarsi se le scansioni vengono avviate da altri componenti (ad esempio i servizi di geolocalizzazione). Il firmware valuta la qualità della rete e, se la qualità della rete è scarsa, il firmware potrebbe eseguire il roaming o (eventualmente) disattarsi dalla rete e riattivare l'host.

Scansioni di connettività

Le ricerche vengono eseguite automaticamente a seconda che lo schermo del dispositivo sia acceso, spento e connesso al Wi-Fi o spento e non connesso al Wi-Fi.

Schermo acceso

Il framework attiva le decisioni di scansione a intervalli crescenti quando lo schermo è attivo. Gli intervalli di decisione della scansione vengono configurati con gli overlay config_wifiDisconnectedScanIntervalScheduleSec, config_wifiConnectedScanIntervalScheduleSec e config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (che sono array di interi). Per impostazione predefinita, le ricerche vengono eseguite utilizzando intervalli di backoff esponenziali di 20, 40, 80 e 160 secondi, con eventuali ricerche successive eseguite a intervalli di 160 secondi (questi sono i valori predefiniti di questi overlay).

Gli intervalli di scansione con riduzione esponenziale vengono reimpostati e riavviati ogni 20 secondi ogni volta che cambia lo stato dello schermo, ovvero quando lo schermo viene attivato o disattivato.

(Android 13 e versioni successive) Se sono necessari intervalli di scansione diversi in fase di esecuzione, un'app con privilegi OEM può chiamare l'API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) per impostare dinamicamente la pianificazione della scansione con lo schermo attivo.

La decisione di eseguire o saltare una ricerca si basa sul fatto che la connessione di rete corrente sia sufficientemente buona per saltare la ricerca. Una connessione è sufficientemente buona per saltare la scansione se è soddisfatto uno dei seguenti requisiti:

  • Il dispositivo è connesso a una registrazione online (OSU).
  • La connessione deve supportare un volume di traffico sufficiente (vedi le soglie di traffico riportate di seguito).
  • Il valore RSSI è superiore alla soglia richiesta (vedi le soglie RSSI di seguito), e la selezione della rete è stata eseguita di recente (10 minuti per impostazione predefinita, ma puoi essere configurato utilizzando il sovrapposizioneconfig_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 a -70 dBm per le bande a 5 GHz e 6 GHz, configurate con gli overlay config_wifi_framework_wifi_score_low_rssi_threshold_5GHz e config_wifiFrameworkScoreLowRssiThreshold6ghz.
  • Il traffico (trasmissione o ricezione) è superiore a 16 pacchetti al secondo (pps) configurato con l'overlay config_wifiFrameworkMinPacketPerSecondActiveTraffic.

Quando il dispositivo è connesso e lo schermo è acceso. Un punteggio collegato monitora periodicamente la qualità del Wi-Fi esaminando indicatori come l'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, verrà attivata una ricerca. L'overlay config_wifiLowConnectedScoreThresholdToTriggerScanForMbb può essere utilizzato per configurare la soglia di punteggio che attiva la scansione. L'overlay config_wifiLowConnectedScoreScanPeriodSeconds può essere utilizzato per configurare il periodo di queste scansioni.

Schermo spento e connesso al Wi-Fi

Quando lo schermo è spento e il dispositivo è connesso a una rete Wi-Fi, il firmware (SoC Wi-Fi) esegue ricerche in roaming. Il framework non esegue ricerche quando lo schermo è spento.

Schermo spento e non connesso al Wi-Fi (stato disconnesso)

Quando lo schermo è spento e il Wi-Fi è disconnesso, il firmware esegue ricerche di SSID con PNO. Il framework configura il firmware con un elenco di SSID da cercare e un elenco di canali su cui eseguire la ricerca. Se viene rilevato un SSID configurato, il firmware riattiva il framework.

Il framework configura anche l'intervallo in cui il firmware deve eseguire le ricerche PNO, utilizzando lo stato di mobilità del dispositivo per selezionare intervalli di ricerca diversi. In uno stato di bassa mobilità (il dispositivo è fermo), l'intervallo è di 60 secondi per le prime tre scansioni (controllate dall'overlay config_wifiStationaryPnoScanIntervalMillis) e di 180 secondi (un moltiplicatore fisso di 3 volte dell'overlay) per le scansioni successive. In uno stato di alta mobilità, l'intervallo è di 20 secondi per le prime tre scansioni (controllate dall'overlay config_wifiMovingPnoScanIntervalMillis) e di 60 (un moltiplicatore fisso di 3 volte l'overlay) per le scansioni successive.

Nominatori della rete

I nominatori di reti trovano o creano configurazioni (WifiConfiguration) per reti che sono:

  • Disponibile (in base ai risultati della scansione) o la rete connessa (che a volte non è presente nei risultati della scansione inaffidabile).
  • 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 gli overlay config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz e config_wifiFrameworkScoreEntryRssiThreshold6ghz.
  • Non bloccata, 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:

  • Nominatore delle reti salvate:valuta tutte le reti salvate (inclusi gli abbonamenti Passpoint salvati).
  • Nominatore della rete suggerita:valuta tutte le reti fornite dalle app utilizzando l'API Suggestion (inclusi gli abbonamenti Passpoint suggeriti).

Punteggiatori dei candidati

I valutatori dei candidati valutano e assegnano un punteggio a ciascun candidato. Il punteggio per ThroughputScorer (lo scorer predefinito) si basa su quanto segue:

  • Viene calcolato un punteggio di base in base al valore RSSI, che ha un limite di -73 dBm per la banda a 2,4 GHz o -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 e config_wifiFrameworkScoreLowRssiThreshold6ghz).
  • Un aumento del punteggio viene calcolato in base a una stima del throughput derivata dalla tecnologia, dalla frequenza del canale, dalla larghezza di banda, dall'RSSI, dalle condizioni del canale, dal numero massimo di stream spaziali e da altri parametri. Il miglioramento del punteggio è configurabile utilizzando gli overlay config_wifiFrameworkThroughputBonusNumerator e config_wifiFrameworkThroughputBonusDenominator ed è limitato a un valore massimo specificato utilizzando l'overlay config_wifiFrameworkThroughputBonusLimit.
  • Una rete candidata selezionata di recente dall'utente o da un'app beneficia di un notevole aumento del punteggio per una durata configurabile utilizzando l'overlay config_wifiFrameworkLastSelectionMinutes (per la durata in questione, la rete viene selezionata in modo da avere la precedenza sulle reti non selezionate dall'utente).
  • Un candidato che corrisponde alla rete attuale riceve un aumento del punteggio configurato dagli overlay config_wifiFrameworkCurrentNetworkBonusMin e config_wifiFrameworkCurrentNetworkBonusPercent (riceve un bonus extra in base a una percentuale del suo RSSI e del suo punteggio in base al throughput, fino al minimo configurabile).
  • Una rete sicura riceve un punteggio più alto di una rete aperta. Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkSecureNetworkBonus.
  • Una rete non a consumo (senza costi) riceve un punteggio più alto di una rete a consumo (a pagamento). Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkUnmeteredNetworkBonus.
  • Una rete salvata ha un punteggio più alto di una rete suggerita utilizzando l'API Recommendation. Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkSavedNetworkBonus.
  • Le reti non attendibili (che possono essere richieste nell'ambito dell'API Suggestion) vengono valutate in modo inferiore rispetto a qualsiasi altra rete.
  • Una rete per cui in precedenza è stato rilevato che non ha accesso a internet riceve un punteggio pari a 0 se il dispositivo è attualmente connesso a un'altra rete con accesso a internet.

Il bonus predefinito per gli annunci salvati rispetto ai suggerimenti e per quelli non misurati rispetto a quelli misurati (ovvero i valori di overlay predefiniti) produce un ordine di priorità rigoroso per gli annunci salvati, suggeriti, misurati e non misurati:

  1. Reti non a consumo salvate
  2. Reti non a consumo suggerite
  3. Reti con limitazioni di consumo salvate
  4. Reti a consumo consigliate

Ciò significa che una rete non conteggiata (senza costi) salvata viene sempre selezionata prima di una rete conteggiata (a pagamento) salvata. Il bonus del punteggio selezionato di recente (da utente o app) può override questa priorità rigorosa.

Il framework può avere installati diversi valutatori candidati, ma solo uno può essere attivo alla volta. Gli altri assegnatori di punteggi possono essere utilizzati per le metriche (per esaminare algoritmi alternativi). In Android 11, il punteggio predefinito è ThroughputScorer.

Blocco di SSID e BSSID

Il framework potrebbe bloccare gli SSID o i BSSID, ovvero non tenerli conto 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 serie, per tipo di errore specifico (vedi di seguito per un elenco dei tipi di errori). 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:
    • L'BSSID è bloccato.
    • Il contatore della serie per l'errore viene incrementato.

La durata del blocco di un BSSID inizia da un valore di base (configurabile) (specificato dagli overlay config_wifiBssidBlocklistMonitorBaseBlockDurationMs o config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs, a seconda dell'RSSI) e aumenta esponenzialmente fino a un limite superiore configurabile (specificato dall'overlay config_wifiBssidBlocklistMonitorFailureStreakCap). La durata aumenta se si verificano continuamente errori sullo stesso BSSID. La durata è la durata di base aumentata esponenzialmente dalla serie di errori, ovvero una serie di errori di 2 implica una durata del blocco di base quadruplicata.

Le soglie per il blocco del BSSID dipendono dal motivo dell'errore e sono ciascuna personalizzabile utilizzando gli overlay:

  • L'AP rifiuta l'associazione utilizzando il codice Impossibile gestire la nuova STA MBO/OCE: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Convalida di internet tramite questa rete non riuscita: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Codice di errore di autenticazione della password errato: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • Codice di errore di autenticazione EAP per le reti EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • Rifiuto di associazione, altri rifiuti di associazione generali: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Timeout associazione: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Errore di autenticazione, altri errori di autenticazione generali: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • Errore DHCP, impossibile eseguire il provisioning di DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Disconnessione anomala, il dispositivo si è disconnesso dalla rete in un breve periodo di tempo dopo la connessione:config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. La finestra temporale è configurabile con config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs.

Condizioni di eliminazione 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 termine della durata del blocco.
  • Riavvio: tutte le liste bloccate vengono svuotate.
  • Rete rimossa: tutti i BSSID associati a questa rete vengono rimossi dalla lista bloccata.

Condizioni di reimpostazione dei contatori di errori e serie:

  • Riavvia: reimpostazione per tutti i BSSID.
  • Rete rimossa: reimposta i BSSID associati alla rete.
  • Connessione L2 riuscita: reimposta per i seguenti codici di errore.

    • 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 (selezionato in modo condizionale solo se l'ultima volta che il dispositivo si è connesso a questo BSSID è trascorsa più di 3 ore)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Convalida della rete riuscita: viene reimpostato per il seguente codice di errore.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Eseguire il provisioning DHCP riuscito: reimposta il seguente codice di errore.

    • REASON_DHCP_FAILURE

Blocco SSID

Il blocco dell'SSID funziona in modo simile al blocco del 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 definitivamente o temporaneamente 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 consecutivamente cinque volte, ogni errore successivo comporta una durata della 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 della disattivazione di base* Tipo di disattivazione
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 L'utente non dispone delle credenziali per connettersi alla rete 1 NA Definitiva
DISABLED_NO_INTERNET_PERMANENT Valore predefinito per l'errore di convalida della rete 1 NA Definitiva
DISABLED_BY_WIFI_MANAGER Obsoleti e inutilizzati 1 NA Definitiva
DISABLED_BY_WRONG_PASSWORD La password non è corretta e non è mai stata eseguita una connessione riuscita a questa rete 1 NA Definitiva
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Errore EAP quando la scheda SIM non è sottoscritta 1 NA Definitiva
DISABLED_ASSOCIATION_REJECTION Mancata associazione 5 5 minuti Temporaneo
DISABLED_AUTHENTICATION_FAILURE Altri errori di autenticazione (diversi da una password errata o da un errore EAP) 5 5 minuti Temporaneo
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Errore EAP (privato) specifico del provider. 1 NA Definitiva
DISABLED_NETWORK_NOT_FOUND Il supplicant non è riuscito a trovare una rete nei risultati della ricerca 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 errore per questi errori include, a titolo esemplificativo, i tipi di errore elencati in questa tabella.
5 5 minuti Temporaneo

Una rete temporaneamente disattivata viene riattivata quando:

  • La durata della disattivazione è trascorsa.
  • L'utente seleziona manualmente la rete a cui connettersi.
  • L'utente attiva e disattiva il Wi-Fi.
  • Il sistema viene riavviato.
  • La rete è stata disattivata a un RSSI molto basso, ma in seguito viene nuovamente rilevata a 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 si è connesso alla rete.
  • La rete è stata riattivata dopo il timeout della durata della disattivazione.
  • L'utente seleziona manualmente la rete a cui connettersi.
  • Il sistema viene riavviato.

Schede di valutazione

Le schede di valutazione, introdotte in Android 10, registrano statistiche sul dispositivo relative ai BSSID. Le schede di valutazione vengono mantenute utilizzando il servizio IpMemoryStore.

Le schede di valutazione non vengono utilizzate nella selezione della rete su Android 11.

Scelta di connessione dell'utente

Android ha un algoritmo di scelta della connessione dell'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 di casa. Gli utenti potrebbero preferire queste reti alle reti pubbliche anche se il rendimento è inferiore a quello di una rete pubblica perché forniscono servizi aggiuntivi come la possibilità di controllare i dispositivi di casa.

La preferenza dell'utente per una rete viene acquisita contrassegnando tutte le configurazioni Wi-Fi visibili e le relative intensità del segnale al momento in cui l'utente seleziona una rete. Se durante la procedura di selezione automatica viene selezionata una delle configurazioni Wi-Fi contrassegnate ed è disponibile una rete selezionata dall'utente, l'algoritmo di scelta della connessione dell'utente sostituisce la selezione con la rete selezionata dall'utente se sono soddisfatte le seguenti condizioni:

  • La rete scelta dall'utente per la connessione aveva accesso a internet l'ultima volta che è stata utilizzata
  • La scelta di connessione dell'utente ha un'intensità del segnale non peggiore di quella selezionata inizialmente con un margine di errore. Questo margine di errore può essere configurato utilizzando l'overlay config_wifiEstimateRssiErrorMarginDb.

La rete scelta dall'utente per la connessione persiste dopo un 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.

Fai prima dell'interruzione

Se la funzione make-before-break è attivata, il dispositivo tenta di connettersi alla nuova rete prima di disconnettersi dalla vecchia rete. Il flusso make-before-break utilizza lo stesso algoritmo di selezione della rete del passaggio di rete break-before-make (ovvero quando il dispositivo si disconnette dalla vecchia rete prima di connettersi alla nuova). Se l'algoritmo di selezione della rete sceglie una rete che non può essere commutata utilizzando la modalità Fai prima di rompere, il dispositivo passa automaticamente alla modalità Rompe prima di fare.

Connessione a internet e con limitazioni contemporaneamente

Se la funzione di connessione con limitazioni e a internet contemporaneamente è attiva, il dispositivo può connettersi a una rete Wi-Fi secondaria con limitazioni, disponibile solo per alcune app configurate dal produttore del dispositivo. Le istruzioni per la configurazione da parte dei produttori di dispositivi sono riportate in Connessione contemporaneamente limitata e a internet.

Quando l'algoritmo di selezione della rete rileva risultati di scansione corrispondenti al suggerimento pagato o privato dell'OEM, si connette automaticamente come seconda rete. La selezione della rete Wi-Fi principale (che fornisce la connessione a internet alle app normali) avviene normalmente in parallelo.

Domande frequenti

  1. Le reti sicure hanno sempre la priorità sulle reti aperte?

    No. Salvati e suggeriti e a consumo e non a consumo sono le categorie principali in cui vengono valutate le reti. All'interno di ogni categoria, le reti sicure hanno una certa priorità rispetto alle reti aperte, ma viene data molta più importanza 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 predefinite, non offrono molta privacy.

  2. Perché le reti salvate hanno la priorità sulle reti suggerite?

    Le reti senza costi (senza limiti di consumo) salvate hanno la priorità sulle reti senza costi suggerite e le reti a consumo salvate hanno la priorità sulle reti a consumo suggerite.

    Le reti salvate hanno la priorità rispetto alle reti suggerite perché sono quelle aggiunte dall'utente al dispositivo in modo esplicito. 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 considerate automaticamente dal dispositivo.

  3. Posso modificare l'ordine di priorità rigoroso o rimuoverlo completamente?

    Il produttore del dispositivo può modificare le decisioni di selezione della rete modificando gli overlay bonus elencati nelle sezioni precedenti. Tuttavia, non è consigliabile modificare i valori predefiniti, in quanto sono stati scelti dopo un'attenta considerazione di più casi d'uso.