WLAN-Auswahl

Auf dieser Seite werden die Algorithmen und Verfahren beschrieben, die in Android 12 zum Auswählen und Umschalten zwischen WLANs verwendet werden. Android prüft kontinuierlich die Qualität des verbundenen Netzwerks und die Qualität der verfügbaren Netzwerke.

Ablauf einer automatischen Verbindung

Hier wird beschrieben, wie ein Android-Gerät verfügbare WLANs bewertet und eine Verbindung herstellt.

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

    • Screen on (Connected): Das Android-Konnektivitätssubsystem prüft regelmäßig, ob die aktuelle Verbindung gut genug ist, um den Scanvorgang zu überspringen (wie unter Screen-on-Scans definiert). Wenn die Verbindung nicht gut genug ist, um den Scanvorgang zu überspringen, löst das Konnektivitätssubsystem einen Scan aus, um verfügbare Netzwerke zu finden. Diese Prüfungen können auch von anderen Systemkomponenten wie dem Standortsystem oder einer App (einschließlich der Einstellungen App) ausgelöst werden.
    • Display ein (nicht verbunden): Das Android-Konnektivitäts-Subsystem führt regelmäßige Scans nach einem exponentiellen Backoff-Zeitplan durch. Das Modul bewertet alle empfangenen Scanergebnisse und versucht, das beste Netzwerk für die Verbindung auszuwählen.
    • Display aus (nicht verbunden): Die Host-CPU programmiert die Firmware mit einer Liste bevorzugter Netzwerke, die mithilfe von PNO-Scans (Preferred Network Offload) ermittelt werden, sobald das Display ausgeschaltet wird. Die Firmware weckt den Host auf, wenn eines der bevorzugten Netzwerke gefunden wird. AOSP geht davon aus, dass PNO auf dem Gerät unterstützt wird.

    Mit der Methode WifiManager#allowAutojoinGlobal(boolean) können automatische Verbindungen deaktiviert 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 verbunden ist und das config_wifi_framework_enable_associated_network_selection-Overlay auf false gesetzt ist, werden keine Konnektivitätsscans ausgeführt und die Scanergebnisse lösen keine Netzwerkauswahl aus. Diese Einstellung hat keine Auswirkungen, wenn das Gerät nicht verbunden ist. Das bedeutet, dass weiterhin Konnektivitätsscans und eine Netzwerkauswahl durchgeführt werden.

  2. Die Scanergebnisse werden ausgewertet.

    • Wenn das Gerät mit einem WLAN verbunden ist, prüft das Framework, ob das aktuelle Netzwerk gut genug ist, um die Netzwerkauswahl zu überspringen.

      Ein Netzwerk wird als gut genug eingestuft, um die Netzwerkauswahl zu überspringen, wenn eine der folgenden Anforderungen erfüllt ist:

      • Seit der letzten Netzwerkauswahl sind weniger als 10 Sekunden vergangen.
      • Der Nutzer hat sich vor Kurzem manuell mit dem Netzwerk verbunden. „Vor Kurzem“ kann über das config_wifiSufficientDurationAfterUserSelectionMilliseconds-Overlay konfiguriert werden.
      • Das Gerät ist mit einer Online-Registrierungsverbindung (OSU) verbunden.
      • Alle folgenden Anforderungen sind erfüllt:

        • Der RSSI liegt über dem erforderlichen RSSI-Grenzwert oder es fließt ausreichend Traffic über die Verbindung (RSSI- und Traffic-Grenzwerte finden Sie unter Scans bei eingeschaltetem Display).
        • Das Netzwerk ist geprüft (Verbindung zum Internet) oder wurde vom Nutzer für die Verwendung ohne Internetzugang genehmigt.
        • Das Netzwerk ist nicht befristet.
    • Wenn das Netzwerk gut genug ist, um die Netzwerkauswahl zu überspringen, werden keine weiteren Maßnahmen ergriffen.

    • Wenn das verbundene WLAN nicht gut genug ist oder das Gerät nicht mit einem Netzwerk verbunden ist, ruft das Framework die Netzwerknominierungen auf, um eine Liste der WLAN-Kandidaten zu generieren, mit denen eine Verbindung basierend auf gefilterten Scanergebnissen hergestellt werden kann. Die Netzwerknominanten suchen nach vorhandenen WLAN-Konfigurationen oder erstellen neue Konfigurationen für die Kandidatennetzwerke.

    • Die Scanergebnisse werden gefiltert, um BSSIDs mit einem RSSI unter dem Eintrag RSSI zu entfernen (konfigurierbar mit den Overlays config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz und config_wifiFrameworkScoreEntryRssiThreshold6ghz). Außerdem werden blockierte BSSIDs herausgefiltert. BSSIDs können aufgrund von wiederholten Verbindungsfehlern, häufigen Verbindungsabbrüchen und expliziten Anfragen vom ZP, um für einen bestimmten Zeitraum (MBO-OCE) keine Verbindung herzustellen, blockiert werden. Die BSSID-Blockierung wird unten im Abschnitt SSID- und BSSID-Blockierung beschrieben.

    • Wenn sich das Gerät schnell bewegt, werden die Scanergebnisse optional weiter gefiltert, um BSSIDs zu entfernen, deren RSSI sich schnell ändert (ein Hinweis darauf, dass sie sich nicht mit dem Gerät bewegen). Diese Optimierung kann über config_wifiHighMovementNetworkSelectionOptimizationEnabled (Aktivieren/Deaktivieren der Optimierung) und die config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs- und config_wifiHighMovementNetworkSelectionOptimizationRssiDelta-Overlays konfiguriert werden, mit denen die Stabilitätsanforderung für Scanergebnisse konfiguriert wird (RSSI-Änderung über Scanergebnisse hinweg, die zeitlich ausreichend voneinander getrennt sind).

  3. Das Framework führt den Candidate Scorer aus, um für jeden SSID-Kandidaten (Service Set Identifier) eine Bewertung zu generieren. Die SSID-Kandidaten können mehrere BSSID-Kandidaten (Basic Service Set Identifier) enthalten, die von den Netzwerknominanten generiert wurden. Der Kandidat mit der höchsten Punktzahl ist der Gewinner.

  4. Das Framework führt den Algorithmus User Connect Choice aus. Dadurch wird möglicherweise ein vom Nutzer ausgewähltes Netzwerk zum neuen Gewinner, anstatt den Gewinner aus dem Kandidatenbewerter zu verwenden.

  5. Das Framework bestimmt, ob der Gewinnerkandidat mit dem aktuell verbundenen Netzwerk übereinstimmt. Damit eine Übereinstimmung vorliegt, muss einer der folgenden Punkte erfüllt sein:

    • Der Gewinner und das verbundene WLAN haben dieselbe BSSID.
    • Wenn Firmware-Roaming verfügbar ist (einschließlich BSSID-Blacklist-Funktion), haben der ausgewählte Kandidat und das verbundene Netzwerk dieselbe SSID und denselben Sicherheitstyp.

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

