Selezione della rete Wi-Fi

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.

  1. 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 su false, 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.

  2. 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 e config_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 sovrapposizioni config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs e config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, che configurano il requisito di stabilità dei risultati della scansione (variazione RSSI nei risultati della scansione sufficientemente separati nel tempo).

  3. 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.

  4. 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.

  5. 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:

  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 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 overlay config_wifiClientRssiMonitorThresholdDbm e config_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 sovrapposizione config_wifiClientRssiMonitorThresholdDbm).
  2. Il servizio Wi-Fi calcola un punteggio di connessione in base all'RSSI e alle statistiche 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 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 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) 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 e config_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 e config_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 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 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 e config_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:

  1. Reti non a consumo salvate
  2. Reti non a consumo suggerite
  3. Reti a consumo salvate
  4. 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 con config_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

  1. 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.

  2. 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.

  3. 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.