Auswahl des Android-WLAN-Netzwerks

Auf dieser Seite werden die Algorithmen und Verfahren beschrieben, die in Android 12 zum Auswählen und Wechseln zwischen Wi-Fi-Netzwerken verwendet werden. Android wertet kontinuierlich die Qualität des verbundenen Netzwerks aus und bewertet die Qualität der verfügbaren Netzwerke.

Lebensdauer einer automatischen Verbindung

Dies beschreibt den Prozess, wie ein Android-Gerät die verfügbaren Wi-Fi-Netzwerke bewertet und eine Verbindung mit ihnen herstellt.

  1. Das Gerät sucht auf eine der folgenden Arten nach verfügbaren Netzwerken, je nachdem, ob der Bildschirm ein- oder ausgeschaltet ist.

    • Bildschirm (angeschlossen): Die Android - Konnektivität Subsystem wertet regelmäßig , ob die aktuelle Verbindung ist gut genug Scannen zu überspringen (wie definiert Bildschirm-on - Scans ). Wenn die Verbindung nicht gut genug ist , den Scanvorgang zu überspringen, die Konnektivität Subsystem Trigger ein Scan mit verfügbaren Netzwerken zu erkennen. Diese Scans können auch von anderen Systemkomponenten wie dem Ortungssystem oder einer App (einschließlich der Einstellungen-App) ausgelöst werden.
    • Bildschirm (nicht angeschlossen): Die Android Konnektivitäts Subsystems Probleme periodische Abtastungen folgenden ein exponentielles Backoff Zeitplan. Das Modul wertet alle empfangenen Scan-Ergebnisse aus und versucht, das beste Netzwerk für die Verbindung auszuwählen.
    • Bildschirm aus (getrennt): Die Host - CPU programmiert die Firmware mit einer Liste der bevorzugten Netzwerke mit bevorzugten Netzwerk - Offload (PNO) scannt, sobald der Bildschirm erlischt. Die Firmware weckt den Host, wenn er eines der bevorzugten Netzwerke findet. AOSP geht davon aus, dass PNO auf dem Gerät unterstützt wird.

    Die WifiManager#allowAutojoinGlobal(boolean) Methode kann zu deaktivieren automatischen Verbindungen verwendet werden. Dies ist eine privilegierte API, die von Geräteherstellern unter bestimmten Umständen verwendet werden kann (z. B. ein nicht mobiles, vorkonfiguriertes Gerät).

    Wenn das Gerät angeschlossen ist und die config_wifi_framework_enable_associated_network_selection overlay eingestellt ist false , wird keine Konnektivität Scans durchgeführt , und Scan - Ergebnisse nicht Triggernetzwerkauswahl. Diese Einstellung hat keine Auswirkung, wenn das Gerät getrennt wird, d. h., es werden weiterhin Konnektivitätsscans und Netzwerkauswahl durchgeführt.

  2. Scanergebnisse werden ausgewertet.

    • Wenn das Gerät mit einem Wi-Fi - Netzwerk verbunden ist, wird der Rahmen auswertet , ob das aktuelle Netzwerk gut genug , um Netzwerkauswahl zu überspringen.

      Ein Netzwerk wird als gut genug definiert Netzauswahl zu überspringen , wenn eine der folgenden Voraussetzungen erfüllt sind:

      • Seit der letzten Netzwerkauswahl sind weniger als 10 Sekunden vergangen.
      • Der Benutzer manuell vor kurzem mit dem Netzwerk verbunden (wobei in letzter Zeit ist die Verwendung konfigurierbarer config_wifiSufficientDurationAfterUserSelectionMilliseconds overlay).
      • Das Gerät ist mit einer Online-Anmeldeverbindung (OSU) verbunden.
      • Alle folgenden Anforderungen sind erfüllt:

        • Die RSSI oberhalb dem erforderlichen RSSI Schwellenwert oder ausreichender Verkehr wird über die Verbindung fließen (siehe Bildschirm-on - Scans für RSSI und Verkehrsschwellen).
        • Das Netzwerk ist validiert (mit dem Internet verbunden) oder vom Benutzer für die Verwendung ohne Internetzugang zugelassen.
    • Wenn das Netzwerk gut genug ist , Netzwerkauswahl zu überspringen, sind keine weiteren Maßnahmen ergriffen.

    • Wenn das angeschlossene Wi-Fi - Netzwerk ist nicht gut genug , oder wenn das Gerät nicht mit einem Netzwerk verbunden ist, ruft das Framework das Netzwerk Nominatoren eine Liste von Kandidaten - Wi-Fi - Netzwerken zu erzeugen, basierend auf gefilterten Scan - Ergebnisse zu verbinden. Die Netzwerk-Nominatoren finden bestehende WLAN-Konfigurationen oder erstellen neue Konfigurationen für die Kandidatennetzwerke.

    • Die Untersuchungsergebnisse werden gefiltert BSSIDs zu entfernen , die einen RSSI unter dem Eintrag RSSI (konfigurierbar haben unter Verwendung der config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz und config_wifiFrameworkScoreEntryRssiThreshold6ghz Overlays). Außerdem werden blockierte BSSIDs gefiltert. BSSIDs können aufgrund von wiederholten Verbindungsfehlern, häufigen Verbindungsabbrüchen und expliziten Aufforderungen des AP, für einen bestimmten Zeitraum keine Verbindung zu versuchen (MBO-OCE), blockiert werden. BSSID Blockierung wird unten beschrieben SSID und BSSID Blockierung .

    • Wenn sich das Gerät schnell bewegt, werden die Scan-Ergebnisse optional weiter gefiltert, um BSSIDs zu entfernen, deren RSSI schnell variiert (ein Hinweis darauf, dass sie sich nicht mit dem Gerät bewegen). Diese Optimierung ist konfigurierbar mit config_wifiHighMovementNetworkSelectionOptimizationEnabled (Aktivieren / Deaktivieren der Optimierung) und die config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs und config_wifiHighMovementNetworkSelectionOptimizationRssiDelta Overlays, die die Stabilitätsanforderung über die Untersuchungsergebnisse (RSSI Änderung über Scan - Ergebnisse ausreichend getrennt in der Zeit) zu konfigurieren.

  3. Der Rahmen wird mit dem Kandidatenstand eine Punktzahl für jeden Service Set Identifier (SSID) Kandidaten zu erzeugen. Die SSID-Kandidaten können mehrere Basic Service Set Identifier (BSSID)-Kandidaten (von den Netzwerk-Nominatoren erzeugt) umfassen. Der Kandidat mit der höchsten Punktzahl ist der Gewinner Kandidaten.

  4. Das Framework führt den Benutzer connect Wahl - Algorithmus, der einer vom Benutzer gewählten Netzwerk der neuen Gewinn Kandidaten statt mit den Siegkandidaten aus dem Kandidaten Torschütze machen könnte.

  5. Das Framework bestimmt, ob der Gewinnerkandidat mit dem aktuell verbundenen Netzwerk übereinstimmt. Um als Übereinstimmung zu gelten, muss eine der folgenden Bedingungen erfüllt sein:

    • Der Gewinnerkandidat und das verbundene Wi-Fi-Netzwerk haben dieselbe BSSID.
    • Wenn Firmware-Roaming verfügbar ist (einschließlich BSSID-Blacklist-Funktion), haben der Gewinnerkandidat und das verbundene Netzwerk dieselbe SSID und denselben Sicherheitstyp.

    Wenn der Gewinnerkandidat mit dem aktuell verbundenen Netzwerk übereinstimmt, werden keine weiteren Maßnahmen ergriffen. Wenn der Gewinnerkandidat nicht mit dem Netzwerk übereinstimmt, wird das Gerät dem Gewinnerkandidaten zugeordnet.

