Selezione della rete Wi-Fi Android

Questa pagina descrive gli algoritmi e le procedure utilizzate in Android 12 per selezionare e passare 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 il processo con cui un dispositivo Android valuta e si connette alle reti Wi-Fi disponibili.

  1. Il dispositivo ricerca le 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 corrente è sufficientemente buona per saltare la scansione (come definito nelle scansioni schermo attivo ). Se la connessione non è sufficientemente buona per ignorare la scansione, il sottosistema di connettività attiva una scansione per rilevare le reti disponibili. Queste scansioni possono essere attivate anche da altri componenti del 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 migliore rete a cui connettersi.
    • Schermo spento (disconnesso): la CPU host programma il firmware con un elenco di reti preferite utilizzando le scansioni PNO (Preferred Network Offload) 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 disabilitare le connessioni automatiche. Si tratta di un'API privilegiata che può essere utilizzata dai produttori di dispositivi in ​​circostanze limitate (ad esempio, un dispositivo non mobile e preconfigurato).

    Se il dispositivo è connesso e l'overlay config_wifi_framework_enable_associated_network_selection è impostato su false , non viene eseguita alcuna scansione 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 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 corrente è sufficientemente buona per saltare la selezione della rete .

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

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

        • L'RSSI è superiore alla soglia RSSI richiesta oppure sulla connessione scorre traffico sufficiente (vedere le scansioni sullo schermo per RSSI e soglie di traffico).
        • La rete è convalidata (connessa a Internet) o è approvata dall'utente per l'uso senza accesso a Internet.
        • La rete è illimitata.
    • Se la rete è sufficientemente buona da ignorare la selezione della rete , non verranno intraprese ulteriori azioni.

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

    • I risultati della scansione vengono filtrati per rimuovere i BSSID che hanno un RSSI sotto la voce RSSI (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 da parte dell'AP di non tentare l'associazione per un certo periodo di tempo (MBO-OCE). Il blocco BSSID è descritto di seguito in Blocco SSID e BSSID .

    • Quando il dispositivo si muove rapidamente, i risultati della scansione vengono facoltativamente 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 (abilitando/disabilitando l'ottimizzazione) e gli overlay config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs e config_wifiHighMovementNetworkSelectionOptimizationRssiDelta , che configurano il requisito di stabilità sui risultati della scansione (modifica RSSI sui risultati della scansione sufficientemente separati nel tempo).

  3. Il framework esegue il classificatore candidato per generare un punteggio per ciascun candidato SSID (Service Set Identifier). I candidati SSID possono includere più candidati BSSID (Basic Service Set Identifier) ​​(generati dai nominatori di rete). Il candidato con il punteggio più alto sarà il candidato vincitore .

  4. Il framework esegue l'algoritmo di scelta della connessione dell'utente , che potrebbe rendere una rete selezionata dall'utente il nuovo candidato vincente invece di utilizzare il candidato vincente dal candidato marcatore.

  5. Il framework determina se il candidato vincitore corrisponde alla rete attualmente connessa. Per essere considerata una corrispondenza, deve essere soddisfatta una delle seguenti condizioni:

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

    Se il candidato vincitore corrisponde alla rete attualmente connessa, non verranno intraprese ulteriori azioni. Se il candidato vincitore non corrisponde alla rete, il dispositivo viene associato al candidato vincitore.

Tieni presente che la connessione di rete automatica è disabilitata mentre un'app utilizza l' API Wi-Fi Network Request , che sovrascrive il sistema e crea una LAN senza Internet, tranne sui dispositivi che supportano due stazioni simultanee.

Valutazione di una rete connessa

Il framework o 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 effettuata in aggiunta alla selezione della rete discussa sopra.

Schermo acceso

Il framework Android valuta la rete connessa nel modo seguente:

  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 la regolazione dell'intervallo dinamico è 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 RSSI è superiore a -68 dBm (configurato dagli overlay config_wifiClientRssiMonitorThresholdDbm e config_wifiClientRssiMonitorHysteresisDb ).
    • L'intervallo di polling viene ridotto di nuovo a 3 secondi (configurato dall'overlay config_wifiPollRssiIntervalMilliseconds ) quando il dispositivo non è stazionario o RSSI è inferiore a -73 dBm (configurato dall'overlay config_wifiClientRssiMonitorThresholdDbm ).
  2. Il servizio Wi-Fi calcola un punteggio di connessione basato sull'RSSI e sulle statistiche del livello di collegamento.

  3. Il servizio Wi-Fi trasmette il punteggio al servizio di connettività, che utilizza il punteggio per determinare se connettersi a una rete Wi-Fi o a un altro tipo di rete disponibile, ad esempio una rete cellulare.

Schermo spento

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, servizi di localizzazione). Il firmware valuta la qualità della rete e se la qualità della rete è scarsa, il firmware potrebbe vagare o (eventualmente) dissociarsi dalla rete e riattivare l'host.

Scansioni della connettività

Le scansioni vengono eseguite automaticamente a seconda che il dispositivo abbia lo schermo acceso, abbia lo schermo spento e sia connesso al Wi-Fi oppure abbia lo schermo spento e non sia connesso 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 matrici 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 eventualmente eseguite a intervalli di 160 secondi (questi sono i valori predefiniti delle sovrapposizioni di cui sopra).

Gli intervalli di scansione del backoff esponenziale vengono reimpostati e riavviati a 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 runtime, un'app con privilegi OEM può chiamare l'API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) per impostare dinamicamente la pianificazione della scansione dello schermo.

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

  • Il dispositivo è connesso a una connessione di iscrizione online (OSU).
  • Attraverso la connessione scorre un traffico sufficiente (vedere le soglie di traffico di seguito).
  • L'RSSI è superiore alla soglia RSSI richiesta (vedere 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 l'utente -approvato per l'uso senza accesso a Internet.

