Wybór sieci Wi-Fi

Na tej stronie opisujemy algorytmy i procedury używane w Androidzie 12 do wybierania i przełączania się między sieciami Wi-Fi. Android stale ocenia jakość połączonej sieci i jakość dostępnych sieci.

Cykl życia połączenia automatycznego

Opisujemy w nim, jak urządzenie z Androidem ocenia dostępne sieci Wi-Fi i z nimi się łączy.

  1. Urządzenie wykrywa dostępne sieci w jeden z tych sposobów:

    • Ekran włączony (połączony): system podrzędny Androida do obsługi połączeń regularnie sprawdza, czy bieżące połączenie jest wystarczająco dobre, aby pominąć skanowanie (zgodnie z definicją w skanowaniu przy włączonym ekranie). Jeśli połączenie jest za słabe, aby można było pominąć skanowanie, podsystem komunikacyjny aktywuje skanowanie w celu wykrycia dostępnych sieci. Skanowanie może być również wywoływane przez inne komponenty systemu, takie jak system lokalizacji lub aplikacja (w tym aplikacja Ustawienia).
    • Ekran włączony (niepodłączony): okresowe skanowanie jest przeprowadzane przez podsystem łączności Androida zgodnie z wykładniczym harmonogramem. Moduł ocenia wszystkie otrzymane wyniki skanowania i próbuje wybrać najlepszą sieć, z którą się połączy.
    • Ekran wyłączony (rozłączony): procesor hosta programuje oprogramowanie układowe na podstawie listy preferowanych sieci z użyciem preferowanego odciążania sieci (PNO), aby możliwe było skanowanie natychmiast po wyłączeniu ekranu. Oprogramowanie układowe hosta po znalezieniu dowolnej z preferowanych sieci wybudza hosta. Według AOSP system PNO jest obsługiwany na urządzeniu.

    Metody WifiManager#allowAutojoinGlobal(boolean) można użyć do wyłączenia automatycznych połączeń. To uprzywilejowany interfejs API, którego producenci urządzeń mogą używać w ograniczonych okolicznościach (np. w przypadku niemobilnego, skonfigurowanego urządzenia).

    Jeśli urządzenie jest połączone, a nakładka config_wifi_framework_enable_associated_network_selection jest ustawiona na false, nie są wykonywane skany łączności, a ich wyniki nie powodują wyboru sieci. To ustawienie nie ma wpływu, gdy urządzenie jest odłączone, co oznacza, że skanowanie pod kątem łączności i wybór sieci nadal mają miejsce.

  2. Wyniki skanowania są oceniane.

    • Jeśli urządzenie jest połączone z siecią Wi-Fi, framework sprawdza, czy bieżąca sieć jest wystarczająco dobra, aby pominąć wybór sieci.

      Sieć jest wystarczająco dobra, aby pominąć wybór sieci, jeśli spełniony jest co najmniej jeden z tych wymagań:

      • Od ostatniego wyboru sieci minęło mniej niż 10 sekund.
      • Użytkownik niedawno ręcznie połączył się z siecią (czas „niedawno” można skonfigurować za pomocą nakładki config_wifiSufficientDurationAfterUserSelectionMilliseconds).
      • Urządzenie jest połączone z rejestracją online (OSU).
      • Spełnione są wszystkie te wymagania:

        • Wskaźnik RSSI przekracza wymagany próg lub przez połączenie przepływa wystarczająca ilość ruchu (aby poznać wartości progowe RSSI i ruchu, zapoznaj się z informacjami o skanowaniu przy włączonym ekranie).
        • Sieć jest zweryfikowana (połączona z internetem) lub została zatwierdzona przez użytkownika do użytku bez dostępu do internetu.
        • Sieć jest bezpłatna.
    • Jeśli sieć jest wystarczająco dobra, aby można było pominąć wybór sieci, nie podejmiesz dalszych działań.

    • Jeśli połączona sieć Wi-Fi nie jest wystarczająco dobra lub urządzenie nie jest połączone z siecią, framework wywołuje nominatory sieci, aby wygenerować listę kandydatów do połączenia z siecią Wi-Fi na podstawie przefiltrowanych wyników skanowania. Nominanci sieci znajdują istniejące konfiguracje Wi-Fi lub tworzą nowe konfiguracje dla sieci kandydujących.

    • Wyniki skanowania są filtrowane w celu usunięcia identyfikatorów BSSID, których identyfikator RSSI jest mniejszy niż identyfikator RSSI wpisu (można go skonfigurować za pomocą nakładek config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHzconfig_wifiFrameworkScoreEntryRssiThreshold6ghz). Dodatkowo zablokowane identyfikatory BSSID są odfiltrowywane. BSSID-y mogą być blokowane na podstawie powtarzających się niepowodzeń połączenia, częstych rozłączeń i wyraźnych próśb AP o niepodejmowanie prób skojarzenia przez określony czas (MBO-OCE). Blokowanie identyfikatorów BSSID zostało opisane poniżej w sekcji Blokowanie identyfikatora SSID i identyfikatora BSSID.

    • Gdy urządzenie porusza się szybko, wyniki skanowania są opcjonalnie dodatkowo filtrowane w celu usunięcia identyfikatorów BSSID, których wartość RSSI zmienia się szybko (co oznacza, że nie poruszają się one razem z urządzeniem). Optymalizację można konfigurować za pomocą opcji config_wifiHighMovementNetworkSelectionOptimizationEnabled (włączanie i wyłączanie optymalizacji) oraz nakładek config_wifiHighMovementNetworkSelectionOptimizationScanDelayMsconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta, które konfigurują wymagania dotyczące stabilności wyników skanowania (zmiany RSSI w wynikach skanowania w wystarczająco odseparowanych od siebie odstępach czasowych).

  3. Framework uruchamia funkcję oceniania kandydatów, aby wygenerować wynik dla każdego identyfikatora zestawu usług (SSID). Kandydaci do identyfikatora SSID mogą zawierać wiele kandydatów z identyfikatorem podstawowego zestawu usług (BSSID) wygenerowanych przez osoby nominujące sieci. Kandydat z najwyższym wynikiem to zwycięski kandydat.

  4. Platforma wykonuje algorytm wyboru połączenia z użytkownikiem, który może spowodować, że nowy zwycięski kandydat to sieć wybrana przez użytkownika, a nie zwycięski kandydat z wyników szacowania kandydatów.

  5. Framework sprawdza, czy zwycięski kandydat pasuje do obecnie połączonej sieci. Aby dopasowanie zostało uznane, musi być spełniony jeden z tych warunków:

    • Wybrany kandydat i połączona sieć Wi-Fi mają ten sam identyfikator BSSID.
    • Jeśli roaming oparty na oprogramowaniu jest dostępny (w tym możliwość umieszczenia na czarnej liście adresów BSSID), wybrany kandydat i połączona sieć mają ten sam identyfikator SSID i ten sam typ zabezpieczeń.

    Jeśli zwycięski kandydat pasuje do obecnie połączonej sieci, nie są podejmowane żadne dalsze działania. Jeśli zwycięski kandydat nie pasuje do sieci, urządzenie jest powiązane ze zwycięskim kandydatem.