Beachten Sie, dass die automatische Netzwerkverbindung deaktiviert wird , während eine App , die verwendet Wi-Fi - Netzwerk anfordern API , die das System überschreibt und schafft eine nicht-Internet - LAN, außer auf Geräte , die Dual gleichzeitige Stationen unterstützen.

Bewertung eines angeschlossenen Netzwerks

Das Android-Framework oder die Android-Firmware bewertet regelmäßig die Qualität des verbundenen Netzwerks. In diesem Abschnitt wird beschrieben, wie das angeschlossene Netzwerk bei ein- oder ausgeschaltetem Bildschirm bewertet wird.

Diese Auswertung wird zusätzlich zu der gemachten Netzauswahl oben diskutiert.

Bildschirm An

Das Android-Framework bewertet das verbundene Netzwerk wie folgt:

  1. Die Wi-Fi - Service Umfragen RSSI und Link-Layer - Statistik alle 3 Sekunden (konfigurierbar , um die Verwendung von config_wifiPollRssiIntervalMilliseconds Overlay).
  2. Der Wi-Fi-Dienst berechnet einen verbundenen Score basierend auf den RSSI- und Link-Layer-Statistiken.
  3. Der Wi-Fi-Dienst leitet die Punktzahl an den Konnektivitätsdienst weiter, der anhand der Punktzahl bestimmt, ob eine Verbindung zu einem Wi-Fi-Netzwerk oder zu einem anderen verfügbaren Netzwerktyp, z. B. einem Mobilfunknetz, hergestellt werden soll.

