WLAN-Auswahl

Auf dieser Seite werden die Algorithmen und Verfahren beschrieben, die in Android 12 zur Auswahl und zum Wechseln zwischen WLANs verwendet werden. Android bewertet 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. Je nachdem, ob der Bildschirm ein- oder ausgeschaltet ist, sucht das Gerät auf eine der folgenden Arten nach verfügbaren Netzwerken.

    • Display an (verbunden): Das Android-Konnektivitäts-Subsystem prüft regelmäßig, ob die aktuelle Verbindung gut genug ist, um das Scannen zu überspringen (wie in Scans bei eingeschaltetem Display definiert). Wenn die Verbindung nicht gut genug ist, um das Scannen zu überspringen, löst das Subsystem für die Konnektivität einen Scan aus, um verfügbare Netzwerke zu erkennen. Diese Scans können auch von anderen Systemkomponenten wie dem Standortsystem oder einer App (einschließlich der Einstellungen App) ausgelöst werden.
    • Bildschirm 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 Sie automatische Verbindungen deaktivieren. 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 Verbindungsscans durchgefü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 die 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 validiert (mit dem Internet verbunden) oder vom Nutzer für die Nutzung ohne Internetzugriff 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 hergestellt werden soll. Diese Liste basiert auf gefilterten Scanergebnissen. Die Netzwerknominanten suchen nach vorhandenen WLAN-Konfigurationen oder erstellen neue Konfigurationen für die Kandidatennetzwerke.

    • Die Scanergebnisse werden gefiltert, um BSSIDs mit einem RSSI zu entfernen, das unter dem RSSI des Eintrags liegt. Dieser kann mit den config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz-, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz- und config_wifiFrameworkScoreEntryRssiThreshold6ghz-Overlays konfiguriert werden. Außerdem werden blockierte BSSIDs herausgefiltert. BSSIDs können aufgrund wiederholter Verbindungsfehler, häufiger Unterbrechungen und ausdrücklicher Anfragen des ZP, die Verknüpfung für einen bestimmten Zeitraum nicht zu versuchen, blockiert werden (MBO-OCE). Das Blockieren von BSSIDs wird unten unter Blockieren von SSIDs und BSSIDs 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 Kandidatenbewerter aus, um eine Bewertung für jeden SSID-Kandidaten (Service Set Identifier) 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 ausgewählte Kandidat.

  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 ausgewählte Kandidat mit dem derzeit 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 Polling-Intervall wird wieder auf 3 Sekunden reduziert (über das config_wifiPollRssiIntervalMilliseconds-Overlay konfiguriert), wenn sich das Gerät nicht stationär befindet oder der RSSI unter −73 dBm liegt (über das config_wifiClientRssiMonitorThresholdDbm-Overlay konfiguriert).
  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 führt keine Bewertung des verbundenen Netzwerks durch. Die Netzwerkauswahl kann jedoch trotzdem 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 für die exponentielle Backoff-Suche werden zurückgesetzt und beginnen bei 20 Sekunden neu, wenn sich der Bildschirmstatus ändert, also wenn 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.

