Sélection du réseau Wi-Fi Android

Cette page décrit les algorithmes et les procédures utilisés dans Android 12 pour sélectionner et basculer entre les réseaux Wi-Fi. Android évalue en permanence la qualité du réseau connecté et évalue la qualité des réseaux disponibles.

Durée de vie d'une connexion automatique

Ceci décrit le processus par lequel un appareil Android évalue et se connecte aux réseaux Wi-Fi disponibles.

  1. L'appareil recherche les réseaux disponibles de l'une des manières suivantes selon que l'écran est allumé ou éteint.

    • Écran allumé (connecté) : le sous-système de connectivité Android évalue régulièrement si la connexion actuelle est suffisamment bonne pour ignorer l'analyse (telle que définie dans les analyses à l'écran ). Si la connexion n'est pas suffisamment bonne pour ignorer l'analyse, le sous-système de connectivité déclenche une analyse pour détecter les réseaux disponibles. Ces analyses peuvent également être déclenchées par d'autres composants du système tels que le système de localisation ou une application (y compris l'application Paramètres).
    • Écran allumé (déconnecté) : le sous-système de connectivité Android émet des analyses périodiques selon un calendrier d'attente exponentiel. Le module évalue tous les résultats d'analyse reçus et essaie de sélectionner le meilleur réseau auquel se connecter.
    • Écran éteint (déconnecté) : le processeur hôte programme le micrologiciel avec une liste de réseaux préférés à l'aide d'analyses de déchargement de réseau préféré (PNO) dès que l'écran s'éteint. Le micrologiciel réveille l'hôte s'il trouve l'un des réseaux préférés. AOSP suppose que PNO est pris en charge sur l'appareil.

    La méthode WifiManager#allowAutojoinGlobal(boolean) peut être utilisée pour désactiver les connexions automatiques. Il s'agit d'une API privilégiée qui peut être utilisée par les fabricants d'appareils dans des circonstances limitées (par exemple, un appareil non mobile préconfiguré).

    Si l'appareil est connecté et que la superposition config_wifi_framework_enable_associated_network_selection est définie sur false , aucune analyse de connectivité n'est effectuée et les résultats de l'analyse ne déclenchent pas la sélection du réseau. Ce paramètre n'a aucun effet lorsque l'appareil est déconnecté, ce qui signifie que les analyses de connectivité et la sélection de réseau ont toujours lieu.

  2. Les résultats de l'analyse sont évalués.

    • Si l'appareil est connecté à un réseau Wi-Fi, le framework évalue si le réseau actuel est suffisamment bon pour ignorer la sélection du réseau .

      Un réseau est défini comme suffisamment bon pour ignorer la sélection du réseau si l'une des conditions suivantes est remplie :

      • Moins de 10 secondes se sont écoulées depuis la dernière sélection de réseau.
      • L'utilisateur s'est récemment connecté manuellement au réseau (où récemment est configurable à l'aide de la superposition config_wifiSufficientDurationAfterUserSelectionMilliseconds ).
      • L'appareil est connecté à une connexion d'inscription en ligne (OSU).
      • Toutes les exigences suivantes sont remplies :

        • Le RSSI est supérieur au seuil RSSI requis ou un trafic suffisant circule via la connexion (voir les analyses d'écran pour le RSSI et les seuils de trafic).
        • Le réseau est validé (connecté à Internet) ou est approuvé par l'utilisateur pour une utilisation sans accès à Internet.
        • Le réseau n'est pas mesuré.
    • Si le réseau est suffisamment bon pour ignorer la sélection du réseau , aucune autre action n'est entreprise.

    • Si le réseau Wi-Fi connecté n'est pas assez performant ou si l'appareil n'est pas connecté à un réseau, le framework appelle les nominateurs de réseau pour générer une liste de réseaux Wi-Fi candidats auxquels se connecter en fonction des résultats d'analyse filtrés . Les proposants de réseau recherchent les configurations Wi-Fi existantes ou créent de nouvelles configurations pour les réseaux candidats.

    • Les résultats de l'analyse sont filtrés pour supprimer les BSSID qui ont un RSSI sous l'entrée RSSI (configurable à l'aide des superpositions config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz et config_wifiFrameworkScoreEntryRssiThreshold6ghz ). De plus, les BSSID bloqués sont filtrés. Les BSSID peuvent être bloqués en fonction d'échecs de connexion répétés, de déconnexions fréquentes et de demandes explicites du point d'accès de ne pas tenter d'association pendant une certaine période (MBO-OCE). Le blocage BSSID est décrit ci-dessous dans SSID et blocage BSSID .

    • Lorsque l'appareil se déplace rapidement, les résultats de l'analyse sont éventuellement filtrés davantage pour supprimer les BSSID dont le RSSI varie rapidement (indication qu'ils ne se déplacent pas avec l'appareil). Cette optimisation est configurable à l'aide de config_wifiHighMovementNetworkSelectionOptimizationEnabled (activation/désactivation de l'optimisation) et des superpositions config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs et config_wifiHighMovementNetworkSelectionOptimizationRssiDelta , qui configurent l'exigence de stabilité sur les résultats d'analyse (changement RSSI sur les résultats d'analyse suffisamment séparés dans le temps).

  3. Le cadre exécute le marqueur de candidats pour générer un score pour chaque candidat SSID (Service Set Identifier). Les candidats SSID peuvent comprendre plusieurs candidats d'identifiant d'ensemble de services de base (BSSID) (générés par les nominateurs de réseau). Le candidat ayant obtenu le score le plus élevé est le candidat gagnant .

  4. Le framework exécute l'algorithme de choix de connexion de l'utilisateur , qui peut faire d'un réseau sélectionné par l'utilisateur le nouveau candidat gagnant au lieu d'utiliser le candidat gagnant du marqueur de candidats.

  5. Le cadre détermine si le candidat gagnant correspond au réseau actuellement connecté. Pour être considéré comme un match, l’une des conditions suivantes doit être remplie :

    • Le candidat gagnant et le réseau Wi-Fi connecté ont le même BSSID.
    • Si l'itinérance du micrologiciel est disponible (y compris la capacité de liste noire BSSID), le candidat gagnant et le réseau connecté ont le même SSID et le même type de sécurité.

    Si le candidat gagnant correspond au réseau actuellement connecté, aucune autre action n'est entreprise. Si le candidat gagnant ne correspond pas au réseau, l'appareil est associé au candidat gagnant.

Notez que la connexion réseau automatique est désactivée lorsqu'une application utilise l' API Wi-Fi Network Request , qui remplace le système et crée un réseau local sans Internet, sauf sur les appareils prenant en charge deux stations simultanées.

Évaluation d'un réseau connecté

Le framework ou firmware Android évalue périodiquement la qualité du réseau connecté. Cette section décrit comment le réseau connecté est évalué lorsque l'écran est allumé ou éteint.

Cette évaluation est effectuée en plus de la sélection du réseau évoquée ci-dessus.

Allume l'écran

Le framework Android évalue le réseau connecté de la manière suivante :

  1. Le service Wi-Fi interroge les statistiques RSSI et de la couche de liaison toutes les 3 secondes (configurable à l'aide de la superposition config_wifiPollRssiIntervalMilliseconds ).

    Si l'ajustement dynamique de l'intervalle est activé à l'aide de la superposition config_wifiAdjustPollRssiIntervalEnabled , l'intervalle d'interrogation change dynamiquement en fonction de l'état de mobilité de l'appareil et du RSSI.

    • L'intervalle d'interrogation est étendu à 6 secondes (configuré par la superposition config_wifiPollRssiLongIntervalMilliseconds ) lorsque l'appareil est à l'arrêt et que RSSI est supérieur à -68 dBm (configuré par les superpositions config_wifiClientRssiMonitorThresholdDbm et config_wifiClientRssiMonitorHysteresisDb ).
    • L'intervalle d'interrogation est réduit à 3 secondes (configuré par la superposition config_wifiPollRssiIntervalMilliseconds ) lorsque l'appareil n'est pas stationnaire ou que RSSI est inférieur à -73 dBm (configuré par la superposition config_wifiClientRssiMonitorThresholdDbm ).
  2. Le service Wi-Fi calcule un score de connexion basé sur les statistiques RSSI et de la couche de liaison.

  3. Le service Wi-Fi transmet le score au service de connectivité, qui utilise le score pour déterminer s'il faut se connecter à un réseau Wi-Fi ou à un autre type de réseau disponible, tel qu'un réseau cellulaire.

Écran éteint

L'infrastructure ne lance pas d'évaluation sur le réseau connecté, mais le processus de sélection du réseau peut quand même avoir lieu si les analyses sont lancées par d'autres composants (par exemple, les services de localisation). Le micrologiciel évalue la qualité du réseau et si la qualité du réseau est mauvaise, le micrologiciel peut se déplacer ou (éventuellement) se dissocier du réseau et réveiller l'hôte.

Analyses de connectivité

Les analyses sont effectuées automatiquement selon que l'écran de l'appareil est allumé, éteint et connecté au Wi-Fi, ou si l'écran est éteint et n'est pas connecté au Wi-Fi.

Allume l'écran

Le cadre déclenche des décisions d'analyse à des intervalles croissants lorsque l'écran est allumé. Les intervalles de décision d'analyse sont configurés avec les superpositions config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec et config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (qui sont des tableaux d'entiers). Par défaut, les analyses s'effectuent à des intervalles d'attente exponentiels de 20, 40, 80 et 160 secondes, les analyses ultérieures étant éventuellement effectuées à des intervalles de 160 secondes (ce sont les valeurs par défaut des superpositions ci-dessus).

Les intervalles d'analyse d'intervalle exponentiel sont réinitialisés et redémarrent toutes les 20 secondes chaque fois que l'état de l'écran change, c'est-à-dire lorsque l'écran est activé ou désactivé.

(Android 13+) Si différents intervalles d'analyse sont nécessaires au moment de l'exécution, une application privilégiée OEM peut appeler l'API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) pour définir dynamiquement la planification d'analyse à l'écran.

La décision d'exécuter ou d'ignorer une analyse dépend de la qualité de la connexion réseau actuelle pour ignorer l'analyse . Une connexion est suffisamment bonne pour ignorer l'analyse si l'une des conditions suivantes est remplie :

  • L'appareil est connecté à une connexion d'inscription en ligne (OSU).
  • Un trafic suffisant circule via la connexion (voir les seuils de trafic ci-dessous).
  • Le RSSI est supérieur au seuil RSSI requis (voir seuils RSSI ci-dessous), et la sélection du réseau a été effectuée récemment (10 minutes par défaut mais peut être configurée à l'aide de la superposition config_wifiConnectedHighRssiScanMinimumWindowSizeSec ), et soit le réseau est validé (connecté à Internet), soit l'utilisateur -approuvé pour une utilisation sans accès Internet.

Les seuils RSSI et de trafic sont :

  • RSSI est supérieur à -73 dBm pour la bande 2,4 GHz, configurée avec la superposition config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , ou à -70 dBm pour les bandes 5 GHz et 6 GHz, configurée avec la superposition config_wifi_framework_wifi_score_low_rssi_threshold_5GHz et config_wifiFrameworkScoreLowRssiThreshold6ghz . s.
  • Le trafic (transmission ou réception) est supérieur à 16 paquets par seconde (pps) configurés avec la superposition config_wifiFrameworkMinPacketPerSecondActiveTraffic .

Lorsque l'appareil est connecté et que l'écran est allumé. Un marqueur connecté surveille périodiquement la qualité du Wi-Fi en examinant des signaux tels que RSSI et le nombre de paquets transférés. Si la qualité du Wi-Fi est jugée mauvaise (comme spécifié ci-dessous) et que l'appareil prend en charge deux stations simultanées, une analyse sera déclenchée. La superposition config_wifiLowConnectedScoreThresholdToTriggerScanForMbb peut être utilisée pour configurer le seuil de score qui déclenche l'analyse. La superposition config_wifiLowConnectedScoreScanPeriodSeconds peut être utilisée pour configurer la période de ces analyses.

Écran éteint et connecté au Wi-Fi

Lorsque l'écran est éteint et que l'appareil est connecté à un réseau Wi-Fi, le micrologiciel (Wi-Fi SoC) effectue des analyses en itinérance. Le framework n'effectue aucune analyse lorsque l'écran est éteint.

Écran éteint et non connecté au Wi-Fi (état déconnecté)

Lorsque l'écran est éteint et que le Wi-Fi est déconnecté, le micrologiciel effectue des analyses PNO pour les SSID. Le framework configure le micrologiciel avec une liste de SSID à rechercher et une liste de canaux sur lesquels analyser. Si un SSID configuré est trouvé, le micrologiciel réveille le framework.

Le cadre configure également l'intervalle auquel le micrologiciel doit effectuer des analyses PNO, en utilisant l'état de mobilité de l'appareil pour sélectionner différents intervalles d'analyse. Dans un état de faible mobilité (l'appareil est stationnaire), l'intervalle est de 60 secondes pour les trois premières analyses (contrôlées par la superposition config_wifiStationaryPnoScanIntervalMillis ) et de 180 secondes (un multiplicateur fixe 3x de la superposition) pour les analyses suivantes. Dans un état de mobilité élevée, l'intervalle est de 20 secondes pour les trois premières analyses (contrôlées par la superposition config_wifiMovingPnoScanIntervalMillis ) et de 60 secondes (un multiplicateur fixe de 3x de la superposition) pour les analyses suivantes.

Nommateurs de réseau

Les nominateurs de réseau recherchent ou créent des configurations ( WifiConfiguration ) pour les réseaux :

  • Actuellement disponible (en fonction des résultats de l'analyse) ou du réseau actuellement connecté (qui manque parfois dans les résultats d'analyse irréguliers).
  • Avoir un RSSI minimal. Le RSSI minimal est de -80 dBm pour la bande 2,4 GHz et de -77 dBm pour les bandes 5 GHz et 6 GHz, configurable à l'aide de config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz et config_wifiFrameworkScoreEntryRssiThreshold6ghz superpositions.
  • Non bloqué, par exemple, en raison d'échecs de connexion précédents.
  • Le réseau n'indique pas qu'il est inutilisable (par exemple, en utilisant MBO/OCE).
  • Peut être associé à l’utilisation des informations d’identification disponibles sur l’appareil.

Les nominateurs de réseau suivants sont utilisés :

  • Nominateur de réseau enregistré : évalue tous les réseaux enregistrés (y compris les abonnements Passpoint enregistrés).
  • Nominateur de réseau suggéré : évalue tous les réseaux fournis par les applications à l'aide de l' API Suggestion (y compris les abonnements Passpoint suggérés).
  • Nominateur de réseau évalué en externe : mécanisme OEM pour fournir des options de connectivité réseau à l'appareil. Pour plus d’informations, consultez Fournisseur d’évaluation de réseau externe .

Candidats buteurs

Les correcteurs de candidats évaluent et attribuent une note à chaque candidat. Le score de ThroughputScorer (le scoreur par défaut) est basé sur les éléments suivants :

  • Un score de base est calculé sur la base du RSSI, où le RSSI est plafonné à -73 dBm pour la bande 2,4 GHz ou à -70 dBm pour les bandes 5 GHz et 6 GHz (configuré avec config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz et config_wifiFrameworkScoreLowRssiThreshold6ghz superpositions owRssiThreshold6ghz).
  • Une augmentation de score est calculée sur la base d'une estimation de débit dérivée de la technologie, de la fréquence du canal, de la bande passante, du RSSI, des conditions du canal, du nombre maximum de flux spatiaux et d'autres paramètres. L'augmentation du score est configurable à l'aide des superpositions config_wifiFrameworkThroughputBonusNumerator et config_wifiFrameworkThroughputBonusDenominator , et est limitée à une valeur maximale spécifiée à l'aide de la superposition config_wifiFrameworkThroughputBonusLimit .
  • Un réseau candidat récemment sélectionné par l'utilisateur ou par une application obtient une augmentation importante de son score pendant une durée configurable à l'aide de la superposition config_wifiFrameworkLastSelectionMinutes (pendant cette durée, le réseau est garanti d'être sélectionné sur des réseaux non sélectionnés par l'utilisateur).
  • Un candidat qui correspond au réseau actuel obtient une augmentation de score configurée par les superpositions config_wifiFrameworkCurrentNetworkBonusMin et config_wifiFrameworkCurrentNetworkBonusPercent (il obtient un bonus supplémentaire basé sur un pourcentage de son score RSSI et basé sur le débit, jusqu'au minimum configurable).
  • Un réseau sécurisé obtient un score plus élevé qu’un réseau ouvert. Le bonus est configuré à l'aide de la superposition config_wifiFrameworkSecureNetworkBonus .
  • Un réseau non facturé (gratuit) obtient un score plus élevé qu'un réseau facturé (payant). Le bonus est configuré à l'aide de la superposition config_wifiFrameworkUnmeteredNetworkBonus .
  • Un réseau enregistré obtient un score plus élevé qu'un réseau suggéré à l'aide de l'API Suggestion. Le bonus est configuré à l'aide de la superposition config_wifiFrameworkSavedNetworkBonus .
  • Les réseaux non fiables (qui peuvent être demandés dans le cadre de l'API Suggestion) obtiennent un score inférieur à celui de tout autre réseau.
  • Un réseau qui a été précédemment détecté comme n'ayant pas Internet obtient un score de 0 si l'appareil est actuellement connecté à un autre réseau ayant accès à Internet.

Le bonus par défaut pour les valeurs enregistrées par rapport aux suggestions et non mesurées par rapport aux mesures mesurées (c'est-à-dire les valeurs de superposition par défaut) produit un ordre de priorité strict pour les éléments enregistrés, suggérés, mesurés et non mesurés :

  1. Réseaux non mesurés enregistrés
  2. Réseaux illimités suggérés
  3. Réseaux mesurés enregistrés
  4. Réseaux compteurs suggérés

Cela signifie qu'un réseau non mesuré (gratuit) enregistré est toujours sélectionné avant un réseau mesuré (payant) enregistré. Le bonus de score récemment sélectionné (par utilisateur ou application) peut remplacer cette priorité stricte.

Le framework peut avoir plusieurs correcteurs candidats installés, mais un seul peut être actif à la fois. Les autres marqueurs peuvent être utilisés pour des métriques (pour étudier des algorithmes alternatifs). Dans Android 11, le marqueur par défaut est ThroughputScorer .

Blocage SSID et BSSID

Le framework peut bloquer les SSID et/ou les BSSID, c'est-à-dire ne pas les prendre en compte pour les connexions, que ce soit temporairement ou définitivement.

Blocage BSSID

Le blocage BSSID fonctionne en conservant deux compteurs d'échecs, un compteur d'échecs continu et un compteur de séquences, par type d'échec spécifique (voir ci-dessous pour une liste des types d'échecs). Lorsqu'une panne survient :

  • Le compteur du type de panne correspondant est incrémenté.
  • Si le seuil de défaillance pour ce type de défaillance est atteint :
    • Le BSSID est bloqué.
    • Le compteur de séquences d'échec est incrémenté.

La durée pendant laquelle un BSSID est bloqué commence à une valeur de base (configurable) (spécifiée par les superpositions config_wifiBssidBlocklistMonitorBaseBlockDurationMs ou config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs , en fonction du RSSI), et augmente de façon exponentielle jusqu'à une limite supérieure configurable (spécifiée par config_wifiBssidBlocklistMonitorFailureStreakCap ). superposition StreakCap). La durée augmente si des pannes se produisent continuellement sur le même BSSID. La durée est la durée de base augmentée de manière exponentielle par la séquence d'échecs, c'est-à-dire qu'une séquence d'échecs de 2 implique 4x la durée du bloc de base.

Les seuils de blocage du BSSID dépendent de la raison de l'échec et sont chacun personnalisables à l'aide de superpositions :

  • AP rejette l'association à l'aide de MBO/OCE . Impossible de gérer le nouveau code STA : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • La validation Internet via ce réseau a échoué : config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Code d'échec d'authentification par mot de passe incorrect : config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • Code d'échec de l'authentification d'échec EAP pour les réseaux EAP : config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • Rejet d'association, autres rejets d'association généraux : config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • Délai d'expiration de l'association : config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Échec d'authentification, autres échecs d'authentification généraux : config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • Échec DHCP, échec de provisionnement DHCP : config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • Déconnexion anormale, l'appareil s'est déconnecté du réseau dans un délai très court après la connexion : config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . La fenêtre horaire est configurable avec config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Conditions d'effacement de la liste de blocage BSSID

Un BSSID est effacé de la liste de blocage lorsque :

  • Le Wi-Fi est activé : tous les BSSID sont supprimés de la liste de blocage.
  • L'utilisateur appuie sur un réseau dans le sélecteur Wi-Fi : tous les BSSID du réseau sélectionné par l'utilisateur sont supprimés de la liste de blocage.
  • Timeout : les BSSID sont supprimés de la liste de blocage lorsque la durée du blocage est atteinte.
  • Redémarrer : toutes les listes de blocage sont effacées.
  • Réseau supprimé : tous les BSSID associés à ce réseau sont supprimés de la liste de blocage.

Conditions de réinitialisation des compteurs de pannes et de séquences :

  • Redémarrer : réinitialiser tous les BSSID.
  • Réseau supprimé : réinitialisation des BSSID associés au réseau.
  • Réussite de la connexion L2 : réinitialisation pour les codes d'erreur suivants.

    • 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 (effacé sous condition uniquement si la dernière fois que l'appareil s'est connecté à ce BSSID remonte à plus de 3 heures)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Réussite de la validation du réseau : réinitialise le code d'erreur suivant.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Réussite du provisionnement DHCP : réinitialise le code d'erreur suivant.

    • REASON_DHCP_FAILURE

Blocage SSID

Le blocage SSID fonctionne de la même manière que le blocage BSSID. Un compteur d'échecs par type d'échec et par réseau est incrémenté lorsque des échecs de connexion (de ce type) se produisent. Lorsque le nombre d'échecs d'un type particulier dépasse un seuil, le SSID est bloqué définitivement ou temporairement en fonction d'une configuration. La configuration pour chaque type de panne est codée dans WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS et est résumée ci-dessous.

* Pour les réseaux temporairement désactivés, la durée de désactivation change dynamiquement en fonction du nombre d'échecs de connexion consécutifs rencontrés sur le réseau. Après cinq échecs consécutifs de connexion d’un réseau, chaque échec ultérieur entraîne une durée de désactivation deux fois plus longue que la durée précédente. Par exemple, un réseau avec cinq pannes consécutives est désactivé pendant 5 minutes, puis 10 minutes à la sixième panne, 20 minutes à la septième panne, et ainsi de suite jusqu'à la limite maximale de 18 heures.

Code de panne Description Seuil Durée de désactivation de base* Désactiver le type
DISABLED_DHCP_FAILURE Échec de provisionnement de DHCP 5 5 minutes Temporaire
DISABLED_NO_INTERNET_TEMPORARY La validation du réseau a échoué mais l'utilisateur déclare qu'il souhaite continuer à se connecter à ce réseau à l'avenir 1 10 minutes Temporaire
DISABLED_AUTHENTICATION_NO_CREDENTIALS Le demandeur ne dispose pas d'informations d'identification pour se connecter au réseau 1 N / A Permanent
DISABLED_NO_INTERNET_PERMANENT Valeur par défaut pour l'échec de la validation du réseau 1 N / A Permanent
DISABLED_BY_WIFI_MANAGER Obsolète et inutilisé 1 N / A Permanent
DISABLED_BY_WRONG_PASSWORD Le mot de passe est incorrect et ce réseau n'a jamais été connecté avec succès 1 N / A Permanent
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Échec EAP où la carte SIM n'est pas souscrite 1 N / A Permanent
DISABLED_ASSOCIATION_REJECTION Échecs du rejet d’association 5 5 minutes Temporaire
DISABLED_AUTHENTICATION_FAILURE Autres échecs d'authentification (c'est-à-dire pas un mauvais mot de passe ou un échec EAP) 5 5 minutes Temporaire
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Échec EAP (privé) spécifique au fournisseur. 1 N / A Permanent
DISABLED_NETWORK_NOT_FOUND Le demandeur n'a pas réussi à trouver dans les résultats de l'analyse un réseau correspondant au réseau demandé par le cadre de connexion (y compris les capacités réseau). 2 5 minutes Temporaire
DISABLED_CONSECUTIVE_FAILURES Le réseau n'a pas réussi à se connecter cinq fois consécutives ou plus. Le type d’échec de ces échecs inclut, sans s’y limiter, les types d’échec répertoriés dans ce tableau.
5 5 minutes Temporaire

Un réseau temporairement désactivé est réactivé lorsque :

  • La durée de désactivation est dépassée.
  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.
  • L'utilisateur bascule le Wi-Fi.
  • Le système est redémarré.
  • Le réseau a été désactivé avec un RSSI très faible, mais le réseau est ensuite détecté à nouveau avec un RSSI modéré ou supérieur.

Un réseau définitivement désactivé est réactivé lorsque :

  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.

Les compteurs de pannes d'un réseau sont réinitialisés lorsque :

  • Le réseau est supprimé.
  • L'appareil s'est connecté avec succès au réseau.
  • Le réseau a été réactivé après l'expiration du délai de désactivation.
  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.
  • Le système est redémarré.

Cartes de score

Les cartes de score, introduites dans Android 10, enregistrent des statistiques sur l'appareil sur les BSSID. Les cartes de score sont conservées à l'aide du service IpMemoryStore .

Les cartes de score ne sont pas utilisées dans la sélection du réseau Android 11.

Choix de connexion de l'utilisateur

Android dispose d'un algorithme de choix de connexion de l'utilisateur qui permet au processus de sélection de préférer les réseaux Wi-Fi auxquels un utilisateur s'est explicitement connecté, par exemple à un réseau domestique. Les utilisateurs peuvent préférer ces réseaux aux réseaux publics, même lorsque les performances sont inférieures à celles d'un réseau public, car ils fournissent des services supplémentaires tels que la possibilité de contrôler les appareils domestiques.

La préférence de l'utilisateur pour un réseau est capturée en marquant toutes les configurations Wi-Fi visibles et la force de leur signal au moment où l'utilisateur sélectionne un réseau. Si l'une des configurations Wi-Fi marquées est sélectionnée pendant le processus de sélection automatique et qu'un réseau sélectionné par l'utilisateur est disponible, l'algorithme de choix de connexion de l'utilisateur remplace la sélection par le réseau sélectionné par l'utilisateur si les conditions suivantes sont remplies :

  • Le réseau du choix de connexion de l'utilisateur avait accès à Internet la dernière fois qu'il a été utilisé
  • Le choix de connexion de l'utilisateur a une force de signal qui n'est pas pire que lors de sa sélection initiale, avec une marge d'erreur. Cette marge d'erreur peut être configurée à l'aide de la superposition config_wifiEstimateRssiErrorMarginDb .

Le réseau de choix de connexion de l'utilisateur persiste après un redémarrage. Le choix de connexion de l'utilisateur fonctionne pour les réseaux enregistrés, les réseaux Passpoint et les réseaux de suggestions.

Deux stations simultanées

Cette section décrit la sélection du réseau Wi-Fi lorsqu'un appareil prend en charge la connexion simultanée à deux réseaux Wi-Fi.

Faire avant la pause

Si la fonction make-before-break est activée, l'appareil tente de se connecter au nouveau réseau avant de se déconnecter de l'ancien réseau. Le flux make-before-break utilise le même algorithme de sélection de réseau que la commutation réseau break-before-make (c'est-à-dire lorsque l'appareil se déconnecte de l'ancien réseau avant de se connecter au nouveau). Si l'algorithme de sélection de réseau choisit un réseau qui ne peut pas être commuté à l'aide de la fonction "break-before-break", l'appareil revient automatiquement à la fonction "break-before-break".

Connexion restreinte et Internet simultanée

Si la fonction de connexion restreinte et Internet simultanée est activée, l'appareil peut se connecter à un réseau Wi-Fi restreint secondaire qui n'est disponible que pour certaines applications configurées par le fabricant de l'appareil. Les instructions destinées aux fabricants d'appareils pour configurer cela se trouvent dans Connexions restreintes et Internet simultanées .

Lorsque l'algorithme de sélection de réseau détecte des résultats d'analyse correspondant à la suggestion OEM payante/privée, il s'y connecte automatiquement en tant que deuxième réseau. La sélection du réseau pour le réseau Wi-Fi principal (qui fournit une connexion Internet aux applications classiques) s'effectue normalement en parallèle.

Foire aux questions (FAQ)

  1. Les réseaux sécurisés ont-ils toujours la priorité sur les réseaux ouverts ?

    Non. Les réseaux enregistrés par rapport aux suggérés et mesurés par rapport aux non mesurés sont les principales catégories dans lesquelles les réseaux sont évalués. Au sein de chaque catégorie, les réseaux sécurisés ont une certaine priorité sur les réseaux ouverts, mais une importance beaucoup plus grande est accordée à la qualité de la connexion.

    La raison en est que la sécurité réelle des données utilisateur est assurée par un cryptage de bout en bout (par exemple, TLS). Les réseaux sécurisés ne chiffrent que la première partie de la communication et, même dans ce cas, pour les réseaux dotés de clés pré-partagées, ils n'offrent pas beaucoup de confidentialité.

  2. Pourquoi les réseaux enregistrés sont-ils prioritaires par rapport aux réseaux suggérés ?

    Les réseaux gratuits (non mesurés) enregistrés ont la priorité sur les réseaux gratuits suggérés et les réseaux mesurés enregistrés ont la priorité sur les réseaux facturés suggérés.

    Les réseaux enregistrés ont la priorité sur les réseaux suggérés, car les réseaux enregistrés sont des réseaux que l'utilisateur a explicitement ajoutés à l'appareil. Cela implique une préférence pour se connecter à ces réseaux lorsque cela est possible.

    Notez que les utilisateurs peuvent désactiver le comportement de connexion automatique pour les réseaux enregistrés individuels, c'est-à-dire indiquer que ces réseaux doivent uniquement être utilisés manuellement et ne doivent pas être automatiquement pris en compte par l'appareil.

  3. Puis-je modifier l’ordre de priorité strict ou le supprimer complètement ?

    Le fabricant de l'appareil peut modifier les décisions de sélection du réseau en modifiant les superpositions de bonus répertoriées dans les sections ci-dessus. Cependant, il n'est pas recommandé de modifier les valeurs par défaut car elles ont été choisies après un examen attentif de plusieurs cas d'utilisation.