Die automatische Netzwerkverbindung wird deaktiviert, während eine App die Wi-Fi Network Request API verwendet. Dadurch wird das System überschrieben und ein LAN ohne Internetverbindung erstellt, mit Ausnahme von Geräten, die zwei gleichzeitige Stationen unterstützen.

Bewertung eines verbundenen Netzwerks

Das Android-Framework oder die Firmware bewertet regelmäßig die Qualität des verbundenen Netzwerks. In diesem Abschnitt wird beschrieben, wie das verbundene Netzwerk bewertet wird, wenn der Bildschirm ein- oder ausgeschaltet ist.

Diese Bewertung erfolgt zusätzlich zur oben beschriebenen Netzwerkauswahl.

Bildschirm an

Das Android-Framework bewertet das verbundene Netzwerk so:

  1. Der WLAN-Dienst liest alle 3 Sekunden RSSI- und Linkschichtstatistiken ab (konfigurierbar über das config_wifiPollRssiIntervalMilliseconds-Overlay).

    Wenn die dynamische Intervalleinstellung über das config_wifiAdjustPollRssiIntervalEnabled-Overlay aktiviert ist, ändert sich das Polling-Intervall dynamisch je nach Gerätemobilitätsstatus und RSSI.

    • Das Polling-Intervall wird auf 6 Sekunden verlängert (über das config_wifiPollRssiLongIntervalMilliseconds-Overlay konfiguriert), wenn sich das Gerät nicht bewegt und der RSSI über −68 dBm liegt (über die config_wifiClientRssiMonitorThresholdDbm- und config_wifiClientRssiMonitorHysteresisDb-Overlays konfiguriert).
    • Das Pollingintervall wird (konfiguriert durch das config_wifiPollRssiIntervalMilliseconds-Overlay) wieder auf 3 Sekunden reduziert, wenn das Gerät nicht stationär oder der RSSI-Wert unter -73 dBm liegt (konfiguriert durch das config_wifiClientRssiMonitorThresholdDbm-Overlay).
  2. Der WLAN-Dienst berechnet anhand der RSSI- und Linkschichtstatistiken eine Verbindungsbewertung.

  3. Der WLAN-Dienst gibt die Bewertung an den Konnektivitätsdienst weiter, der anhand der Bewertung festlegt, ob eine Verbindung zu einem WLAN oder zu einem anderen verfügbaren Netzwerktyp wie einem Mobilfunknetz hergestellt werden soll.

