Sélection du réseau Wi-Fi

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 celle des réseaux disponibles.

Durée de vie d'une connexion automatique

Cette section décrit le processus d'évaluation des réseaux Wi-Fi disponibles par un appareil Android et de connexion à ceux-ci.

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

    • Écran activé (connecté) : le sous-système de connectivité Android évalue régulièrement si la connexion actuelle est suffisante pour ignorer la recherche (comme défini dans les analyses d'é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 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 en suivant un calendrier de rétrogradation exponentielle. 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é) : dès que l'écran s'éteint, le processeur hôte programme le micrologiciel avec une liste de réseaux préférés utilisant le déchargement réseau préféré (PNO, Preferred Network Offload). Le micrologiciel active l'hôte s'il trouve l'un des réseaux préférés. AOSP suppose que le PNO est compatible avec 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 que les fabricants d'appareils peuvent utiliser 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 assez bon pour ignorer la sélection du réseau.

      Un réseau est défini comme suffisamment bon pour ignorer la sélection de 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 conditions suivantes sont remplies:

        • Le RSSI est supérieur au seuil RSSI requis ou un trafic suffisant circule sur la connexion (voir les analyses à l'écran pour les seuils RSSI et de trafic).
        • Le réseau est validé (connecté à Internet) ou l'utilisateur a autorisé son utilisation sans accès à Internet.
        • Le réseau n'est pas limité.
    • Si le réseau est suffisamment bon pour ignorer la sélection de réseau, aucune autre action n'est effectuée.

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

    • Les résultats de l'analyse sont filtrés pour supprimer les BSSID dont l'RSSI est inférieur à celui de l'entrée (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 des échecs de connexion répétés, des déconnexions fréquentes et des requêtes explicites de l'AP pour ne pas tenter d'association pendant une certaine période (MBO-OCE). Le blocage du BSSID est décrit ci-dessous dans la section Blocage du SSID et du BSSID.

    • Lorsque l'appareil se déplace rapidement, les résultats de l'analyse peuvent être filtrés plus en détail pour supprimer les BSSID dont le RSSI varie rapidement (ce qui indique qu'ils ne se déplacent pas avec l'appareil). Cette optimisation peut être configurée à l'aide de config_wifiHighMovementNetworkSelectionOptimizationEnabled (activation/désactivation de l'optimisation) et des superpositions config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs et config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, qui configurent les exigences 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 framework exécute le marqueur de candidats afin de générer un score pour chaque identifiant d'ensemble de services (SSID) candidat. Les candidats SSID peuvent inclure plusieurs candidats d'identifiant d'ensemble de services de base (BSSID, Basic Service Set Identifier) (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, ce qui peut faire en sorte qu'un réseau sélectionné par l'utilisateur devienne le nouveau candidat gagnant au lieu d'utiliser le candidat gagnant de l'outil d'évaluation des candidats.

  5. Le framework détermine si le candidat gagnant correspond au réseau actuellement connecté. Pour être considérée comme une correspondance, 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 fonctionnalité de liste noire de 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 effectuée. 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 LAN sans Internet, sauf sur les appareils compatibles avec deux stations simultanées.

Évaluation d'un réseau connecté

Le framework ou le micrologiciel 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 décrite ci-dessus.

Écran activé

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 trois 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 de manière dynamique en fonction de l'état de mobilité de l'appareil et du RSSI.

    • L'intervalle de sondage est étendu à six secondes (configuré par la superposition config_wifiPollRssiLongIntervalMilliseconds) lorsque l'appareil est à l'arrêt et que le 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 est non stationnaire ou lorsque le RSSI est inférieur à -73 dBm (configuré par la superposition config_wifiClientRssiMonitorThresholdDbm).
  2. Le service Wi-Fi calcule un score de connexion en fonction des statistiques RSSI et de couche de liaison.

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

Écran désactivé

Le framework ne lance pas d'évaluation sur le réseau connecté, mais le processus de sélection du réseau peut tout de même se produire si des analyses sont lancées par d'autres composants (par exemple, des services de localisation). Le micrologiciel évalue la qualité du réseau. Si la qualité du réseau est mauvaise, le micrologiciel peut effectuer une itinérance ou (à terme) 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 éteint et non connecté au Wi-Fi.

Écran activé

Le framework 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 sont effectuées à l'aide d'intervalles de rétrogradation exponentiels de 20, 40, 80 et 160 secondes, les analyses ultérieures pouvant être effectuées à des intervalles de 160 secondes (ce sont les valeurs par défaut de ces superpositions).

Les intervalles de balayage exponentiels sont réinitialisés et redémarrent à 20 secondes chaque fois que l'état de l'écran change, c'est-à-dire lorsqu'il est activé ou désactivé.

(Android 13 et versions ultérieures) Si des intervalles d'analyse différents 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, qui doit être suffisante pour ignorer l'analyse. Une connexion suffit de passer 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 de RSSI requis (voir les seuils de 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 le réseau est validé (connecté à Internet) ou approuvé par l'utilisateur pour une utilisation sans accès à Internet.

Les seuils RSSI et de trafic sont les suivants:

  • Le 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ées avec les superpositions config_wifi_framework_wifi_score_low_rssi_threshold_5GHz et config_wifiFrameworkScoreLowRssiThreshold6ghz.
  • Le trafic (transmission ou réception) est supérieur à 16 paquets par seconde (pps) configuré avec la superposition config_wifiFrameworkMinPacketPerSecondActiveTraffic.

Lorsque l'appareil est connecté et que l'écran est allumé Un marqueur connecté surveille régulièrement la qualité du Wi-Fi en examinant des signaux tels que le RSSI et le nombre de paquets transférés. Si la qualité du Wi-Fi est jugée médiocre (comme indiqué ci-dessous) et que l'appareil est compatible avec la double station d'accueil simultanée, une analyse se déclenche. La superposition config_wifiLowConnectedScoreThresholdToTriggerScanForMbb peut être utilisée pour configurer le seuil de score qui déclenche l'analyse. La superposition config_wifiLowConnectedScoreScanPeriodSeconds permet de 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 (SoC Wi-Fi) effectue des recherches en itinérance. Le framework n'effectue aucune analyse lorsque l'écran est éteint.

Écran éteint et pas de connexion Wi-Fi (état déconnecté)

Lorsque l'écran est éteint et que le Wi-Fi est déconnecté, le micrologiciel effectue des recherches de SSID PNO. Le framework configure le micrologiciel avec une liste de SSID à rechercher et une liste de canaux sur lesquels effectuer la recherche. Si un SSID configuré est trouvé, le micrologiciel active le framework.

Le framework configure également l'intervalle auquel le micrologiciel doit effectuer les 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 immobile), 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 de 3 fois 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és par la superposition config_wifiMovingPnoScanIntervalMillis) et de 60 secondes (multiplicateur fixe x3 de la superposition) pour les analyses suivantes.

Nominateurs de réseau

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

  • Disponible (selon les résultats de l'analyse) ou le réseau connecté (qui est parfois absent des 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, et peut être configuré à 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.
  • 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 identifiants disponibles sur l'appareil.

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

  • Nominator de réseau enregistré:évalue tous les réseaux enregistrés (y compris les abonnements Passpoint enregistrés).
  • Suggestion de réseau de nominateur:évalue tous les réseaux fournis par les applications à l'aide de l'API Suggestion (y compris les suggestions d'abonnements Passpoint).
  • Nominateur de réseau évalué en externe:mécanisme OEM permettant de fournir des options de connectivité réseau à l'appareil. Pour en savoir plus, consultez la section Fournisseur externe de classification par chaîne.

Évaluateurs de candidats

Les évaluateurs évaluent les candidats et leur attribuent un score. Le score de ThroughputScorer (l'outil d'évaluation par défaut) est basé sur les éléments suivants:

  • Un score de base est calculé en fonction du RSSI, qui est limité à -73 dBm pour la bande 2,4 GHz ou -70 dBm pour les bandes 5 GHz et 6 GHz (configurées avec les superpositions config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz et config_wifiFrameworkScoreLowRssiThreshold6ghz).
  • L'amélioration du score est calculée en fonction d'une estimation de débit basée sur la technologie, la fréquence du canal, la bande passante, le RSSI, les conditions du canal, le nombre maximal de flux spatiaux et d'autres paramètres. L'amélioration 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 bénéficie d'un score élevé 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é par rapport aux réseaux non sélectionnés par l'utilisateur).
  • Un candidat correspondant au réseau actuel bénéficie d'un score boosté configuré par les superpositions config_wifiFrameworkCurrentNetworkBonusMin et config_wifiFrameworkCurrentNetworkBonusPercent (il reçoit un bonus supplémentaire basé sur un pourcentage de son RSSI et de son score basé sur le débit, jusqu'au minimum configurable).
  • Un réseau sécurisé est mieux noté qu'un réseau ouvert. Le bonus est configuré à l'aide de la superposition config_wifiFrameworkSecureNetworkBonus.
  • Un réseau non facturé (sans frais) est mieux noté qu'un réseau facturé (payant). Le bonus est configuré à l'aide de la superposition config_wifiFrameworkUnmeteredNetworkBonus.
  • Un réseau enregistré est mieux noté 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 approuvés (qui peuvent être demandés dans le cadre de l'API Suggestion) ont un score inférieur à celui de tout autre réseau.
  • Un réseau pour lequel aucune connexion Internet n'a été détectée reçoit un score de 0 si l'appareil est actuellement connecté à un autre réseau disposant d'un accès à Internet.

Le bonus par défaut pour les éléments enregistrés par rapport aux suggestions et les éléments illimités par rapport aux éléments limités (c'est-à-dire les valeurs de superposition par défaut) génère un ordre de priorité strict pour les éléments enregistrés, suggérés, limités et illimités:

  1. Réseaux non facturés enregistrés
  2. Suggestions de réseaux sans compteur
  3. Réseaux facturés à l'usage enregistrés
  4. Réseaux facturés à l'usage suggérés

Cela signifie qu'un réseau enregistré sans compteur (sans frais) est toujours sélectionné avant un réseau enregistré facturé à l'usage (payant). Le bonus de score récemment sélectionné (par l'utilisateur ou l'application) peut remplacer cette priorité stricte.

Le framework peut comporter plusieurs outils d'évaluation des candidats, mais un seul peut être actif à la fois. Les autres outils d'évaluation peuvent être utilisés pour les métriques (pour étudier d'autres algorithmes). Dans Android 11, l'outil d'évaluation par défaut est ThroughputScorer.

Blocage des SSID et des BSSID

Le framework peut bloquer les SSID ou les BSSID, c'est-à-dire ne pas les prendre en compte pour les connexions, de manière temporaire ou définitive.

Blocage du BSSID

Le blocage du BSSID fonctionne en conservant deux compteurs d'échecs, un compteur d'échecs continus et un compteur de série, par type d'échec spécifique (voir ci-dessous pour obtenir une liste des types d'échecs). En cas de défaillance:

  • Le compteur du type d'échec 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 la série d'échecs est incrémenté.

La durée de blocage d'un BSSID commence à une valeur de base (configurable) (spécifiée par les superpositions config_wifiBssidBlocklistMonitorBaseBlockDurationMs ou config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs, en fonction du RSSI), et augmente de manière exponentielle jusqu'à une limite supérieure configurable (spécifiée par la superposition config_wifiBssidBlocklistMonitorFailureStreakCap). La durée augmente si des échecs se produisent continuellement sur le même BSSID. La durée correspond à la durée de base augmentée de manière exponentielle par la série d'échecs. En d'autres termes, une série d'échecs de 2 implique une durée de bloc de base quatre fois supérieure.

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

  • Le point d'accès refuse l'association à l'aide du code MBO/OCE Unable to handle new STA (Impossible de gérer le nouveau STA) : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Échec de la validation Internet via ce réseau : config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Code d'échec de l'authentification par mot de passe incorrect : config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • Code d'échec de l'authentification EAP pour les réseaux EAP : config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • Refus d'association, autres refus d'association généraux : config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Délai avant expiration de l'association : config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Échec de l'authentification, autres échecs d'authentification généraux : config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • Échec du DHCP, échec du provisionnement du DHCP : config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Déconnexion anormale, l'appareil s'est déconnecté du réseau dans un très court laps de temps après la connexion :config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. La fenêtre temporelle est configurable avec config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs.

Conditions d'effacement de la liste de blocage des BSSID

Un BSSID est supprimé de la liste de blocage dans les cas suivants:

  • 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 de Wi-Fi: tous les BSSID du réseau sélectionné par l'utilisateur sont supprimés de la liste de blocage.
  • Délai avant expiration: les BSSID sont supprimés de la liste de blocage lorsque la durée de blocage est atteinte.
  • Redémarrage: 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 d'échec et de série:

  • Redémarrage: réinitialisez pour tous les BSSID.
  • Réseau supprimé: réinitialisez les BSSID associés au réseau.
  • Succès de la connexion L2: réinitialisez 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 (efface de manière conditionnelle uniquement si l'appareil s'est connecté à ce BSSID pour la dernière fois il y a plus de trois heures)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Validation du réseau réussie: réinitialisation après le code d'erreur suivant.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Provisionnement DHCP réussi: réinitialise pour le code d'erreur suivant.

    • REASON_DHCP_FAILURE

Blocage des SSID

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

* Pour les réseaux temporairement désactivés, la durée de la désactivation change dynamiquement en fonction du nombre d'échecs de connexion consécutifs sur le réseau. Une fois qu'un réseau ne parvient pas à se connecter cinq fois de suite, 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 présentant cinq défaillances consécutives est désactivé pendant cinq minutes, puis pendant 10 minutes lors du sixième échec, pendant 20 minutes pour le septième échec, et ainsi de suite jusqu'à la limite maximale de 18 heures.

Code d'erreur Description Seuil Durée de désactivation de base* Désactiver le type
DISABLED_DHCP_FAILURE Échec du provisionnement du protocole DHCP 5 5 minutes Temporaire
DISABLED_NO_INTERNET_TEMPORARY Échec de la validation du réseau, mais l'utilisateur indique qu'il souhaite continuer à se connecter à ce réseau à l'avenir 1 10 minutes Temporaire
DISABLED_AUTHENTICATION_NO_CREDENTIALS Le demandeur ne dispose pas des identifiants nécessaires pour se connecter au réseau 1 N/A Permanente
DISABLED_NO_INTERNET_PERMANENT Valeur par défaut en cas d'échec de la validation du réseau 1 N/A Permanente
DISABLED_BY_WIFI_MANAGER Obsolète et inutilisé 1 N/A Permanente
DISABLED_BY_WRONG_PASSWORD Le mot de passe est incorrect et ce réseau n'a jamais été correctement connecté à 1 N/A Permanente
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Échec du protocole EAP pour lequel la carte SIM n'est pas abonnée 1 N/A Permanente
DISABLED_ASSOCIATION_REJECTION Échecs de refus de l'association 5 5 minutes Temporaire
DISABLED_AUTHENTICATION_FAILURE Autres échecs d'authentification (autre que le mot de passe incorrect ou l'échec de l'EAP) 5 5 minutes Temporaire
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Échec de l'EAP (privé) spécifique au fournisseur. 1 N/A Permanente
DISABLED_NETWORK_NOT_FOUND Le demandeur n'a pas trouvé de réseau dans les résultats de l'analyse correspondant au réseau demandé par le framework pour la connexion (y compris les fonctionnalités réseau). 2 5 minutes Temporaire
DISABLED_CONSECUTIVE_FAILURES La connexion au réseau a échoué au moins cinq fois de suite. Le type de défaillance pour ces défaillances inclut, mais sans s'y limiter, les types de défaillances listés dans ce tableau.
5 5 minutes Temporaire

Un réseau temporairement désactivé est réactivé dans les cas suivants:

  • Le délai de désactivation est écoulé.
  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.
  • L'utilisateur active ou désactive le Wi-Fi.
  • Le système redémarre.
  • Le réseau a été désactivé à un RSSI très faible, mais il a été détecté à nouveau à un RSSI modéré ou supérieur.

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

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

Les compteurs d'échecs d'un réseau sont réinitialisés dans les cas suivants:

  • Le réseau est supprimé.
  • L'appareil s'est connecté au réseau.
  • Le réseau a été réactivé après l'expiration de la durée de désactivation.
  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.
  • Le système redémarre.

Tableaux de données

Les tableaux de données, introduits dans Android 10, enregistrent des statistiques sur l'appareil concernant les BSSID. Les fiches de performances sont conservées à l'aide du service IpMemoryStore.

Les fiches de performances ne sont pas utilisées dans la sélection de réseau Android 11.

Choix de l'utilisateur

Android dispose d'un algorithme de choix de connexion qui permet au processus de sélection de privilégier 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 si leurs performances sont inférieures, car ils fournissent des services supplémentaires, comme la possibilité de contrôler des appareils domestiques.

La préférence de l'utilisateur pour un réseau est enregistrée en marquant toutes les configurations Wi-Fi visibles et l'intensité 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 lors du processus de sélection automatique et qu'un réseau sélectionné par l'utilisateur est disponible, l'algorithme de choix de la 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 choisi pour la connexion de l'utilisateur disposait d'un accès à Internet lors de sa dernière utilisation.
  • L'intensité du signal de l'option de connexion de l'utilisateur n'est pas pire que lorsqu'elle était initialement sélectionnée avec une marge d'erreur. Cette marge d'erreur peut être configurée à l'aide de la superposition config_wifiEstimateRssiErrorMarginDb.

Le réseau choisi par l'utilisateur pour la connexion 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 permet de se connecter à deux réseaux Wi-Fi simultanément.

Make-before-break

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. Le flux "make-before-break" utilise le même algorithme de sélection de réseau que le basculement de réseau "break-before-make" (lorsque l'appareil se déconnecte de l'ancien réseau avant de se connecter au nouveau). Si l'algorithme de sélection du réseau choisit un réseau qui ne peut pas être commuté à l'aide de la méthode make-before-break, l'appareil revient automatiquement à la méthode break-before-make.

Connexion Internet et connexion limitée simultanées

Si la fonction connexion Internet et restreinte simultanée est activée, l'appareil peut se connecter à un réseau Wi-Fi secondaire restreint qui n'est disponible que pour certaines applications configurées par le fabricant de l'appareil. Pour savoir comment configurer cette fonctionnalité, consultez la section Connexion Internet et connexion limitée simultanées.

Lorsque l'algorithme de sélection du réseau détecte des résultats d'analyse correspondant à la suggestion payante ou privée de l'OEM, 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 standards) se produit normalement en parallèle.

Questions fréquentes

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

    Non. Les catégories principales dans lesquelles les réseaux sont évalués sont "Enregistré" par rapport à "Suggéré" et "Facturé à l'usage" par rapport à "Non facturé à l'usage". Dans chaque catégorie, les réseaux sécurisés ont une certaine priorité sur les réseaux ouverts, mais la qualité de la connexion est beaucoup plus importante.

    En effet, la sécurité des données utilisateur réelles est assurée par le chiffrement de bout en bout (par exemple, TLS). Les réseaux sécurisés ne chiffrent que la première partie de communication, et même dans ce cas, pour les réseaux avec des 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 sans frais (non limités) enregistrés sont prioritaires par rapport aux réseaux sans frais suggérés, et les réseaux payants enregistrés sont prioritaires par rapport aux réseaux payants suggérés.

    Les réseaux enregistrés sont prioritaires sur les réseaux suggérés, car ils sont ajoutés explicitement par l'utilisateur à l'appareil. Cela implique une préférence pour la connexion à 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 ne doivent être utilisés que manuellement et ne doivent pas être pris en compte automatiquement 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 de réseau en modifiant les superpositions bonus listées dans les sections ci-dessus. Toutefois, il est déconseillé de modifier les valeurs par défaut, car elles ont été choisies après un examen minutieux de plusieurs cas d'utilisation.