Abblenden

Der Rahmen nicht einleitet eine Auswertung auf dem angeschlossenen Netzwerk, aber der Netzwerkauswahlprozess auftreten kann , wenn noch Scans durch andere Komponenten initiiert werden (beispielsweise Location Service). Die Firmware bewertet die Netzwerkqualität und wenn die Netzwerkqualität schlecht ist, kann die Firmware durchstreifen oder (eventuell) sich vom Netzwerk trennen und den Host aufwecken.

Konnektivitätsscans

Scans werden automatisch durchgeführt, je nachdem, ob das Gerät den Bildschirm eingeschaltet hat, der Bildschirm ausgeschaltet und mit Wi-Fi verbunden ist oder der Bildschirm ausgeschaltet ist und nicht mit dem Wi-Fi verbunden ist.

Bildschirm An

Das Framework löst beim Einschalten des Bildschirms in zunehmenden Abständen Scanentscheidungen aus. Die Scan - Entscheidungsintervalle werden mit der konfigurierten config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec und config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec Overlays (der Arrays von ganzen Zahlen sind). Standardmäßig erfolgen Scans mit exponentiellen Backoff-Intervallen von 20, 40, 80 und 160 Sekunden, wobei nachfolgende Scans möglicherweise in 160-Sekunden-Intervallen durchgeführt werden (dies sind die Standardwerte der obigen Überlagerungen).

Die exponentiellen Backoff-Abtastintervalle werden zurückgesetzt und nach 20 Sekunden neu gestartet, wenn sich der Bildschirmzustand ändert, d. h. wenn der Bildschirm ein- oder ausgeschaltet wird.

Eine Entscheidung , ob eine Abtastung auszuführen oder überspringen ist , basierend darauf , ob die aktuelle Netzwerkverbindung gut genug ist , den Scanvorgang zu überspringen. Eine Verbindung ist gut genug , um den Scanvorgang zu überspringen , wenn eine der folgenden Voraussetzungen erfüllt sind:

  • Das Gerät ist mit einer Online-Anmeldeverbindung (OSU) verbunden.
  • Ausreichend Verkehr fließt durch die Verbindung (siehe Verkehrsschwellen unten).
  • Die RSSI oberhalb der erforderlichen RSSI - Schwelle (siehe RSSI Schwellen unten) und Netzwerkauswahl wurde kürzlich (10 Minuten standardmäßig , sondern kann unter Verwendung der so konfiguriert werden , durchgeführt config_wifiConnectedHighRssiScanMinimumWindowSizeSec overlay) und entweder das Netzwerk validiert ist (mit dem Internet verbunden ist ) oder Benutzer -zugelassen für die Verwendung ohne Internetzugang.

Die RSSI- und Traffic-Schwellenwerte sind:

  • RSSI oberhalb -73 dBm für die 2,4 - GHz - Band, mit dem konfigurierten config_wifi_framework_wifi_score_low_rssi_threshold_24GHz overlay oder -70 dBm für die 5 GHz und 6 GHz - Bands, konfigurierte , um mit der config_wifi_framework_wifi_score_low_rssi_threshold_5GHz und config_wifiFrameworkScoreLowRssiThreshold6ghz Overlays.
  • Verkehr (Sende- oder Empfang) liegt oberhalb von 16 Paketen pro Sekunde (pps) mit der konfigurierten config_wifiFrameworkMinPacketPerSecondActiveTraffic Overlay.

Bildschirm ausgeschaltet und mit WLAN verbunden

Wenn der Bildschirm ausgeschaltet ist und das Gerät mit einem Wi-Fi-Netzwerk verbunden ist, führt die Firmware (Wi-Fi SoC) Roaming-Scans durch. Das Framework führt keine Scans durch, wenn der Bildschirm ausgeschaltet ist.

Bildschirm ausgeschaltet und nicht mit Wi-Fi verbunden (nicht verbundener Zustand)