Display ist aus

Das Framework initiiert keine Bewertung für das verbundene Netzwerk. Der Netzwerkauswahlprozess kann aber dennoch erfolgen, wenn Scans von anderen Komponenten (z. B. Standortdiensten) initiiert werden. Die Firmware bewertet die Netzwerkqualität. Bei schlechter Netzwerkqualität kann die Firmware roamen oder sich (eventuell) vom Netzwerk trennen und den Host aufwecken.

Konnektivitätsscans

Die Scans werden automatisch ausgeführt, je nachdem, ob das Display des Geräts ein- oder ausgeschaltet ist und ob eine WLAN-Verbindung besteht.

Bildschirm an

Das Framework löst Scanentscheidungen in immer kürzeren Intervallen aus, wenn das Display eingeschaltet ist. Die Intervalle für Scanentscheidungen werden mit den config_wifiDisconnectedScanIntervalScheduleSec-, config_wifiConnectedScanIntervalScheduleSec- und config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec-Overlays (Arrays von Ganzzahlen) konfiguriert. Standardmäßig werden Scans mit exponentiellen Backoff-Intervallen von 20, 40, 80 und 160 Sekunden durchgeführt. Die nachfolgenden Scans werden möglicherweise in Intervallen von 160 Sekunden ausgeführt. Dies sind die Standardwerte dieser Overlays.

Die Intervalle des exponentiellen Backoff-Scans werden zurückgesetzt und nach 20 Sekunden neu gestartet, wenn sich der Bildschirmstatus ändert, also der Bildschirm ein- oder ausgeschaltet wird.

(Android 13 und höher) Wenn zur Laufzeit unterschiedliche Scanintervalle erforderlich sind, kann eine App mit OEM-Berechtigungen die WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API aufrufen, um den Scanzeitplan für eingeschaltete Displays dynamisch festzulegen.

Die Entscheidung, ob ein Scan ausgeführt oder übersprungen werden soll, hängt davon ab, ob die aktuelle Netzwerkverbindung gut genug ist, um den Scan zu überspringen. Eine Verbindung ist gut genug, um das Scannen zu überspringen, wenn eine der folgenden Anforderungen erfüllt ist:

  • Das Gerät ist mit einer Online-Registrierungsverbindung (OSU) verbunden.
  • Über die Verbindung fließt genügend Traffic (siehe Traffic-Schwellenwerte unten).
  • Der RSSI liegt über dem erforderlichen RSSI-Grenzwert (siehe RSSI-Grenzwerte unten), und die Netzwerkauswahl wurde vor Kurzem durchgeführt (standardmäßig 10 Minuten, kann aber über das config_wifiConnectedHighRssiScanMinimumWindowSizeSec-Overlay konfiguriert werden), und das Netzwerk ist entweder validiert (mit dem Internet verbunden) oder vom Nutzer für die Nutzung ohne Internetzugriff genehmigt.

RSSI- und Traffic-Grenzwerte:

  • Der RSSI liegt über -73 dBm für das 2,4‑GHz-Band, das mit dem config_wifi_framework_wifi_score_low_rssi_threshold_24GHz-Overlay konfiguriert ist, oder über -70 dBm für die 5‑GHz- und 6‑GHz-Bänder, die mit den config_wifi_framework_wifi_score_low_rssi_threshold_5GHz- und config_wifiFrameworkScoreLowRssiThreshold6ghz-Overlays konfiguriert sind.
  • Der Traffic (Übertragung oder Empfang) liegt über 16 Paketen pro Sekunde (pps), die mit dem config_wifiFrameworkMinPacketPerSecondActiveTraffic-Overlay konfiguriert sind.

Wenn das Gerät verbunden ist und das Display eingeschaltet ist. Ein verbundener Bewertungsmechanismus überwacht regelmäßig die WLAN-Qualität anhand von Signalen wie RSSI und der Anzahl der übertragenen Pakete. Wenn die WLAN-Qualität als schlecht eingestuft wird (wie unten angegeben) und das Gerät zwei gleichzeitige Stationen unterstützt, wird ein Scan ausgelöst. Mit dem config_wifiLowConnectedScoreThresholdToTriggerScanForMbb-Overlay können Sie den Bewertungsgrenzwert konfigurieren, der das Scannen auslöst. Mit dem config_wifiLowConnectedScoreScanPeriodSeconds-Overlay können Sie den Zeitraum dieser Scans konfigurieren.