Pamiętaj, że automatyczne połączenie sieciowe jest wyłączone, gdy aplikacja używa interfejsu Wi-Fi Network Request API, który zastępuje system i tworzy sieć LAN bez połączenia z internetem. Wyjątek stanowią urządzenia obsługujące 2 stacje równoczesne.

Ocena połączonej sieci

Platforma lub oprogramowanie Androida okresowo ocenia jakość połączonej sieci. W tej sekcji opisujemy, jak jest oceniana sieć, gdy ekran jest włączony lub wyłączony.

Ta ocena jest przeprowadzana dodatkowo do wyboru sieci, o którym mowa powyżej.

Ekran włączony

Platforma Android ocenia połączoną sieć w ten sposób:

  1. Usługa Wi-Fi co 3 sekundy odpytuje statystyki RSSI i warstwy linków (można skonfigurować za pomocą nakładki config_wifiPollRssiIntervalMilliseconds).

    Jeśli dynamiczna regulacja interwału jest włączona za pomocą nakładki config_wifiAdjustPollRssiIntervalEnabled, interwał pollingu zmienia się dynamicznie w zależności od stanu mobilności urządzenia i RSSI.

    • Gdy urządzenie jest nieruchome i wskaźnik RSSI przekracza -68 dBm (skonfigurowany przez nakładki config_wifiClientRssiMonitorThresholdDbmconfig_wifiClientRssiMonitorHysteresisDb), interwał ankiety wydłuża się do 6 sekund (skonfigurowany przez nakładkę config_wifiPollRssiLongIntervalMilliseconds).
    • Gdy urządzenie jest w ruchu lub wartość RSSI jest niższa niż -73 dBm (skonfigurowana przez nakładkę config_wifiClientRssiMonitorThresholdDbm), interwał ankiety jest ponownie zmniejszany do 3 sekund (skonfigurowany przez nakładkę config_wifiPollRssiIntervalMilliseconds).
  2. Usługa Wi-Fi oblicza wynik połączenia na podstawie statystyk RSSI i warstwy łącza.

  3. Usługa Wi-Fi przekazuje wynik do usługi łączności, która na jego podstawie określa, czy połączyć się z siecią Wi-Fi czy z innym dostępnym typem sieci, np. siecią komórkową.