Wenn der Bildschirm ausgeschaltet ist und Wi-Fi getrennt ist, die Firmware führt PNO - Scans für SSIDs. Das Framework konfiguriert die Firmware mit einer Liste von zu scannenden SSIDs und einer Liste von Kanälen, auf denen gescannt werden soll. Wird eine konfigurierte SSID gefunden, weckt die Firmware das Framework.

Das Framework konfiguriert auch das Intervall, in dem die Firmware PNO-Scans durchführen soll, indem es den Gerätemobilitätsstatus verwendet, um verschiedene Scan-Intervalle auszuwählen. In einem geringen Mobilitätszustand (das Gerät stationär ist ) das Intervall beträgt 60 Sekunden für die ersten drei Abtastungen (durch die gesteuerte config_wifiStationaryPnoScanIntervalMillis overlay) und 180 Sekunden (ein festes 3x Multiplikator des Overlays) für nachfolgende Abtastungen. In einem hohen Mobilitätszustand ist das Intervall 20 Sekunden für die ersten drei Scans (gesteuert durch die config_wifiMovingPnoScanIntervalMillis overlay) und 60 (a festes 3x Multiplikator des Overlays) Sekunden für nachfolgende Abtastungen.

Netzwerk-Nominatoren

Das Netzwerk Nominatoren finden oder erstellen Konfigurationen ( WifiConfiguration ) für Netzwerke , die sind:

  • Derzeit verfügbar (basierend auf den Scan-Ergebnissen) oder das aktuell verbundene Netzwerk (das manchmal bei flockigen Scan-Ergebnissen fehlt).
  • Haben Sie eine minimale RSSI. Minimal RSSI ist -80 dBm für die 2,4 - GHz - Band und -77 dBm für die 5 GHz und 6 GHz - Bands, konfigurierbar unter Verwendung der config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz und config_wifiFrameworkScoreEntryRssiThreshold6ghz Overlays.
  • Nicht gesperrt, z. B. aufgrund früherer Verbindungsausfälle.
  • Das Netzwerk zeigt nicht an, dass es unbrauchbar ist (z. B. bei Verwendung von MBO/OCE).
  • Kann mit den auf dem Gerät verfügbaren Anmeldeinformationen verknüpft werden.

Die folgenden Netzwerk-Nominatoren werden verwendet:

  • Gespeichert Netzwerk nominator: Wertet alle gespeicherten Netzwerke (einschließlich der gespeicherten Passpoint- Abonnements).
  • Empfohlene Netzwerk nominator: Wertet alle von Anwendungen bereitgestellt Netzwerke unter Verwendung der Anregung API (einschließlich vorgeschlagen Passpoint- Abonnements).
  • Äußerlich hat Netzwerk nominator: OEM Mechanismus Netzwerk - Connectivity - Optionen auf dem Gerät zur Verfügung zu stellen. Weitere Informationen finden Sie Anbieter externen Netzwerk Bewertung .

Kandidaten-Scorer