Display aus und mit dem WLAN verbunden

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

Display aus und keine WLAN-Verbindung (nicht verbunden)

Wenn das Display ausgeschaltet und die WLAN-Verbindung getrennt ist, führt die Firmware PNO-Scans nach SSIDs durch. Das Framework konfiguriert die Firmware mit einer Liste der zu suchenden SSIDs und einer Liste der zu durchsuchenden Kanäle. Wenn eine konfigurierte SSID gefunden wird, aktiviert die Firmware das Framework.

Das Framework konfiguriert auch das Intervall, in dem die Firmware PNO-Scans ausführen soll. Dabei wird der Gerätemobilitätsstatus verwendet, um unterschiedliche Scanintervalle auszuwählen. Bei geringer Mobilität (das Gerät ist stationär) beträgt das Intervall 60 Sekunden für die ersten drei Scans (gesteuert durch das config_wifiStationaryPnoScanIntervalMillis-Overlay) und 180 Sekunden (ein fester 3-facher Multiplikator des Overlays) für nachfolgende Scans. Bei hoher Mobilität beträgt das Intervall für die ersten drei Scans 20 Sekunden (gesteuert durch das config_wifiMovingPnoScanIntervalMillis-Overlay) und für nachfolgende Scans 60 Sekunden (ein fester 3-facher Multiplikator des Overlays).

Netzwerknominierungen

Die Netzwerknominatoren suchen oder erstellen Konfigurationen (WifiConfiguration) für Netzwerke, die:

  • Verfügbar (basierend auf den Scanergebnissen) oder das verbundene Netzwerk (das manchmal in fehlerhaften Scanergebnissen fehlt).
  • einen minimalen RSSI haben. Der minimale RSSI beträgt -80 dBm für das 2,4‑GHz-Band und -77 dBm für die 5‑GHz- und 6‑GHz-Bänder.Er kann mit den Overlays config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz und config_wifiFrameworkScoreEntryRssiThreshold6ghz konfiguriert werden.
  • Nicht blockiert, z. B. aufgrund früherer Verbindungsfehler.
  • Das Netzwerk gibt nicht an, dass es nicht nutzbar ist (z. B. durch MBO/OCE).
  • Kann mit den auf dem Gerät verfügbaren Anmeldedaten verknüpft werden.

Die folgenden Netzwerknominierungen werden verwendet:

  • Nominator für gespeichertes Netzwerk:Hier werden alle gespeicherten Netzwerke (einschließlich gespeicherter Passpoint-Abos) ausgewertet.
  • Vorgeschlagenes Netzwerk benennen:Hier werden alle Netzwerke bewertet, die von Apps über die Suggestion API bereitgestellt werden (einschließlich vorgeschlagener Passpoint-Abos).
  • Extern bewerteter Netzwerknominator: OEM-Mechanismus, der dem Gerät Netzwerkverbindungsoptionen bietet. Weitere Informationen finden Sie unter Externer Anbieter von Netzwerkbewertungen.

Kandidatenbewerter