Ekran jest wyłączony

Framework nie inicjuje oceny w połączonej sieci, ale proces wyboru sieci może się mimo to rozpocząć, jeśli skanowanie zostało zainicjowane przez inne komponenty (np. usługi lokalizacyjne). Oprogramowanie ocenia jakość sieci. Jeśli jest ona niska, może się przełączyć na inną sieć lub (ostatecznie) odłączyć od sieci i obudzić hosta.

Skanowanie połączeń

Skanowanie jest wykonywane automatycznie, zależnie od tego, czy urządzenie ma włączony ekran, wyłączony ekran i połączone z Wi-Fi lub czy ekran jest wyłączony i nie jest połączony z Wi-Fi.

Ekran włączony

Gdy ekran jest włączony, framework uruchamia decyzje dotyczące skanowania w coraz dłuższych odstępach czasu. Intervaly decyzji skanowania są konfigurowane za pomocą nakładek config_wifiDisconnectedScanIntervalScheduleSec, config_wifiConnectedScanIntervalScheduleSec i config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec (będących tablicami liczb całkowitych). Domyślnie skanowanie odbywa się z wydłużającymi się interwałami wynoszącymi 20, 40, 80 i 160 sekund, a kolejne skanowania mogą być wykonywane co 160 sekund (są to domyślne wartości tych nakładek).

Wykładnicze interwały skanowania ponowienia są resetowane i uruchamiane ponownie po 20 sekundach za każdym razem, gdy zmieni się stan ekranu, czyli gdy ekran zostanie włączony lub wyłączony.

(Android 13 i nowsze) Jeśli w czasie działania wymagane są różne interwały skanowania, aplikacja z uprawnieniami OEM może wywołać interfejs API WifiManager#setScreenOnScanSchedule(screenOnScanSchedule), aby dynamicznie ustawić harmonogram skanowania podczas włączonego ekranu.

Decyzja o wykonaniu lub pominięciu skanowania zależy od tego, czy obecne połączenie z siecią jest wystarczająco dobre do pominięcia skanowania. Połączenie jest wystarczająco dobre, aby pominąć skanowanie, jeśli spełnione jest którekolwiek z tych wymagań:

  • Urządzenie jest połączone z rejestracją online (OSU).
  • Przez połączenie przepływa wystarczająca ilość ruchu (patrz poniżej – progi ruchu).
  • RSSI jest wyższy niż wymagany próg RSSI (patrz „Próg RSSI” poniżej), a wybór sieci został wykonany niedawno (domyślnie 10 minut, ale można to skonfigurować za pomocą nakładki config_wifiConnectedHighRssiScanMinimumWindowSizeSec), i sieć jest zweryfikowana (połączona z internetem) lub zatwierdzona przez użytkownika do użytku bez dostępu do internetu.

Wartości progowe RSSI i ruchu:

  • RSSI jest wyższy niż -73 dBm w paśmie 2,4 GHz skonfigurowanym z nakładką config_wifi_framework_wifi_score_low_rssi_threshold_24GHz lub -70 dBm w paśmie 5 GHz i 6 GHz skonfigurowanym z nakładkami config_wifi_framework_wifi_score_low_rssi_threshold_5GHzconfig_wifiFrameworkScoreLowRssiThreshold6ghz.
  • Ruch (przesyłanie lub odbieranie) przekracza 16 pakietów na sekundę (pps) skonfigurowanych za pomocą nakładki config_wifiFrameworkMinPacketPerSecondActiveTraffic.