Kandidaten-Scorer bewerten jeden Kandidaten und geben ihm eine Punktzahl. Die Punktzahl für ThroughputScorer (der Standard scorer) auf der folgenden Basis:

  • Eine Basisbewertung basierte auf RSSI berechnet , wo RSSI bei -73 dBm für die 2,4 - GHz - Band mit einer Kappe bedeckt wird oder -70 dBm für die 5 GHz und 6 GHz - Bändern (konfigurierte mit der config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz und config_wifiFrameworkScoreLowRssiThreshold6ghz Overlays).
  • Ein Score-Boost wird basierend auf einer Durchsatzschätzung berechnet, die aus der Technologie, Kanalfrequenz, Bandbreite, RSSI, Kanalbedingungen, der maximalen Anzahl von räumlichen Strömen und anderen Parametern abgeleitet wird. Der Score - Boost ist konfigurierbar , um die Verwendung von config_wifiFrameworkThroughputBonusNumerator und config_wifiFrameworkThroughputBonusDenominator Overlays und wird auf einen Maximalwert begrenzt angegebene Verwendung config_wifiFrameworkThroughputBonusLimit Overlay.
  • Ein Kandidat Netzwerk , das durch den Benutzer oder durch eine App bekommt einen großen Punktzahl Schub für eine Dauer konfigurierbar mit dem vor kurzem wurde ausgewählt config_wifiFrameworkLastSelectionMinutes Overlay (für die Dauer des Netzwerk garantiert über nonuser ausgewählten Netzwerke ausgewählt werden).
  • Ein Kandidat, der das aktuelle Netzwerk Spiele bekommt eine Punktzahl Auftrieb durch die konfigurierten config_wifiFrameworkCurrentNetworkBonusMin und config_wifiFrameworkCurrentNetworkBonusPercent Overlays (es einen Extra - Bonus bekommt auf einem Prozentsatz ihrer RSSI basiert und Durchsatz-basierte Punktzahl, bis auf den konfigurierbaren Minimum).
  • Ein sicheres Netzwerk wird höher bewertet als ein offenes Netzwerk. Der Bonus ist so konfiguriert , die mit config_wifiFrameworkSecureNetworkBonus Overlay.
  • Ein nicht gemessenes (kostenloses) Netzwerk wird höher bewertet als ein gemessenes (bezahltes) Netzwerk. Der Bonus ist so konfiguriert , die mit config_wifiFrameworkUnmeteredNetworkBonus Overlay.
  • Ein gespeichertes Netzwerk wird höher bewertet als ein mithilfe der Suggestion API vorgeschlagenes Netzwerk. Der Bonus ist so konfiguriert , die mit config_wifiFrameworkSavedNetworkBonus Overlay.
  • Nicht vertrauenswürdige Netzwerke (die als Teil der Suggestion API angefordert werden können) werden niedriger bewertet als alle anderen Netzwerke.
  • Ein Netzwerk, bei dem zuvor erkannt wurde, dass es kein Internet hat, erhält eine Punktzahl von 0, wenn das Gerät derzeit mit einem anderen Netzwerk mit Internetzugang verbunden ist.

Der Standardbonus für gespeichert im Vergleich zu Vorschlag und nicht gemessen im Vergleich zu gemessen (d. h. die Standard-Overlay-Werte) erzeugen eine strenge Prioritätsreihenfolge für gespeichert, vorgeschlagen, gemessen und nicht gemessen:

  1. Gespeicherte nicht gemessene Netzwerke
  2. Vorgeschlagene nicht gemessene Netzwerke
  3. Gespeicherte gemessene Netzwerke
  4. Empfohlene gemessene Netzwerke

Dies bedeutet, dass immer ein gespeichertes nicht gemessenes (kostenloses) Netz vor einem gespeicherten gemessenen (bezahlten) Netz ausgewählt wird. Der kürzlich (durch Benutzer oder App) ausgewählte Punktebonus kann diese strenge Priorität außer Kraft setzen.

Im Framework können mehrere Kandidaten-Scorer installiert sein, es kann jedoch immer nur einer aktiv sein. Die anderen Scorer können für Metriken verwendet werden (um alternative Algorithmen zu untersuchen). In Android 11 ist der Standard Torschütze ThroughputScorer .

SSID- und BSSID-Blockierung

Das Framework kann SSIDs und/oder BSSIDs blockieren, dh sie für Verbindungen weder vorübergehend noch dauerhaft berücksichtigen.

BSSID-Blockierung

Die BSSID-Blockierung funktioniert, indem pro spezifischem Fehlertyp zwei Fehlerzähler, ein kontinuierlicher Fehlerzähler und ein Streak-Zähler, beibehalten werden (siehe unten für eine Liste der Fehlertypen). Wenn ein Fehler auftritt:

  • Der Zähler für den entsprechenden Fehlertyp wird inkrementiert.
  • Wenn der Fehlerschwellenwert für diesen Fehlertyp erreicht wird:
    • Die BSSID ist gesperrt.
    • Der Streak-Zähler für den Fehler wird inkrementiert.

Die Dauer für eine BSSID beginnt an einem (konfigurierbar) Grundwert (angegeben durch den blockiert config_wifiBssidBlocklistMonitorBaseBlockDurationMs oder config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs Overlays, abhängig von der RSSI) und erhöht sich exponentiell oberen auf ein konfigurierbares up gebunden (festgelegt durch die config_wifiBssidBlocklistMonitorFailureStreakCap overlay). Die Dauer erhöht sich, wenn auf derselben BSSID ständig Ausfälle auftreten. Die Dauer ist die Basisdauer, die exponentiell um den Fehlerstreifen erhöht wird, d. h. ein Fehlerstreifen von 2 impliziert die 4-fache Basisblockdauer.

