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

Ce document 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 (comme défini dans les analyses à l'écran allumé). 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 exponentiel. Le module évalue tous les résultats d'analyse reçus et tente 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 de balayages de transfert 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 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 suffisamment performant pour ignorer la sélection de 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 autorisé par l'utilisateur à être utilisé 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 du point d'accès 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 est configurable à l'aide de config_wifiHighMovementNetworkSelectionOptimizationEnabled (activation/désactivation de l'optimisation), ainsi que des superpositions config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs et config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, qui configurent l'exigence de stabilité sur les résultats d'analyse (variation du RSSI sur les résultats d'analyse suffisamment séparés dans le temps).

  3. Le framework exécute l'outil d'évaluation des candidats pour générer un score pour chaque SSID (Service Set Identifier) 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 qu'une correspondance soit considérée comme telle, 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 régulièrement 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 s'ajoute à la sélection de réseau évoquée 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 d'interrogation 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 ramené à trois secondes (configuré par la superposition config_wifiPollRssiIntervalMilliseconds) lorsque l'appareil n'est pas à l'arrêt ou que 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 du RSSI et des statistiques de la 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 n'initie pas d'évaluation sur le réseau connecté, mais le processus de sélection du réseau peut toujours se produire si des analyses sont lancées par d'autres composants (par exemple, les 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 est suffisante 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 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 outil d'évaluation 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 mauvaise (comme indiqué ci-dessous) et que l'appareil prend en charge deux stations simultanées, une analyse est 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 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 connecté au 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 détecté, le micrologiciel active le framework.

Le framework 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 immobile), l'intervalle est de 60 secondes pour les trois premiers balayages (contrôlés par la superposition config_wifiStationaryPnoScanIntervalMillis) et de 180 secondes (un multiplicateur fixe de 3 fois la superposition) pour les balayages suivants. 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 3 fois la superposition) pour les analyses suivantes.

Réseaux de nominateurs

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 instables).
  • 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.
  • Il n'est pas 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).
  • Nomination 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).

Évaluateurs des 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).
  • Un boost de score est calculé en fonction d'une estimation du 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 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) sont moins bien notés que tous les autres réseaux.
  • 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. Réseaux non facturés à l'usage suggérés
  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 illimité (sans frais) enregistré est toujours sélectionné avant un réseau limité (payant) enregistré. 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). Lorsqu'une défaillance se produit:

  • 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 en continu sur le même BSSID. La durée correspond à la durée de base multipliée de manière exponentielle par la série d'échecs, c'est-à-dire qu'une série d'échecs de 2 implique une durée de bloc de base multipliée par 4.

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 Impossible de gérer la nouvelle station d'accès : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Échec de la validation Internet via ce réseau : config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Code d'échec de l'authentification du 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 protocole DHCP, échec de la provision du protocole 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 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.
  • 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:

  • Reboot (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 (effacé de manière conditionnelle uniquement si la dernière fois que l'appareil s'est connecté à ce BSSID remonte à plus de trois heures)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Validation du réseau réussie: réinitialise pour 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 qui enregistre cinq échecs consécutifs est désactivé pendant cinq minutes, puis 10 minutes au sixième échec, 20 minutes au 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 DHCP 5 5 minutes Temporaire
DISABLED_NO_INTERNET_TEMPORARY La validation du réseau a échoué, 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 NA Permanente
DISABLED_NO_INTERNET_PERMANENT Valeur par défaut en cas d'échec de la validation du réseau 1 NA Permanente
DISABLED_BY_WIFI_MANAGER Obsolètes et non utilisés 1 NA Permanente
DISABLED_BY_WRONG_PASSWORD Le mot de passe est incorrect, et ce réseau ne s'est jamais connecté à 1 NA Permanente
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Échec de l'EAP lorsque la carte SIM n'est pas abonnée 1 NA Permanente
DISABLED_ASSOCIATION_REJECTION Échecs de refus d'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 NA 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:

  • La durée de désactivation est terminée.
  • L'utilisateur sélectionne manuellement le réseau auquel se connecter.
  • L'utilisateur active 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 bien 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 fiches de performances, introduites dans Android 10, enregistrent des statistiques sur les BSSID sur l'appareil. 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 utilisateur 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 proposent 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 capturée en marquant toutes les configurations Wi-Fi visibles et leur intensité de 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 de connexion choisi par l'utilisateur avait accès à Internet la dernière fois qu'il a été utilisé
  • Le choix de connexion de l'utilisateur a une intensité de signal qui n'est pas pire que lorsqu'il a été sélectionné à l'origine, 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 suggérés.

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 (création avant rupture) 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. Les instructions permettant aux fabricants d'appareils de configurer cette fonctionnalité sont disponibles dans 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 la communication, et même dans ce cas, pour les réseaux avec des clés prédéfinies, ils n'offrent pas une grande 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 des 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.