Gdy urządzenie jest połączone, a ekran jest włączony. Połączony system punktacji okresowo sprawdza jakość Wi-Fi, analizując sygnały takie jak RSSI i liczbę przesyłanych pakietów. Jeśli jakość Wi-Fi zostanie określona jako niska (jak opisano poniżej), a urządzenie obsługuje 2 stacje równoczesne, rozpocznie się skanowanie. Za pomocą nakładki config_wifiLowConnectedScoreThresholdToTriggerScanForMbb możesz skonfigurować próg wyniku, który uruchamia skanowanie. Za pomocą nakładki config_wifiLowConnectedScoreScanPeriodSeconds możesz skonfigurować okres tych skanowań.

wyłączony ekran i połączony z Wi-Fi,

Gdy ekran jest wyłączony, a urządzenie jest podłączone do sieci Wi-Fi, oprogramowanie układowe (Wi-Fi SoC) skanuje w roamingu. Gdy ekran jest wyłączony, framework nie wykonuje żadnych skanowań.

Ekran jest wyłączony i nie ma połączenia z Wi-Fi (stan rozłączony)

Gdy ekran jest wyłączony, a Wi-Fi jest odłączone, oprogramowanie wykonuje skanowanie PNO w celu znalezienia identyfikatorów SSID. Framework konfiguruje oprogramowanie sprzętowe za pomocą listy identyfikatorów SSID, które mają być skanowane, oraz listy kanałów, na których ma być przeprowadzane skanowanie. Jeśli zostanie znaleziony skonfigurowany identyfikator SSID, oprogramowanie uruchomi framework.

Framework konfiguruje też interwał, w jakim oprogramowanie sprzętowe ma wykonywać skanowanie PNO, korzystając ze stanu mobilności urządzenia do wybierania różnych interwałów skanowania. W stanie niskiej mobilności (urządzenie nieruchome) interwał wynosi 60 sekund w przypadku pierwszych 3 skanowań (kontrolowanych przez nakładkę config_wifiStationaryPnoScanIntervalMillis) i 180 sekund (stały mnożnik 3-krotnej nakładki) dla kolejnych skanowań. W stanie wysokiej mobilności interwał wynosi 20 sekund dla pierwszych 3 skanowań (kontrolowanych przez nakładkę config_wifiMovingPnoScanIntervalMillis) i 60 sekund (3-krotny mnożnik nakładki) dla kolejnych skanowań.

Nominatorzy sieci

Wyznaczone sieci znajdują lub tworzą konfiguracje (WifiConfiguration) dla sieci, które:

  • Dostępna (na podstawie wyników skanowania) lub połączona sieć (której czasem brakuje w niestabilnych wynikach skanowania).
  • mieć minimalny identyfikator RSSI; Minimalna wartość RSSI to -80 dBm w zakresie 2,4 GHz oraz -77 dBm w zakresie 5 GHz i 6 GHz.Wartość tę można konfigurować za pomocą nakładek config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz, config_wifi_framework_wifi_score_entry_rssi_threshold_5GHzconfig_wifiFrameworkScoreEntryRssiThreshold6ghz.
  • Nie jest zablokowany, na przykład z powodu wcześniejszych niepowodzeń połączenia.
  • Sieć nie wskazuje, że jest nieprzydatna (np. za pomocą MBO lub OCE).
  • Może być powiązany z korzystaniem z danych logowania dostępnych na urządzeniu.

Używane są następujące sieci nominujące:

  • Wyznaczenie zapisanej sieci: ocenia wszystkie zapisane sieci (w tym zapisane subskrypcje Passpoint).
  • Nominator sugerowanej sieci: ocenia wszystkie sieci podane przez aplikacje za pomocą interfejsu API sugestii (w tym sugerowane subskrypcje Passpoint).
  • Nominator sieci z ocenianiem zewnętrznym: mechanizm OEM zapewniający opcje łączności sieciowej na urządzeniu. Więcej informacji znajdziesz w artykule Zewnętrzny dostawca oceny sieci.

Punkty kandydatów