Bewerter von Kandidaten bewerten die Kandidaten und geben eine Punktzahl für jeden Kandidaten an. Der Wert für ThroughputScorer (der Standardbewerter) basiert auf Folgendem:

  • Ein Basiswert wird basierend auf RSSI berechnet, wobei RSSI auf -73 dBm für das 2,4-GHz-Band und -70 dBm für das 5-GHz- und 6-GHz-Band (konfiguriert mit den Overlays config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz und config_wifiFrameworkScoreLowRssiThreshold6ghz) begrenzt ist.
  • Die Bewertung wird anhand einer geschätzten Bandbreite berechnet, die sich aus der Technologie, der Kanalfrequenz, der Bandbreite, dem RSSI, den Kanalbedingungen, der maximalen Anzahl von Spatial Streams und anderen Parametern ableitet. Die Optimierung kann mit den Overlays config_wifiFrameworkThroughputBonusNumerator und config_wifiFrameworkThroughputBonusDenominator konfiguriert werden und ist auf einen Maximalwert beschränkt, der mit dem Overlay config_wifiFrameworkThroughputBonusLimit angegeben wird.
  • Ein Kandidatennetzwerk, das vor Kurzem vom Nutzer oder von einer App ausgewählt wurde, erhält für einen Zeitraum, der über das config_wifiFrameworkLastSelectionMinutes-Overlay konfiguriert werden kann, einen großen Bewertungsschub. Während dieses Zeitraums wird das Netzwerk garantiert anstelle von Netzwerken ausgewählt, die nicht vom Nutzer ausgewählt wurden.
  • Ein Kandidat, der mit dem aktuellen Netzwerk übereinstimmt, erhält einen durch die config_wifiFrameworkCurrentNetworkBonusMin- und config_wifiFrameworkCurrentNetworkBonusPercent-Overlays konfigurierten Bewertungsbonus. Er erhält einen zusätzlichen Bonus, der auf einem Prozentsatz seines RSSI und seiner durchsatzbasierten Bewertung basiert, bis hinunter zum konfigurierbaren Minimum.
  • Ein sicheres Netzwerk wird höher bewertet als ein offenes Netzwerk. Der Bonus wird über das config_wifiFrameworkSecureNetworkBonus-Overlay konfiguriert.
  • Ein nicht getaktetes (kostenloses) Netzwerk wird besser bewertet als ein gebührenpflichtiges (kostenpflichtiges) Netzwerk. Der Bonus wird über das config_wifiFrameworkUnmeteredNetworkBonus-Overlay konfiguriert.
  • Ein gespeichertes Netzwerk erhält eine höhere Bewertung als ein Netzwerk, das über die Suggestion API vorgeschlagen wird. Der Bonus wird über das config_wifiFrameworkSavedNetworkBonus-Overlay konfiguriert.
  • Nicht vertrauenswürdige Netzwerke (die über die Suggestion API angefordert werden können) erhalten eine niedrigere Bewertung als alle anderen Netzwerke.
  • Ein Netzwerk, in dem zuvor kein Internet erkannt wurde, erhält den Wert 0, wenn das Gerät derzeit mit einem anderen Netzwerk verbunden ist, das Internetzugriff hat.

Der Standardbonus für gespeicherte Anzeigen im Vergleich zu Vorschlägen und für Anzeigen ohne und mit Abrechnung (d. h. die Standard-Overlay-Werte) führt zu einer strikten Prioritätsreihenfolge für gespeicherte, vorgeschlagene, Anzeigen mit und ohne Abrechnung:

  1. Gespeicherte kostenlose Netzwerke
  2. Vorgeschlagene Netzwerke ohne Datenvolumenbegrenzung
  3. Gespeicherte kostenpflichtige Netzwerke
  4. Vorgeschlagene kostenpflichtige Netzwerke

Das bedeutet, dass ein gespeichertes kostenloses (kostenloses) Netzwerk immer vor einem gespeicherten kostenpflichtigen Netzwerk ausgewählt wird. Der vor Kurzem vom Nutzer oder der App ausgewählte Bewertungsbonus kann diese strenge Priorität überschreiben.

Im Framework können mehrere Kandidatenbewerter installiert sein, aber jeweils nur einer kann aktiv sein. Die anderen Scorer können für Messwerte verwendet werden, um alternative Algorithmen zu untersuchen. In Android 11 ist ThroughputScorer der Standardwert.

Blockierung von SSIDs und BSSIDs

Das Framework kann SSIDs oder BSSIDs blockieren, d. h. sie vorübergehend oder dauerhaft nicht für Verbindungen berücksichtigen.

BSSID-Blockierung

Beim BSSID-Blockieren werden pro Fehlertyp zwei Fehlerzähler beibehalten: ein Zähler für fortlaufende Fehler und ein Zähler für Fehlerfolgen. Eine Liste der Fehlertypen finden Sie unten. Wenn ein Fehler auftritt:

  • Der Zähler für den entsprechenden Fehlertyp wird erhöht.
  • Wenn der Fehlergrenzwert für diesen Fehlertyp erreicht wird:
    • Die BSSID ist blockiert.
    • Der Zähler für die Streak wird für den Fehler erhöht.

Die Dauer, für die eine BSSID blockiert wird, beginnt mit einem (konfigurierbaren) Basiswert (je nach RSSI durch die config_wifiBssidBlocklistMonitorBaseBlockDurationMs- oder config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs-Overlays angegeben) und steigt exponentiell bis zu einer konfigurierbaren Obergrenze an (durch das config_wifiBssidBlocklistMonitorFailureStreakCap-Overlay angegeben). Die Dauer erhöht sich, wenn Fehler kontinuierlich bei derselben BSSID auftreten. Die Dauer ist die Basisdauer, die mit der Fehlerserie exponentiell verlängert wird. Eine Fehlerserie von 2 impliziert also eine 4-fache Basisblockdauer.