Die Schwellenwerte für die BSSID-Blockierung hängen vom Fehlergrund ab und sind jeweils mit Overlays anpassbar:

  • AP lehnt Vereinigung mit dem MBO / OCE Es kann keine neuen STA - Code behandeln: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • Internet - Validierung durch dieses Netzwerk fehlgeschlagen: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Falscher Passwort - Authentifizierung Fehlercode: config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • EAP Ausfall Authentifizierung Fehlercode für die EAP - Netzwerke: config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • Verband Ablehnung, andere allgemeine Verein Ablehnungen: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • Verband Timeout: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Authentifizierungsfehler, andere allgemeine Authentifizierungsfehler: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • DHCP Ausfall, Ausfall der Bereitstellung DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • : Abnormal disconnect, hat das Gerät von dem Netzwerk innerhalb einer sehr kurzen Zeit nach dem Anschließen getrennt config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . Das Zeitfenster ist konfigurierbar mit config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs .

Bedingungen zum Löschen der BSSID-Blockliste

Eine BSSID wird aus der Sperrliste gelöscht, wenn:

  • Wi-Fi ist umgeschaltet: Alle BSSIDs werden aus der Blockliste entfernt.
  • Der Benutzer tippt im WLAN-Picker auf ein Netzwerk: Alle BSSIDs des vom Benutzer ausgewählten Netzwerks werden aus der Sperrliste entfernt.
  • Timeout: BSSIDs werden aus der Blockliste entfernt, wenn die Blockdauer erreicht ist.
  • Neustart: Alle Blocklisten werden gelöscht.
  • Netzwerk entfernt: Alle diesem Netzwerk zugeordneten BSSIDs werden aus der Sperrliste entfernt.

Rücksetzbedingungen für Fehler- und Streak-Zähler:

  • Neustart: Zurücksetzen für alle BSSIDs.
  • Netzwerk entfernt: Zurücksetzen für BSSIDs, die dem Netzwerk zugeordnet sind.
  • L2-Verbindung erfolgreich: Zurücksetzen für die folgenden Fehlercodes.

    • 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 (bedingt nur gelöscht , wenn das letzte Mal das Gerät an diesen BSSID verbunden war mehr als 3 Stunden)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Erfolgreiche Netzwerkvalidierung: Wird für den folgenden Fehlercode zurückgesetzt.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Erfolgreiche DHCP-Bereitstellung: Wird für den folgenden Fehlercode zurückgesetzt.

    • REASON_DHCP_FAILURE

SSID-Blockierung

Die SSID-Blockierung funktioniert ähnlich wie die BSSID-Blockierung. Ein Fehlerzähler pro Fehlertyp pro Netzwerk wird erhöht, wenn Verbindungsfehler (dieses Typs) auftreten. Wenn die Fehleranzahl eines bestimmten Typs einen Schwellenwert überschreitet, wird die SSID basierend auf einer Konfiguration dauerhaft oder vorübergehend gesperrt. Die Konfiguration für jeden Fehlertyp wird in codiert WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS und wird im Folgenden zusammengefasst.

* Bei vorübergehend deaktivierten Netzwerken ändert sich die Deaktivierungsdauer dynamisch basierend auf der Anzahl der aufeinanderfolgenden Verbindungsfehler im Netzwerk. Nachdem ein Netzwerk fünfmal nacheinander keine Verbindung herstellen konnte, führt jeder nachfolgende Fehler zu einer doppelt so langen Deaktivierungsdauer wie die vorherige Dauer. Ein Netzwerk mit fünf aufeinanderfolgenden Ausfällen wird beispielsweise für 5 Minuten deaktiviert, dann 10 Minuten beim sechsten Ausfall, 20 Minuten beim siebten Ausfall usw. bis zur Höchstgrenze von 18 Stunden.