Osoby oceniające kandydatów oceniają i podają wynik każdemu kandydatowi. Ocena użytkownika ThroughputScorer (domyślna liczba punktów) zależy od tych czynników:

  • Podstawowa ocena jest obliczana na podstawie wartości RSSI, która jest ograniczona do -73 dBm w pasmie 2,4 GHz lub -70 dBm w pasmach 5 GHz i 6 GHz (skonfigurowanych za pomocą nakładek config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHzconfig_wifiFrameworkScoreLowRssiThreshold6ghz).
  • Wzrost wyniku jest obliczany na podstawie szacowanej przepustowości uzyskanej na podstawie technologii, częstotliwości kanału, przepustowości, RSSI, warunków kanału, maksymalnej liczby strumieni przestrzennych i innych parametrów. Wzrost wyniku można konfigurować za pomocą nakładek config_wifiFrameworkThroughputBonusNumerator i config_wifiFrameworkThroughputBonusDenominator. Jest on ograniczony do wartości maksymalnej określonej za pomocą nakładki config_wifiFrameworkThroughputBonusLimit.
  • Sieć kandydata, która została niedawno wybrana przez użytkownika lub aplikację, otrzymuje duży wzrost wyniku na czas konfigurowany za pomocą nakładki config_wifiFrameworkLastSelectionMinutes (przez ten czas sieć jest wybierana zamiast sieci niewybranych przez użytkownika).
  • Kandydat pasujący do bieżącej sieci uzyskuje zwiększony wynik skonfigurowany przez nakładki config_wifiFrameworkCurrentNetworkBonusMin i config_wifiFrameworkCurrentNetworkBonusPercent (zyskuje dodatkowy bonus na podstawie odsetka swojego kanału RSSI i wyniku opartego na przepustowości, aż do konfigurowalnego minimum).
  • Sieć zabezpieczona ma wyższy wynik niż sieć otwarta. Bonus jest konfigurowany za pomocą nakładki config_wifiFrameworkSecureNetworkBonus.
  • Sieć bez pomiaru (bezpłatna) ma lepsze wyniki niż sieć z pomiarem użycia danych (płatna). Bonus jest konfigurowany za pomocą nakładki config_wifiFrameworkUnmeteredNetworkBonus.
  • Zapisana sieć ma wyższą ocenę niż sieć sugerowana za pomocą interfejsu API Suggestion. Bonus jest konfigurowany za pomocą nakładki config_wifiFrameworkSavedNetworkBonus.
  • Niezaufane sieci (które można zażądać w ramach interfejsu suggestion API) mają niższe wyniki niż pozostałe sieci.
  • Sieć, która została wcześniej wykryta jako niemająca dostępu do internetu, otrzymuje wynik 0, jeśli urządzenie jest obecnie połączone z inną siecią, która ma dostęp do internetu.

Domyślny bonus za reklamy zapisane i zaproponowane oraz za reklamy z opłatą i bez opłaty (czyli domyślne wartości nakładek) powoduje ścisłą kolejność priorytetów w przypadku reklam zapisanych, zaproponowanych, z opłatą i bez opłaty:

  1. Zapisane sieci bez limitu danych
  2. Sugerowane sieci bez limitu danych
  3. Zapisane sieci z pomiarem użycia danych
  4. Sugerowane sieci z pomiarem użycia danych

Oznacza to, że zapisana sieć bezpłatna jest zawsze wybierana przed zapisaną siecią płatną. Ostatnio wybrana premia za wynik (przez użytkownika lub aplikację) może zastąpić ten rygorystyczny priorytet.

Framework może mieć zainstalowanych kilku kandydatów na oceniających, ale w danym momencie może być aktywny tylko jeden z nich. Innych szacowników można używać do danych (do badania alternatywnych algorytmów). W Androidzie 11 domyślnym punktem jest ThroughputScorer.

Blokowanie identyfikatorów SSID i BSSID

Platforma może blokować identyfikatory SSID lub BSSID, czyli nie uwzględniać ich w przypadku połączeń tymczasowo lub na stałe.

Blokowanie BSSID

Blokowanie BSSID działa na podstawie 2 liczników błędów: ciągłego i ciągłego z licznikiem błędów (poniżej znajdziesz listę typów błędów). Gdy wystąpi błąd:

  • Licznik odpowiednich typów błędów jest zwiększony.
  • Jeśli zostanie osiągnięty próg błędu danego typu:
    • BSSID jest zablokowany.
    • Licznik ciągów niepowodzeń jest zwiększany.