Gli RSSI e le soglie di traffico sono:

  • RSSI è superiore a -73 dBm per la banda da 2,4 GHz, configurata con l'overlay config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , o -70 dBm per le bande da 5 GHz e 6 GHz, configurate con config_wifi_framework_wifi_score_low_rssi_threshold_5GHz e config_wifiFrameworkScoreLowRssiThreshold6ghz tenere sovrapposizioni 6ghz.
  • 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 rilevatore connesso monitora periodicamente la qualità Wi-Fi osservando segnali come RSSI e il numero di pacchetti trasferiti. Se la qualità Wi-Fi risulta scarsa (come specificato di seguito) e il dispositivo supporta due stazioni simultanee, verrà avviata una scansione. L'overlay config_wifiLowConnectedScoreThresholdToTriggerScanForMbb può essere utilizzato per configurare la soglia del 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 scansioni in roaming. Il framework non esegue alcuna scansione 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 scansioni PNO per gli SSID. Il framework configura il firmware con un elenco di SSID da ricercare e un elenco di canali su cui eseguire la scansione. Se viene trovato un SSID configurato, il firmware riattiva il framework.

Il framework configura inoltre l'intervallo in cui il firmware deve eseguire le scansioni PNO, utilizzando lo stato di mobilità del dispositivo per selezionare diversi intervalli di scansione. In uno stato di mobilità ridotta (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 3x dell'overlay) per le scansioni successive. In uno stato di mobilità elevata l'intervallo è di 20 secondi per le prime tre scansioni (controllate dall'overlay config_wifiMovingPnoScanIntervalMillis ) e di 60 secondi (un moltiplicatore fisso 3x dell'overlay) per le scansioni successive.

Nominatori di rete

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

  • Attualmente disponibile (in base ai risultati della scansione) o alla rete attualmente connessa (che a volte manca nei risultati instabili della scansione).
  • Avere un RSSI minimo. L'RSSI minimo è -80 dBm per la banda da 2,4 GHz e -77 dBm per le bande da 5 GHz e 6 GHz, configurabile utilizzando config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz e config_wifiFrameworkScoreEntryRssiThreshold6ghz sovrapposizioni shold6ghz.
  • Non bloccato, ad esempio, a causa di precedenti errori di connessione.
  • La rete non indica che è inutilizzabile (ad esempio, utilizzando MBO/OCE).
  • Può essere associato utilizzando le credenziali disponibili sul dispositivo.

Vengono utilizzati i seguenti nominatori di rete:

  • Nominatore di reti salvate: valuta tutte le reti salvate (inclusi gli abbonamenti Passpoint salvati).
  • Nominatore di reti suggerite: valuta tutte le reti fornite dalle app utilizzando l' API Suggestion (inclusi gli abbonamenti Passpoint suggeriti).
  • Nominatore di rete con punteggio esterno: meccanismo OEM per fornire opzioni di connettività di rete al dispositivo. Per ulteriori informazioni, consulta Provider di classificazione della rete esterna .

Marcatori candidati

I valutatori dei candidati valutano e forniscono un punteggio per ciascun candidato. Il punteggio per ThroughputScorer (il punteggio predefinito) si basa su quanto segue:

  • Un punteggio base viene calcolato in base all'RSSI dove RSSI è limitato a -73 dBm per la banda da 2,4 GHz o -70 dBm per le bande da 5 GHz e 6 GHz (configurato con config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz e config_wifiF sovrapposizioni config_wifiFrameworkScoreLowRssiThreshold6ghz ).
  • Un incremento 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 flussi spaziali e da altri parametri. L'incremento 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 ottiene un notevole aumento del punteggio per una durata configurabile utilizzando l'overlay config_wifiFrameworkLastSelectionMinutes (per tale durata è garantito che la rete venga selezionata su reti non selezionate dall'utente).
  • Un candidato che corrisponde alla rete corrente ottiene un aumento del punteggio configurato dagli overlay config_wifiFrameworkCurrentNetworkBonusMin e config_wifiFrameworkCurrentNetworkBonusPercent (ottiene un bonus extra basato su una percentuale del suo RSSI e sul punteggio basato sul throughput, fino al minimo configurabile).
  • Una rete sicura ottiene un punteggio più alto di una rete aperta. Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkSecureNetworkBonus .
  • Una rete illimitata (gratuita) ottiene un punteggio più alto di una rete a consumo (a pagamento). Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkUnmeteredNetworkBonus .
  • Una rete salvata ottiene un punteggio più alto rispetto a una rete suggerita utilizzando l'API Suggestion. Il bonus viene configurato utilizzando l'overlay config_wifiFrameworkSavedNetworkBonus .
  • Le reti non attendibili (che possono essere richieste come parte dell'API di suggerimento) ottengono un punteggio inferiore rispetto a qualsiasi altra rete.
  • Una rete precedentemente rilevata senza Internet ottiene un punteggio pari a 0 se il dispositivo è attualmente connesso a un'altra rete che dispone di accesso a Internet.

Il bonus predefinito per salvato rispetto a suggerimento e non misurato rispetto a misurato (ovvero i valori di sovrapposizione predefiniti) produce un rigoroso ordine di priorità per salvato, suggerito, misurato e non misurato:

  1. Reti illimitate salvate
  2. Reti illimitate consigliate
  3. Reti a consumo salvate
  4. Reti a consumo consigliate

Ciò significa che una rete illimitata (gratuita) salvata viene sempre selezionata prima di una rete a consumo (a pagamento) salvata. Il bonus punteggio selezionato di recente (dall'utente o dall'app) può avere la precedenza su tale rigorosa priorità.

Il framework può avere diversi marcatori candidati installati, ma solo uno può essere attivo alla volta. Gli altri marcatori possono essere utilizzati per la metrica (per indagare su algoritmi alternativi). In Android 11, il punteggio predefinito è ThroughputScorer .

Blocco SSID e BSSID

Il framework può bloccare SSID e/o BSSID, ovvero non considerarli per le connessioni né temporaneamente né permanentemente.

Blocco del 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 (vedere di seguito per un elenco dei tipi di errore). Quando si verifica un guasto:

  • 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 delle serie di fallimenti viene incrementato.

La durata per cui un BSSID è bloccato inizia da un valore base (configurabile) (specificato dagli overlay config_wifiBssidBlocklistMonitorBaseBlockDurationMs o config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs , a seconda dell'RSSI) e aumenta esponenzialmente fino a un limite superiore configurabile (specificato da config_wifiBssidBlocklistMonitorFailureStreakCap Sovrapposizione del cappuccio). La durata aumenta se si verificano continuamente guasti sullo stesso BSSID. La durata è la durata base aumentata esponenzialmente dalla serie di fallimenti, ovvero una serie di fallimenti pari a 2 implica una durata del blocco base 4x.

Le soglie per il blocco del BSSID dipendono dal motivo dell'errore e sono personalizzabili tramite sovrapposizioni:

  • L'AP rifiuta l'associazione utilizzando MBO/OCE Impossibile gestire il nuovo codice STA : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • La convalida Internet tramite questa rete non è riuscita: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Codice errore autenticazione password errato: config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • Codice di errore di autenticazione per errore EAP per reti EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • Rifiuto dell'associazione, altri rifiuti generali dell'associazione: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • Timeout dell'associazione: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Errore di autenticazione, altri errori di autenticazione generali: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • Errore DHCP, errore nel provisioning DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • Disconnessione anomala, il dispositivo si è disconnesso dalla rete entro un periodo molto breve dopo la connessione: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . L'intervallo temporale è configurabile con config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Condizioni di cancellazione della lista bloccata BSSID

Un BSSID viene cancellato dalla blocklist quando:

  • Il Wi-Fi è attivato: tutti i BSSID vengono rimossi dalla blocklist.
  • L'utente tocca una rete nel selettore Wi-Fi: tutti i BSSID della rete selezionata dall'utente vengono rimossi dalla blocklist.
  • Timeout: i BSSID vengono rimossi dalla blocklist quando viene raggiunta la durata del blocco.
  • Riavvio: tutte le blocklist vengono cancellate.
  • Rete rimossa: tutti i BSSID associati a questa rete vengono rimossi dalla blocklist.

Condizioni di ripristino dei contatori di fallimenti e serie:

  • Riavvio: reimposta per tutti i BSSID.
  • Rete rimossa: reimpostare i BSSID associati alla rete.
  • Connessione L2 riuscita: reimpostare 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 (cancellato in modo condizionale solo se l'ultima volta che il dispositivo si è connesso a questo BSSID è avvenuto più di 3 ore fa)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Convalida della rete riuscita: reimposta il seguente codice di errore.

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

    • REASON_DHCP_FAILURE

Blocco SSID

Il blocco SSID funziona in modo simile al blocco BSSID. Un contatore di 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 particolare tipo supera una soglia, l'SSID viene bloccato in modo permanente o temporaneo in base a una configurazione. La configurazione per ciascun tipo di errore è codificata in WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS ed è riepilogata di seguito.

* Per le reti temporaneamente disabilitate, la durata della disabilitazione cambia dinamicamente in base al numero di errori di connessione consecutivi riscontrati sulla rete. Dopo che una rete non riesce a connettersi consecutivamente per cinque volte, ogni errore successivo comporta una durata di disattivazione doppia rispetto alla durata precedente. Ad esempio, una rete con cinque guasti consecutivi viene disabilitata per 5 minuti, poi 10 minuti al sesto guasto, 20 minuti al settimo guasto e così via fino al limite massimo di 18 ore.

Codice di errore Descrizione Soglia Durata base della disabilitazione* Disabilita tipo
DISABLED_DHCP_FAILURE Mancato 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 richiedente non dispone delle credenziali per connettersi alla rete 1 N / A Permanente
DISABLED_NO_INTERNET_PERMANENT Predefinito per errore di convalida della rete 1 N / A Permanente
DISABLED_BY_WIFI_MANAGER Deprecato e inutilizzato 1 N / A Permanente
DISABLED_BY_WRONG_PASSWORD La password non è corretta e questa rete non è mai stata connessa correttamente 1 N / A Permanente
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Errore EAP in cui la carta SIM non è sottoscritta 1 N / A Permanente
DISABLED_ASSOCIATION_REJECTION Fallimenti nel 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 (privato) specifico del provider. 1 N / A Permanente
DISABLED_NETWORK_NOT_FOUND Il richiedente non è riuscito a trovare una rete nei risultati della scansione che corrisponda alla rete richiesta dal framework per la connessione (comprese le funzionalità di rete). 2 5 minuti Temporaneo
DISABLED_CONSECUTIVE_FAILURES La rete non è riuscita a connettersi cinque o più volte consecutive. Il tipo di errore per questi errori include, ma non è limitato ai tipi di errore elencati in questa tabella.
5 5 minuti Temporaneo

Una rete temporaneamente disattivata viene riattivata quando:

  • La durata della disabilitazione è trascorsa.
  • 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 la rete viene successivamente rilevata nuovamente con un RSSI moderato o superiore.

Una rete permanentemente disattivata 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 correttamente alla rete.
  • La rete è stata riattivata allo scadere del periodo di disattivazione.
  • L'utente seleziona manualmente la rete a cui connettersi.
  • Il sistema viene riavviato.

Carte punteggio

Le schede punteggio, introdotte in Android 10, registrano statistiche sul dispositivo sui BSSID. Le schede punteggi vengono rese persistenti utilizzando il servizio IpMemoryStore .

Le schede punteggi non vengono utilizzate nella selezione della rete Android 11.

Scelta della connessione dell'utente

Android dispone di un algoritmo di scelta della connessione dell'utente che consente al processo di selezione di preferire le reti Wi-Fi a cui un utente si è connesso esplicitamente, ad esempio una rete domestica. Gli utenti potrebbero preferire tali reti rispetto alle reti pubbliche anche quando le prestazioni sono inferiori rispetto a una rete pubblica perché forniscono servizi aggiuntivi come la possibilità di controllare i dispositivi domestici.

La preferenza dell'utente per una rete viene catturata contrassegnando tutte le configurazioni Wi-Fi visibili e la relativa potenza del segnale nel momento in cui l'utente seleziona una rete. Se una delle configurazioni Wi-Fi contrassegnate viene selezionata durante il processo di selezione automatica ed è disponibile una rete selezionata dall'utente, l'algoritmo di scelta della connessione dell'utente sovrascrive la selezione con la rete selezionata dall'utente se vengono soddisfatte le seguenti condizioni:

  • La rete scelta dall'utente per la connessione aveva accesso a Internet l'ultima volta che è stata utilizzata
  • La scelta della connessione dell'utente ha una potenza del segnale che non è peggiore di quando è stata originariamente selezionata con un margine di errore. Questo margine di errore può essere configurato utilizzando l'overlay config_wifiEstimateRssiErrorMarginDb .

La rete di scelta della connessione dell'utente persiste dopo un riavvio. La scelta della connessione dell'utente funziona per le reti salvate, le reti Passpoint e le reti suggerite.

Doppie stazioni simultanee

Questa sezione descrive la selezione della rete Wi-Fi quando un dispositivo supporta la connessione a due reti Wi-Fi contemporaneamente.

Preparati prima della pausa

Se la funzione make-before-break è abilitata, 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 della commutazione 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 simultanea limitata e Internet

Se la funzione di connessione Internet limitata e simultanea è abilitata, il dispositivo può connettersi a una rete Wi-Fi limitata secondaria disponibile solo per selezionare app configurate dal produttore del dispositivo. Le istruzioni per i produttori di dispositivi per configurarlo si trovano in Connessione Internet e limitata simultanea .

Quando l'algoritmo di selezione della rete rileva risultati di scansione corrispondenti al suggerimento a pagamento/privato dell'OEM, si connette automaticamente ad essa come una seconda rete. La selezione della rete per la rete Wi-Fi primaria (che fornisce la connessione Internet alle normali app) avviene normalmente in parallelo.

Domande frequenti (FAQ)

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

    No. Salvato rispetto a suggerito e misurato rispetto a non misurato sono le categorie principali in cui vengono valutate le reti. All'interno di ciascuna categoria, le reti sicure hanno una certa priorità rispetto alle reti aperte, ma viene dato un peso molto più elevato alla qualità della connessione.

    Il motivo è che la sicurezza effettiva dei dati utente è garantita dalla crittografia end-to-end (ad esempio, TLS). Le reti sicure crittografano solo il primo tratto della comunicazione e, anche in questo caso, per le reti con chiavi precondivise, non garantiscono molta privacy.

  2. Perché alle reti salvate viene data la priorità rispetto alle reti suggerite?

    Le reti gratuite salvate (illimitate) hanno la priorità rispetto alle reti gratuite suggerite e le reti a consumo salvate hanno la priorità rispetto alle reti a consumo suggerite.

    Le reti salvate hanno la priorità rispetto alle reti suggerite perché le reti salvate sono reti che l'utente ha aggiunto esplicitamente al dispositivo. Ciò implica una preferenza per connettersi a queste reti quando 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 poiché sono stati scelti dopo un'attenta considerazione di molteplici casi d'uso.