Die Grenzwerte für die BSSID-Blockierung hängen von der Fehlerursache ab und können mithilfe von Overlays angepasst werden:

  • Der AP lehnt die Verknüpfung mit dem MBO/OCE-Code Unable to handle new STA (Neue STA kann nicht verarbeitet werden) ab: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Die Internetüberprüfung über dieses Netzwerk ist fehlgeschlagen: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Fehlercode für die fehlgeschlagene Passwortauthentifizierung: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • EAP-Fehlercode für die Authentifizierungsfehler für EAP-Netzwerke: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • Verknüpfungsablehnung, sonstige allgemeine Ablehnungen von Verknüpfungen: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Zeitlimit für Verknüpfungen: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Authentifizierungsfehler, andere allgemeine Authentifizierungsfehler: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • DHCP-Fehler, Fehler bei der Bereitstellung von DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Abnormale Verbindung: Das Gerät hat sich innerhalb sehr kurzer Zeit nach dem Verbinden vom Netzwerk getrennt: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. Das Zeitfenster kann mit config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs konfiguriert werden.

Bedingungen für das Löschen von BSSIDs aus der Sperrliste

Eine BSSID wird aus der Sperrliste entfernt, wenn:

  • WLAN wird aktiviert: Alle BSSIDs werden aus der Sperrliste entfernt.
  • Der Nutzer tippt in der WLAN-Auswahl auf ein Netzwerk: Alle BSSIDs des vom Nutzer ausgewählten Netzwerks werden von der Sperrliste entfernt.
  • Zeitüberschreitung: BSSIDs werden aus der Sperrliste entfernt, wenn die Blockdauer erreicht ist.
  • Neustart: Alle Blocklisten werden gelöscht.
  • Netzwerk entfernt: Alle mit diesem Netzwerk verknüpften BSSIDs werden aus der Sperrliste entfernt.

Bedingungen für das Zurücksetzen der Zähler für Fehler und Streak:

  • Neustart: Alle BSSIDs werden zurückgesetzt.
  • Netzwerk entfernt: Zurücksetzen für mit dem Netzwerk verknüpfte BSSIDs.
  • 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 (nur bedingt gelöscht, wenn das Gerät vor mehr als 3 Stunden zuletzt mit dieser BSSID verbunden war)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Netzwerküberprüfung erfolgreich: Der folgende Fehlercode wird zurückgesetzt.

    • REASON_NETWORK_VALIDATION_FAILURE
  • DHCP-Bereitstellung erfolgreich: Zurücksetzen für den folgenden Fehlercode.

    • REASON_DHCP_FAILURE

SSID-Blockierung

Die SSID-Blockierung funktioniert ähnlich wie die BSSID-Blockierung. Ein Fehlerzähler pro Fehlertyp und Netzwerk wird erhöht, wenn Verbindungsfehler (dieses Typs) auftreten. Wenn die Anzahl der Fehler eines bestimmten Typs einen Grenzwert überschreitet, wird die SSID dauerhaft oder vorübergehend aufgrund einer Konfiguration blockiert. Die Konfiguration für jeden Fehlertyp ist in WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS codiert und wird unten zusammengefasst.

* Bei vorübergehend deaktivierten Netzwerken ändert sich die Dauer der Deaktivierung dynamisch je nach Anzahl der aufeinanderfolgenden Verbindungsfehler im Netzwerk. Wenn die Verbindung zu einem Netzwerk fünfmal hintereinander nicht hergestellt werden kann, führt jeder weitere Fehler zu einer doppelt so langen Deaktivierungsdauer wie die vorherige. Ein Netzwerk mit fünf aufeinanderfolgenden Fehlern wird beispielsweise für 5 Minuten deaktiviert, dann für 10 Minuten beim sechsten Fehler, für 20 Minuten beim siebten Fehler usw. bis zum maximalen Grenzwert von 18 Stunden.