Czas blokowania adresu BSSID zaczyna się od (możliwej do skonfigurowania) wartości podstawowej (określanej przez nakładki config_wifiBssidBlocklistMonitorBaseBlockDurationMs lub config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs w zależności od RSSI) i rośnie wykładniczo do skonfigurowanej wartości górnej (określanej przez nakładkę config_wifiBssidBlocklistMonitorFailureStreakCap). Czas trwania wzrasta, jeśli błędy występują nieprzerwanie na tym samym BSSID. Czas trwania jest podstawową długością wykładniczo zwiększoną przez liczbę niepowodzeń. Oznacza to, że jeśli liczba niepowodzeń wynosi 2, czas blokady jest 4 razy dłuższy od podstawowego.

Próg blokowania BSSID zależy od przyczyny niepowodzenia i może być dostosowywany za pomocą nakładek:

  • Punkt dostępu odrzuca powiązanie, używając kodu MBO/OCE Nie można obsłużyć nowego STA: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Nie udało się zweryfikować połączenia z internetem przez tę sieć: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Kod błędu nieprawidłowego uwierzytelniania za pomocą hasła: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • Kod błędu uwierzytelniania EAP dla sieci EAP: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • Odrzucenie powiązania, inne ogólne odrzucenia powiązania: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Limit czasu powiązania: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Uwierzytelnienie nieudane, inne ogólne błędy uwierzytelniania:config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • Błąd DHCP, nie udało się udostępnić DHCP: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Nieprawidłowe rozłączenie, urządzenie zostało odłączone od sieci w bardzo krótkim czasie po połączeniu: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. Okno czasowe można skonfigurować za pomocą opcji config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs.

Warunki czyszczenia listy zablokowanych identyfikatorów BSSID

BSSID jest usuwany z listy zablokowanych, gdy:

  • Wi-Fi jest włączone: wszystkie identyfikatory BSSID są usuwane z listy zablokowanych.
  • Użytkownik klika sieć w selektorze Wi-Fi: wszystkie adresy BSSID wybranej sieci są usuwane z listy zablokowanych.
  • Limit czasu: adresy BSSID są usuwane z listy zablokowanych po upływie czasu blokady.
  • Uruchom ponownie: wszystkie listy blokowania zostaną usunięte.
  • Sieć została usunięta: wszystkie adresy BSSID powiązane z tą siecią zostaną usunięte z listy zablokowanych.

Warunki resetowania liczników błędów i serii:

  • Ponowne uruchamianie: resetowanie wszystkich adresów BSSID.
  • Usunięcie sieci: zresetuj identyfikatory BSSID powiązane z tą siecią.
  • Udane połączenie L2: zresetuj te kody błędów.

    • 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 (warunkowo usunięte tylko wtedy, gdy ostatnie połączenie urządzenia z tym BSSID miało miejsce ponad 3 godziny temu)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Pomyślna weryfikacja sieci: powoduje zresetowanie ustawień dla podanego kodu błędu.

    • REASON_NETWORK_VALIDATION_FAILURE
  • Udało się udostępnić DHCP: resetuje się po poniższym kodzie błędu.

    • REASON_DHCP_FAILURE

Blokowanie identyfikatorów SSID

Blokowanie identyfikatora SSID działa podobnie jak blokowanie identyfikatora BSSID. Gdy występują błędy połączenia (tego typu), zwiększa się licznik błędów dla danego typu błędu w danej sieci. Gdy liczba błędów określonego typu przekroczy wartość progową, identyfikator SSID jest blokowany na stałe lub tymczasowo na podstawie konfiguracji. Konfiguracja dla każdego typu błędu jest zakodowana w WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS i podsumowana poniżej.

* W przypadku tymczasowo wyłączonych sieci czas wyłączenia zmienia się dynamicznie w zależności od liczby kolejnych awarii połączeń w tej sieci. Po 5 nieudanych próbach połączenia z siecią czas wyłączenia wydłuża się o połowę po każdej kolejnej nieudanej próbie. Na przykład sieć z 5 kolejnymi niepowodzeniami jest wyłączana na 5 minut, a po 6 niepowodzeniach – na 10 minut, po 7 niepowodzeniach – na 20 minut itd., aż do maksymalnego limitu 18 godzin.