Fehlercode Beschreibung Schwelle Dauer der Basisdeaktivierung* Typ deaktivieren
DISABLED_DHCP_FAILURE Fehler beim Bereitstellen von DHCP 5 5 Minuten Vorübergehend
DISABLED_NO_INTERNET_TEMPORARY Die Netzwerkvalidierung ist fehlgeschlagen, aber der Benutzer gibt an, dass er sich in Zukunft weiterhin mit diesem Netzwerk verbinden möchte 1 10 Minuten Vorübergehend
DISABLED_AUTHENTICATION_NO_CREDENTIALS Dem Antragsteller fehlen die Anmeldeinformationen zum Herstellen einer Verbindung mit dem Netzwerk 1 N / A Dauerhaft
DISABLED_NO_INTERNET_PERMANENT Standard für Netzwerkvalidierungsfehler 1 N / A Dauerhaft
DISABLED_BY_WIFI_MANAGER Veraltet und ungenutzt 1 N / A Dauerhaft
DISABLED_BY_WRONG_PASSWORD Das Passwort ist falsch und dieses Netzwerk wurde noch nie erfolgreich verbunden 1 N / A Dauerhaft
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION EAP-Fehler, bei dem die SIM-Karte nicht abonniert ist 1 N / A Dauerhaft
DISABLED_ASSOCIATION_REJECTION Assoziationsablehnungsfehler 5 5 Minuten Vorübergehend
DISABLED_AUTHENTICATION_FAILURE Andere Authentifizierungsfehler (d. h. kein falsches Passwort oder EAP-Fehler) 5 5 Minuten Vorübergehend
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Anbieterspezifischer (privater) EAP-Fehler. 1 N / A Dauerhaft
DISABLED_NETWORK_NOT_FOUND Der Supplikant konnte in den Scan-Ergebnissen kein Netzwerk finden, das dem Netzwerk entspricht, das vom Framework für die Verbindung angefordert wurde (einschließlich Netzwerkfunktionen). 2 5 Minuten Vorübergehend
DISABLED_CONSECUTIVE_FAILURES Das Netzwerk konnte fünf oder mehr Mal hintereinander keine Verbindung herstellen. Der Fehlertyp für diese Fehler umfasst die in dieser Tabelle aufgeführten Fehlertypen, ist aber nicht darauf beschränkt.
5 5 Minuten Vorübergehend

Ein vorübergehend deaktiviertes Netzwerk wird wieder aktiviert, wenn:

  • Die Sperrdauer ist abgelaufen.
  • Der Benutzer wählt das zu verbindende Netzwerk manuell aus.
  • Der Benutzer schaltet Wi-Fi um.
  • Das System wird neu gestartet.

Ein dauerhaft deaktiviertes Netzwerk wird wieder aktiviert, wenn:

  • Der Benutzer wählt das zu verbindende Netzwerk manuell aus.

Fehlerzähler für ein Netzwerk werden zurückgesetzt, wenn:

  • Das Netzwerk wird entfernt.
  • Gerät hat sich erfolgreich mit dem Netzwerk verbunden.
  • Das Netzwerk wurde nach Ablauf der Deaktivierungsdauer wieder aktiviert.
  • Der Benutzer wählt das zu verbindende Netzwerk manuell aus.
  • Das System wird neu gestartet.

Wertungslisten

Scorecards, die in Android 10 eingeführt wurden, zeichnen Statistiken zu BSSIDs auf dem Gerät auf. Score - Karten werden beharren die Verwendung IpMemoryStore Service.

Scorekarten werden bei der Android 11-Netzwerkauswahl nicht verwendet.

Benutzerverbindungsauswahl

Android verfügt über einen Algorithmus zur Auswahl der Benutzerverbindung, der es dem Auswahlprozess ermöglicht, Wi-Fi-Netzwerke zu bevorzugen, die ein Benutzer explizit mit einem Heimnetzwerk verbunden hat. Benutzer ziehen solche Netzwerke möglicherweise öffentlichen Netzwerken vor, selbst wenn die Leistung geringer ist als die eines öffentlichen Netzwerks, da sie zusätzliche Dienste wie die Möglichkeit zur Steuerung von Heimgeräten bereitstellen.

Die Präferenz des Benutzers für ein Netzwerk wird erfasst, indem alle sichtbaren Wi-Fi-Konfigurationen und deren Signalstärken markiert werden, wenn der Benutzer ein Netzwerk auswählt. Wenn während des automatischen Auswahlvorgangs eine der markierten WLAN-Konfigurationen ausgewählt wird und ein vom Benutzer ausgewähltes Netzwerk verfügbar ist, überschreibt der Algorithmus zur Auswahl der Benutzerverbindung die Auswahl mit dem vom Benutzer ausgewählten Netzwerk, wenn die folgenden Bedingungen erfüllt sind:

  • Das Netzwerk der Benutzerverbindungsauswahl hatte bei der letzten Verwendung einen Internetzugang.
  • Die vom Benutzer gewählte Verbindung hat eine Signalstärke, die nicht schlechter ist als bei der ursprünglichen Auswahl mit einer Fehlerspanne. Dieser Fehlerbereich kann mit dem Overlay konfiguriert werden config_wifiEstimateRssiErrorMarginDb .