Fehlercode Beschreibung Grenzwert Basisdauer der Deaktivierung* Typ deaktivieren
DISABLED_DHCP_FAILURE Fehler beim Bereitstellen von DHCP 5 5 Minuten Temporär
DISABLED_NO_INTERNET_TEMPORARY Die Netzwerkvalidierung ist fehlgeschlagen, aber der Nutzer gibt an, dass er künftig eine Verbindung zu diesem Netzwerk herstellen möchte 1 10 Minuten Temporär
DISABLED_AUTHENTICATION_NO_CREDENTIALS Der Supplicant hat keine Anmeldedaten für die Verbindung zum Netzwerk 1 Dauerhaft
DISABLED_NO_INTERNET_PERMANENT Standard für Netzwerküberprüfungsfehler 1 Dauerhaft
DISABLED_BY_WIFI_MANAGER Eingestellt und nicht verwendet 1 Dauerhaft
DISABLED_BY_WRONG_PASSWORD Das Passwort ist falsch und mit diesem Netzwerk wurde noch nie eine Verbindung hergestellt. 1 Dauerhaft
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION EAP-Fehler, wenn die SIM-Karte nicht abonniert ist 1 Dauerhaft
DISABLED_ASSOCIATION_REJECTION Fehler bei der Ablehnung von Verknüpfungen 5 5 Minuten Temporär
DISABLED_AUTHENTICATION_FAILURE Andere Authentifizierungsfehler (d. h. kein falsches Passwort oder kein EAP-Fehler) 5 5 Minuten Temporär
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Anbieterspezifischer (privater) EAP-Fehler. 1 Dauerhaft
DISABLED_NETWORK_NOT_FOUND Der Supplicant konnte in den Scanergebnissen kein Netzwerk finden, das mit dem vom Framework angeforderten Netzwerk für die Verbindung übereinstimmt (einschließlich Netzwerkfunktionen). 2 5 Minuten Temporär
DISABLED_CONSECUTIVE_FAILURES Die Netzwerkverbindung konnte fünf oder mehr Mal in Folge nicht hergestellt werden. Der Fehlertyp für diese Fehler umfasst unter anderem die in dieser Tabelle aufgeführten Fehlertypen.
5 5 Minuten Temporär

Ein vorübergehend deaktiviertes Netzwerk wird in folgenden Fällen wieder aktiviert:

  • Die Dauer der Deaktivierung ist abgelaufen.
  • Der Nutzer wählt das Netzwerk, mit dem eine Verbindung hergestellt werden soll, manuell aus.
  • Der Nutzer schaltet das WLAN ein und aus.
  • Das System wird neu gestartet.
  • Das Netzwerk wurde bei einem sehr niedrigen RSSI deaktiviert, wird aber später bei einem mittleren oder höheren RSSI wieder erkannt.

Ein dauerhaft deaktiviertes Netzwerk wird in folgenden Fällen wieder aktiviert:

  • Der Nutzer wählt das Netzwerk manuell aus, mit dem er eine Verbindung herstellen möchte.

Fehlerzähler für ein Netzwerk werden in folgenden Fällen zurückgesetzt:

  • Das Netzwerk wird entfernt.
  • Das Gerät ist mit dem Netzwerk verbunden.
  • Das Netzwerk wurde nach Ablauf der Deaktivierungsdauer wieder aktiviert.
  • Der Nutzer wählt das Netzwerk manuell aus, mit dem er eine Verbindung herstellen möchte.
  • Das System wird neu gestartet.

Kurzübersichten

In Android 10 eingeführte Kurzübersichten erfassen Statistiken zu BSSIDs auf dem Gerät. Kurzübersichten werden mit dem Dienst IpMemoryStore gespeichert.

In Android 11 werden keine Kurzübersichten für die Netzwerkauswahl verwendet.

Auswahl der Nutzerverbindung

Android verfügt über einen Algorithmus zur Auswahl der Nutzerverbindung, der es dem Auswahlprozess ermöglicht, WLANs zu bevorzugen, mit denen ein Nutzer explizit verbunden ist, z. B. ein Heimnetzwerk. Nutzer bevorzugen solche Netzwerke möglicherweise gegenüber öffentlichen Netzwerken, auch wenn die Leistung geringer ist, da sie zusätzliche Dienste wie die Möglichkeit zur Steuerung von Haushaltsgeräten bieten.

Die Einstellung des Nutzers für ein Netzwerk wird erfasst, indem alle sichtbaren WLAN-Konfigurationen und deren Signalstärke bei der Netzwerkauswahl markiert werden. Wenn bei der automatischen Auswahl eine der markierten WLAN-Konfigurationen ausgewählt wird und ein vom Nutzer ausgewähltes Netzwerk verfügbar ist, überschreibt der Algorithmus für die Auswahl der Nutzerverbindung die Auswahl mit dem vom Nutzer ausgewählten Netzwerk, wenn die folgenden Bedingungen erfüllt sind:

  • Das Netzwerk zur Auswahl der Nutzerverbindung hatte bei der letzten Verwendung Internetzugriff.
  • Die vom Nutzer ausgewählte Verbindung hat eine Signalstärke, die nicht schlechter ist als bei der ursprünglichen Auswahl mit einer Fehlertoleranz. Diese Fehlertoleranz kann mit dem Overlay config_wifiEstimateRssiErrorMarginDb konfiguriert werden.