Kod błędu Opis Próg Podstawowy okres wyłączenia* Wyłącz typ
DISABLED_DHCP_FAILURE Nie udało się skonfigurować DHCP 5 5 minut Tymczasowe
DISABLED_NO_INTERNET_TEMPORARY Nie udało się zweryfikować sieci, ale użytkownik chce nadal z nią pracować 1 10 minut, Tymczasowe
DISABLED_AUTHENTICATION_NO_CREDENTIALS W podmiocie brakuje danych logowania do połączenia z siecią 1 Nie dotyczy Stała
DISABLED_NO_INTERNET_PERMANENT Domyślna w przypadku błędu weryfikacji sieci 1 Nie dotyczy Stała
DISABLED_BY_WIFI_MANAGER Nieużywane i nieaktualne 1 Nie dotyczy Stała
DISABLED_BY_WRONG_PASSWORD Hasło jest nieprawidłowe, a ta sieć nigdy nie była połączona z 1 Nie dotyczy Stała
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION Błąd EAP, gdy karta SIM nie jest subskrybowana 1 Nie dotyczy Stała
DISABLED_ASSOCIATION_REJECTION Nieudane odrzucenie powiązania 5 5 minut Tymczasowe
DISABLED_AUTHENTICATION_FAILURE inne błędy uwierzytelniania (czyli nie błędne hasło ani błąd EAP); 5 5 minut Tymczasowe
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Błąd EAP dostawcy (prywatny). 1 Nie dotyczy Stała
DISABLED_NETWORK_NOT_FOUND W wynikach skanowania nie udało się znaleźć sieci, która odpowiadałaby sieci określonej przez ramy połączenia (w tym możliwości sieci). 2 5 minut Tymczasowe
DISABLED_CONSECUTIVE_FAILURES Sieć nie udało się połączyć co najmniej 5 razy z rzędu. Rodzaj awarii w przypadku tych awarii obejmuje, ale nie ogranicza się do typów awarii wymienionych w tej tabeli.
5 5 minut Tymczasowe

Tymczasowo wyłączona sieć zostanie ponownie włączona, gdy:

  • Czas wyłączenia minął.
  • Użytkownik ręcznie wybiera sieć, z którą chce się połączyć.
  • Użytkownik włącza Wi-Fi.
  • System został ponownie uruchomiony.
  • sieć została wyłączona przy bardzo niskim RSSI, ale została później ponownie wykryta przy umiarkowanym lub wyższym RSSI;

Sieć trwale wyłączona jest ponownie włączana, gdy:

  • Użytkownik ręcznie wybiera sieć, z którą chce się połączyć.

Liczniki błędów sieci są resetowane, gdy:

  • Sieć została usunięta.
  • Urządzenie połączyło się z siecią.
  • Sieć została ponownie włączona po upływie czasu wyłączenia.
  • Użytkownik ręcznie wybiera sieć, z którą chcesz się połączyć.
  • System zostanie zrestartowany.

Podsumowania statystyk

Karty wyników, wprowadzone w Androidzie 10, rejestrują na urządzeniu statystyki dotyczące adresów BSSID. Karty wyników są przechowywane za pomocą usługi IpMemoryStore.

W Androidzie 11 do wyboru sieci nie są używane karty wyników.

Wybór użytkownika

Android ma algorytm wyboru opcji łączenia użytkownika, który umożliwia preferowanie sieci Wi-Fi, z którymi użytkownik połączył się w sposób jawny, np. z siecią domową. Użytkownicy mogą preferować takie sieci od sieci publicznych, nawet jeśli ich wydajność jest niższa, ponieważ zapewniają one dodatkowe usługi, takie jak możliwość sterowania urządzeniami domowymi.

Preferencja użytkownika dotycząca sieci jest rejestrowana przez oznaczenie wszystkich konfiguracji Wi-Fi widocznych w momencie wyboru sieci oraz ich siły sygnału. Jeśli podczas procesu automatycznego wyboru wybrana zostanie jedna z oznaczonych konfiguracji sieci Wi-Fi, a dostępna będzie sieć wybrana przez użytkownika, algorytm wyboru opcji łączenia użyje wybranej przez użytkownika sieci, jeśli spełnione są te warunki:

  • Sieć wybrana przez użytkownika w ramach usługi Connect miała dostęp do Internetu podczas ostatniego użycia
  • Wybrany przez użytkownika punkt połączenia ma siłę sygnału, która nie jest gorsza niż w czasie jego pierwotnego wybrania, z dodatkiem marginesu błędu. Ten margines błędu można skonfigurować za pomocą nakładki config_wifiEstimateRssiErrorMarginDb.