Ob ein Scan ausgeführt oder übersprungen wird, hängt davon ab, ob die aktuelle Netzwerkverbindung gut genug ist, um das Scannen 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 ausreichend Traffic (siehe Traffic-Grenzwerte 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.

Die RSSI- und Traffic-Grenzwerte sind:

  • Der RSSI liegt für das 2,4‑GHz-Band, das mit dem config_wifi_framework_wifi_score_low_rssi_threshold_24GHz-Overlay konfiguriert ist, über -73 dBm oder 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, über -70 dBm.
  • 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 SSIDs, nach denen gesucht werden soll, und einer Liste der Kanäle, auf denen gesucht werden soll. Wenn eine konfigurierte SSID gefunden wird, weckt die Firmware das Framework auf.

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 Netzwerknominanten suchen oder erstellen Konfigurationen (WifiConfiguration) für Netzwerke, die:

  • Verfügbar (basierend auf den Scanergebnissen) oder das verbundene Netzwerk (das manchmal bei unzuverlässigen 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 ist, 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).

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 anhand des RSSI berechnet, wobei der RSSI für das 2,4‑GHz-Band auf −73 dBm oder für die 5‑GHz- und 6‑GHz-Bänder auf −70 dBm begrenzt ist (konfiguriert mit den config_wifi_framework_wifi_score_low_rssi_threshold_24GHz-, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz- und config_wifiFrameworkScoreLowRssiThreshold6ghz-Overlays).
  • Ein Bewertungsboost wird anhand einer Durchsatzschätzung berechnet, die aus der Technologie, der Kanalfrequenz, der Bandbreite, dem RSSI, den Kanalbedingungen, der maximalen Anzahl von Spatial Streams und anderen Parametern abgeleitet wird. Der Bewertungsboost kann mit den Overlays config_wifiFrameworkThroughputBonusNumerator und config_wifiFrameworkThroughputBonusDenominator konfiguriert werden und ist auf einen Höchstwert 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 Bewertungsbonus, der über die config_wifiFrameworkCurrentNetworkBonusMin- und config_wifiFrameworkCurrentNetworkBonusPercent-Overlays konfiguriert wird. 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 unbegrenztes (kostenloses) Netzwerk wird höher bewertet als ein begrenztes (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, für das zuvor kein Internet erkannt wurde, erhält eine Punktzahl von 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 Netzwerke ohne Datenvolumenbegrenzung
  2. Vorgeschlagene Netzwerke ohne Datenvolumenbegrenzung
  3. Gespeicherte kostenpflichtige Netzwerke
  4. Vorgeschlagene kostenpflichtige Netzwerke

Das bedeutet, dass ein gespeichertes unbegrenztes (kostenloses) Netzwerk immer vor einem gespeicherten begrenzten (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 Bewertungsmethoden können für Messwerte verwendet werden, um alternative Algorithmen zu untersuchen. In Android 11 ist das 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

Bei der BSSID-Blockierung 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 exponentiell um die Fehlersequenz erhöht wird. Eine Fehlersequenz von 2 bedeutet also eine vierfache Basisblockdauer.

Die Grenzwerte für die BSSID-Blockierung hängen vom Grund des Fehlers ab und können jeweils 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 bei der Authentifizierung mit falschem Passwort: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • EAP-Fehlercode für die Authentifizierungsfehler für EAP-Netzwerke: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • Ablehnung der Verknüpfung, andere allgemeine Ablehnungen der Verknüpfung: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Zeitlimit für die Verknüpfung: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Authentifizierungsfehler, andere allgemeine Authentifizierungsfehler: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • DHCP-Fehler, Bereitstellung von DHCP fehlgeschlagen: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Ungewöhnliche Trennung: Das Gerät hat sich nach der Verbindung innerhalb kürzester Zeit 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 je nach Konfiguration dauerhaft oder vorübergehend 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 Netzwerküberprüfung ist fehlgeschlagen, aber der Nutzer möchte weiterhin eine Verbindung zu diesem Netzwerk herstellen. 1 10 Minuten Temporär
DISABLED_AUTHENTICATION_NO_CREDENTIALS Der Supplicant hat keine Anmeldedaten für die Verbindung zum Netzwerk 1 NA Dauerhaft
DISABLED_NO_INTERNET_PERMANENT Standard für fehlgeschlagene Netzwerkvalidierung 1 NA Dauerhaft
DISABLED_BY_WIFI_MANAGER Eingestellt und nicht verwendet 1 NA Dauerhaft
DISABLED_BY_WRONG_PASSWORD Das Passwort ist falsch und mit diesem Netzwerk wurde noch nie eine Verbindung hergestellt. 1 NA Dauerhaft
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION EAP-Fehler, wenn die SIM-Karte nicht abonniert ist 1 NA 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 NA 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 Verbindung zum Netzwerk konnte fünfmal oder öfter hintereinander 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 Deaktivierungsdauer ist abgelaufen.
  • Der Nutzer wählt das Netzwerk manuell aus, mit dem er eine Verbindung herstellen möchte.
  • 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 reaktiviert:

  • 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 hat einen Algorithmus zur Auswahl der Nutzerverbindung, mit dem bei der Auswahl WLANs bevorzugt werden können, mit denen sich ein Nutzer explizit verbunden hat, 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 Präferenz des Nutzers für ein Netzwerk wird erfasst, indem alle sichtbaren WLAN-Konfigurationen und ihre Signalstärken markiert werden, wenn der Nutzer ein Netzwerk auswählt. 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, über das der Nutzer eine Verbindung herstellen möchte, hatte bei der letzten Nutzung 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.

Make-before-Break

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 „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 die 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 eine Ende-zu-Ende-Verschlüsselung (z. B. TLS) gewährleistet wird. In sicheren Netzwerken wird nur der erste Teil der Kommunikation verschlüsselt. Selbst bei Netzwerken mit vorab geteilten Schlüsseln ist der Datenschutz nicht besonders hoch.

  2. Warum werden gespeicherte Netzwerke vor vorgeschlagenen Netzwerken priorisiert?

    Gespeicherte kostenlose (nicht bepreiste) Netzwerke haben Vorrang vor vorgeschlagenen kostenlosen Netzwerken 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 automatische Verbindungsverhalten für einzelne gespeicherte Netzwerke deaktivieren, d. h. 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 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. Wir empfehlen jedoch, die Standardwerte nicht zu ändern, da sie nach sorgfältiger Prüfung verschiedener Anwendungsfälle ausgewählt wurden.