Die vom Nutzer ausgewählte Netzwerkverbindung bleibt nach einem Neustart bestehen. Die Auswahl der Nutzerverbindung funktioniert für gespeicherte Netzwerke, Passpoint-Netzwerke und vorgeschlagene Netzwerke.

Zwei gleichzeitige Sender

In diesem Abschnitt wird die WLAN-Auswahl beschrieben, wenn ein Gerät die gleichzeitige Verbindung zu zwei WLANs unterstützt.

Vor der Pause

Wenn die Funktion Make-Before-Break aktiviert ist, versucht das Gerät, eine Verbindung zum neuen Netzwerk herzustellen, bevor die Verbindung zum alten Netzwerk getrennt wird. Der Make-Before-Break-Vorgang verwendet denselben Netzwerkauswahlalgorithmus wie die Netzwerkvermittlung vom Typ „Break-Before-Make“ (das Gerät trennt die Verbindung zum alten Netzwerk, bevor es eine Verbindung zum neuen herstellt). Wenn der Netzwerkauswahlalgorithmus ein Netzwerk auswählt, das nicht mit der Methode „Make-before-Break“ umgeschaltet werden kann, wechselt das Gerät automatisch zu „Break-before-Make“.

Gleichzeitige eingeschränkte und Internetverbindung

Wenn die Funktion Gleichzeitige eingeschränkte und Internetverbindung aktiviert ist, kann das Gerät eine Verbindung zu einem sekundären eingeschränkten WLAN herstellen, das nur für ausgewählte Apps verfügbar ist, die vom Gerätehersteller konfiguriert wurden. Eine Anleitung für Gerätehersteller zur Konfiguration finden Sie unter Gleichzeitige eingeschränkte und Internetverbindung.

Wenn der Algorithmus zur Netzwerkauswahl Scanergebnisse erkennt, die mit dem kostenpflichtigen oder privaten Vorschlag des OEMs übereinstimmen, wird automatisch eine Verbindung zu diesem als zweitem Netzwerk hergestellt. Die Netzwerkauswahl für das primäre WLAN, das eine Internetverbindung für reguläre Apps bereitstellt, erfolgt normalerweise parallel.

Häufig gestellte Fragen

  1. Haben sichere Netzwerke immer Vorrang vor offenen Netzwerken?

    Nein. Gespeicherte und vorgeschlagene sowie kostenpflichtige und kostenlose Netzwerke sind die Hauptkategorien, nach denen Netzwerke bewertet werden. Innerhalb jeder Kategorie haben sichere Netzwerke eine gewisse Priorität vor offenen Netzwerken, aber die Qualität der Verbindung wird viel stärker gewichtet.

    Der Grund dafür ist, dass die tatsächliche Sicherheit der Nutzerdaten durch die Ende-zu-Ende-Verschlüsselung (z. B. TLS) gewährleistet wird. Sichere Netzwerke verschlüsseln nur den ersten Teil der Kommunikation. Selbst in Netzwerken mit vorinstallierten Schlüsseln bieten sie kaum Datenschutz.

  2. Warum werden gespeicherte Netzwerke vor vorgeschlagenen Netzwerken priorisiert?

    Gespeicherte kostenlose (kostenlose) Netzwerke werden gegenüber empfohlenen kostenlosen Netzwerken priorisiert und gespeicherte kostenpflichtige Netzwerke haben Vorrang vor vorgeschlagenen kostenpflichtigen Netzwerken.

    Gespeicherte Netzwerke haben Priorität vor vorgeschlagenen Netzwerken, da sie vom Nutzer explizit dem Gerät hinzugefügt wurden. Das bedeutet, dass nach Möglichkeit eine Verbindung zu diesen Netzwerken hergestellt wird.

    Nutzer können das Verhalten der automatischen Verbindung für einzelne gespeicherte Netzwerke deaktivieren, d. h. angeben, dass diese Netzwerke nur manuell verwendet und nicht vom Gerät automatisch berücksichtigt werden sollen.

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

    Der Gerätehersteller kann die Entscheidungen zur Netzwerkauswahl ändern, indem er die in den oben genannten Abschnitten aufgeführten Bonus-Overlays ändert. Das Ändern der Standardwerte wird jedoch nicht empfohlen, da sie nach sorgfältiger Berücksichtigung mehrerer Anwendungsfälle ausgewählt wurden.