Sieć wybrana przez użytkownika pozostaje po ponownym uruchomieniu. Opcja łączenia przez użytkownika działa w przypadku zapisanych sieci, sieci Passpoint i sieci sugestii.

Podwójne równoczesne stacje

W tej sekcji opisano wybór sieci Wi-Fi, gdy urządzenie obsługuje jednoczesne połączenie z 2 sieciami Wi-Fi.

Make-before-break

Jeśli funkcja make-before-break jest włączona, urządzenie próbuje połączyć się z nową siecią, zanim rozłączy się ze starą. Proces „utworzenie przed przerwaniem” korzysta z tego samego algorytmu wyboru sieci co proces przełączania sieci „przerwanie przed utworzeniem” (czyli gdy urządzenie odłącza się od starej sieci, zanim połączy się z nową). Jeśli algorytm wyboru sieci wybierze sieć, której nie można przełączyć z użyciem reguły „make-before-break”, urządzenie automatycznie przełączy się na tryb „break- beforemake”.

jednoczesne połączenie z internetem i z siecią objętą ograniczeniami.

Jeśli włączona jest funkcja jednoczesnej korzystania z sieci Wi-Fi z ograniczonym dostępem i Internetu, urządzenie może połączyć się z drugą siecią Wi-Fi z ograniczonym dostępem, która jest dostępna tylko dla wybranych aplikacji skonfigurowanych przez producenta urządzenia. Instrukcje konfigurowania tej funkcji dla producentów urządzeń znajdują się w sekcji Jednoczesne połączenie z ograniczeniami i połączenie z internetem.

Gdy algorytm wyboru sieci wykryje wyniki skanowania pasujące do sugestii OEM dotyczącej sieci płatnej lub prywatnej, automatycznie połączy się z nią jako z drugą siecią. Wybór sieci głównej sieci Wi-Fi (która zapewnia połączenie z internetem dla zwykłych aplikacji) odbywa się normalnie równolegle.

Najczęstsze pytania

  1. Czy bezpieczne sieci mają zawsze wyższy priorytet niż otwarte sieci?

    Nie. Zapisane i sugerowane oraz z pomiarem i bez pomiaru to główne kategorie, w których sieci są oceniane. W każdej kategorii sieci zabezpieczone mają nieco wyższy priorytet niż sieci otwarte, ale znacznie większą wagę ma jakość połączenia.

    Dzieje się tak, ponieważ rzeczywiste bezpieczeństwo danych użytkownika zapewnia szyfrowanie end-to-end (na przykład TLS). Bezpieczne sieci szyfrują tylko pierwszy etap komunikacji, a nawet w przypadku sieci z kluczami udostępnionymi z góry nie zapewniają dużej prywatności.

  2. Dlaczego zapisane sieci mają wyższy priorytet niż sugerowane sieci?

    Zapisane bezpłatne (bez pomiaru) mają wyższy priorytet niż sugerowane sieci bezpłatne, a zapisane sieci z pomiarem użycia danych mają wyższy priorytet niż sugerowane sieci z pomiarem użycia danych.

    Zapisane sieci mają wyższy priorytet niż sieci sugerowane, ponieważ zapisane sieci to sieci, które użytkownik wyraźnie dodał do urządzenia. Oznacza to, że w miarę możliwości preferuje on połączenia z tymi sieciami.

    Użytkownicy mogą wyłączyć automatyczne łączenie się z poszczególnymi zapisanymi sieciami, czyli wskazać, że te sieci mają być używane tylko ręcznie, a nie automatycznie przez urządzenie.

  3. Czy mogę zmienić ścisłą kolejność priorytetów lub całkowicie ją usunąć?

    Producent urządzenia może modyfikować decyzje dotyczące wyboru sieci, zmieniając nakładki bonusowe wymienione w powyżej wymienionych sekcjach. Zmiana wartości domyślnych nie jest jednak zalecana, ponieważ wybrano ją po dokładnym rozważeniu wielu przypadków użycia.