Das Netzwerk der Benutzerverbindungsauswahl bleibt nach einem Neustart bestehen. Die Verbindungsauswahl des Benutzers funktioniert für gespeicherte Netzwerke, Passpoint-Netzwerke und Vorschlagsnetzwerke.

Duale gleichzeitige Stationen

In diesem Abschnitt wird die WLAN-Netzwerkauswahl beschrieben, wenn ein Gerät die gleichzeitige Verbindung mit zwei WLAN-Netzwerken unterstützt.

Make-be-for-break

Wenn die Make-vor-Bruch - Funktion aktiviert ist, um das Gerät versucht, das neue Netzwerk zu verbinden , bevor du aus dem alten Netz zu trennen. Der Make-be-for-Break-Flow verwendet denselben Netzwerkauswahlalgorithmus wie das Break-before-Make-Netzwerk-Switching (d. h. wenn das Gerät vom alten Netzwerk trennt, bevor es mit dem neuen verbunden wird). Wählt der Netzauswahlalgorithmus ein Netz, das nicht mit Make-before-Break geschaltet werden kann, greift das Gerät automatisch auf Break-before-Make zurück.

Gleichzeitige eingeschränkte und Internetverbindung

Wenn die gleichzeitige eingeschränkt und Internetverbindung Funktion aktiviert ist, kann das Gerät auf ein sekundäres beschränkt Wi-Fi - Netzwerk verbinden , die nur verfügbar ist , Apps vom Gerätehersteller konfigurierten auszuwählen. Anweisungen für Gerätehersteller zu konfigurieren , ist dies in Concurrent beschränkt und Internet - Anschluss .

Wenn der Netzwerkauswahlalgorithmus Scanergebnisse erkennt, die dem vom OEM bezahlten/privaten Vorschlag entsprechen, verbindet er sich automatisch mit diesem als zweites Netzwerk. Die Netzwerkauswahl für das primäre Wi-Fi-Netzwerk (das eine Internetverbindung zu regulären Apps bereitstellt) erfolgt normalerweise parallel.

Häufig gestellte Fragen (FAQ)

  1. Haben sichere Netzwerke immer Vorrang vor offenen Netzwerken?

    Nein. Gespeichert im Vergleich zu vorgeschlagen und gemessen im Vergleich zu nicht gemessen sind die primären Kategorien, in denen Netzwerke bewertet werden. Innerhalb jeder Kategorie haben sichere Netzwerke eine gewisse Priorität gegenüber offenen Netzwerken, jedoch wird der Qualität der Verbindung ein viel höheres Gewicht beigemessen.

    Der Grund dafür ist, dass die tatsächliche Sicherheit der Benutzerdaten durch eine Ende-zu-Ende-Verschlüsselung (z. B. TLS) gewährleistet ist. Sichere Netzwerke verschlüsseln nur den ersten Teil der Kommunikation, und selbst dann bieten Netzwerke mit vorinstallierten Schlüsseln nicht viel Privatsphäre.

  2. Warum werden gespeicherte Netzwerke gegenüber vorgeschlagenen Netzwerken bevorzugt?

    Gespeicherte freie (nicht gemessene) Netzwerke werden gegenüber vorgeschlagenen freien Netzwerken priorisiert und gespeicherte gemessene Netzwerke werden vor vorgeschlagenen gemessenen Netzwerken priorisiert.

    Gespeicherte Netzwerke werden gegenüber vorgeschlagenen Netzwerken priorisiert, da gespeicherte Netzwerke Netzwerke sind, die der Benutzer dem Gerät explizit hinzugefügt hat. Das impliziert eine Präferenz, sich nach Möglichkeit mit diesen Netzwerken zu verbinden.

    Beachten Sie, dass Benutzer das automatische Verbindungsverhalten für einzelne gespeicherte Netzwerke deaktivieren können, dh angeben, dass diese Netzwerke nur manuell verwendet und nicht automatisch vom Gerät berücksichtigt werden sollen.

  3. Kann ich die strenge Prioritätsreihenfolge ändern oder ganz entfernen?

    Die Gerätehersteller können die Netzwerk - Auswahlentscheidungen ändern , indem Sie den Bonus - Overlays in den obigen Abschnitten aufgeführten ändern. Es wird jedoch nicht empfohlen, die Standardwerte zu ändern, da sie nach sorgfältiger Abwägung mehrerer Anwendungsfälle ausgewählt wurden.