Android Wi-Fi Ağı Seçimi

Bu sayfada, Wi-Fi ağlarını seçmek ve aralarında geçiş yapmak için Android 12'de kullanılan algoritmalar ve prosedürler özetlenmektedir. Android, bağlı ağın kalitesini sürekli olarak değerlendirir ve mevcut ağların kalitesini değerlendirir.

Otomatik bağlantının ömrü

Bu, bir Android cihazının mevcut Wi-Fi ağlarını nasıl değerlendirdiği ve bu ağlara nasıl bağlandığına ilişkin süreci açıklar.

  1. Cihaz, ekranın açık veya kapalı olmasına bağlı olarak aşağıdaki yollardan biriyle kullanılabilir ağları tarar.

    • Ekran açık (bağlı): Android bağlantı alt sistemi, mevcut bağlantının taramayı atlayacak kadar iyi olup olmadığını düzenli olarak değerlendirir ( ekran taramalarında tanımlandığı gibi). Bağlantı, taramayı atlayacak kadar iyi değilse bağlantı alt sistemi, kullanılabilir ağları tespit etmek için bir taramayı tetikler. Bu taramalar, konum sistemi veya bir uygulama (Ayarlar uygulaması dahil) gibi diğer sistem bileşenleri tarafından da tetiklenebilir.
    • Ekran açık (bağlantısı kesilmiş): Android bağlantı alt sistemi, üstel bir geri çekilme planının ardından periyodik taramalar gerçekleştirir. Modül, alınan tüm tarama sonuçlarını değerlendirir ve bağlanılacak en iyi ağı seçmeye çalışır.
    • Ekran kapalı (bağlantı kesildi): Ana bilgisayar CPU, ekran kapanır kapanmaz tercih edilen ağ boşaltma (PNO) taramalarını kullanarak bellenimi tercih edilen ağların bir listesiyle programlar. Ürün yazılımı, tercih edilen ağlardan herhangi birini bulduğunda ana bilgisayarı uyandırır. AOSP, PNO'nun cihazda desteklendiğini varsayar.

    Otomatik bağlantıları devre dışı bırakmak için WifiManager#allowAutojoinGlobal(boolean) yöntemi kullanılabilir. Bu, cihaz üreticileri tarafından sınırlı durumlarda (örneğin, mobil olmayan, önceden yapılandırılmış bir cihaz) kullanılabilecek ayrıcalıklı bir API'dir.

    Cihaz bağlıysa ve config_wifi_framework_enable_associated_network_selection overlay false olarak ayarlanmışsa hiçbir bağlantı taraması gerçekleştirilmez ve tarama sonuçları ağ seçimini tetiklemez. Bu ayarın cihazın bağlantısı kesildiğinde hiçbir etkisi yoktur; bu, bağlantı taramalarının ve ağ seçiminin hâlâ devam ettiği anlamına gelir.

  2. Tarama sonuçları değerlendirilir.

    • Cihaz bir Wi-Fi ağına bağlıysa çerçeve, mevcut ağın ağ seçimini atlayacak kadar iyi olup olmadığını değerlendirir.

      Bir ağ, aşağıdaki gereksinimlerden herhangi birinin karşılanması durumunda ağ seçimini atlayacak kadar iyi olarak tanımlanır:

      • Son ağ seçiminden bu yana 10 saniyeden az süre geçti.
      • Kullanıcı yakın zamanda ağa manuel olarak bağlandı (yakın zamanda config_wifiSufficientDurationAfterUserSelectionMilliseconds kaplaması kullanılarak yapılandırılabilir).
      • Cihaz çevrimiçi kayıt (OSU) bağlantısına bağlı.
      • Aşağıdaki gereksinimlerin tümü karşılanmıştır:

        • RSSI, gerekli RSSI eşiğinin üzerindedir veya bağlantı üzerinden yeterli trafik akmaktadır (RSSI ve trafik eşikleri için ekran taramalarına bakın).
        • Ağ doğrulanmıştır (internete bağlıdır) veya internet erişimi olmadan kullanım için kullanıcı onaylıdır.
        • Ağ ölçülmez.
    • , ağ seçimini atlayacak kadar iyiyse başka bir işlem yapılmaz.

    • Bağlı Wi-Fi ağı yeterince iyi değilse veya cihaz bir ağa bağlı değilse, çerçeve, filtrelenmiş tarama sonuçlarına göre bağlanılacak aday Wi-Fi ağlarının bir listesini oluşturmak için ağ adaylarını çağırır. Ağ adayları mevcut Wi-Fi yapılandırmalarını bulur veya aday ağlar için yeni yapılandırmalar oluşturur.

    • Tarama sonuçları, RSSI girişinin altında bir RSSI'ye sahip BSSID'leri kaldırmak için filtrelenir ( config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz ve config_wifiFrameworkScoreEntryRssiThreshold6ghz katmanları kullanılarak yapılandırılabilir). Ayrıca engellenen BSSID'ler filtrelenir. BSSID'ler, tekrarlanan bağlantı arızalarına, sık sık bağlantı kopmalarına ve AP'nin belirli bir süre boyunca ilişkilendirme girişiminde bulunulmaması yönündeki açık taleplere (MBO-OCE) bağlı olarak engellenebilir. BSSID engelleme aşağıda SSID ve BSSID engelleme bölümünde açıklanmıştır.

    • Cihaz hızla hareket ederken, tarama sonuçları isteğe bağlı olarak RSSI'si hızla değişen BSSID'leri (cihazla birlikte hareket etmediklerini gösteren) kaldırmak için daha fazla filtrelenir. Bu optimizasyon, tarama sonuçlarındaki kararlılık gereksinimini yapılandıran config_wifiHighMovementNetworkSelectionOptimizationEnabled (optimizasyonu etkinleştirme/devre dışı bırakma) ve config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs ve config_wifiHighMovementNetworkSelectionOptimizationRssiDelta katmanları kullanılarak yapılandırılabilir (zaman içinde yeterince ayrılmış tarama sonuçları üzerinden RSSI değişimi).

  3. Çerçeve, her hizmet kümesi tanımlayıcı (SSID) adayı için bir puan oluşturmak üzere aday puanlayıcıyı çalıştırır. SSID adayları birden fazla temel hizmet seti tanımlayıcı (BSSID) adayını (ağ adayları tarafından oluşturulan) içerebilir. En yüksek puanı alan aday kazanan adaydır .

  4. Çerçeve, aday puanlayıcının kazanan adayını kullanmak yerine, kullanıcı tarafından seçilen bir ağı yeni kazanan aday haline getirebilecek kullanıcı bağlantı seçim algoritmasını yürütür.

  5. Çerçeve, kazanan adayın halihazırda bağlı olan ağla eşleşip eşleşmediğini belirler. Bir eşleşme olarak kabul edilebilmesi için aşağıdakilerden birinin karşılanması gerekir:

    • Kazanan aday ve bağlı Wi-Fi ağı aynı BSSID'ye sahiptir.
    • Ürün yazılımı dolaşımı mevcutsa (BSSID kara liste özelliği dahil), kazanan aday ve bağlı ağ aynı SSID'ye ve güvenlik türüne sahiptir.

    Kazanan adayın halihazırda bağlı olan ağla eşleşmesi durumunda başka bir işlem yapılmaz. Kazanan aday ağla eşleşmiyorsa cihaz kazanan adayla ilişkilendirilir.

Bir uygulama, sistemi geçersiz kılan ve internet olmayan bir LAN oluşturan Wi-Fi Ağ İsteği API'sini kullandığında, çift eşzamanlı istasyonu destekleyen cihazlar hariç, otomatik ağ bağlantısının devre dışı bırakıldığını unutmayın.

Bağlı bir ağın değerlendirilmesi

Android çerçevesi veya ürün yazılımı, bağlı ağın kalitesini periyodik olarak değerlendirir. Bu bölümde, ekran açık veya kapalıyken bağlı ağın nasıl değerlendirildiği açıklanmaktadır.

Bu değerlendirme yukarıda tartışılan ağ seçimine ek olarak yapılır.

Ekran açık

Android çerçevesi bağlı ağı şu şekilde değerlendirir:

  1. Wi-Fi hizmeti her 3 saniyede bir RSSI ve bağlantı katmanı istatistiklerini yoklar ( config_wifiPollRssiIntervalMilliseconds katmanı kullanılarak yapılandırılabilir).

    config_wifiAdjustPollRssiIntervalEnabled kaplaması kullanılarak dinamik aralık ayarı etkinleştirilirse, yoklama aralığı cihazın mobilite durumuna ve RSSI'ye göre dinamik olarak değişir.

    • Cihaz sabit olduğunda ve RSSI -68 dBm'nin üzerinde olduğunda ( config_wifiPollRssiLongIntervalMilliseconds ve config_wifiClientRssiMonitorHysteresisDb katmanları tarafından yapılandırıldığında) yoklama aralığı 6 saniyeye uzatılır ( config_wifiClientRssiMonitorThresholdDbm katmanı tarafından yapılandırılır).
    • Cihaz sabit olmadığında veya RSSI -73 dBm'nin altında olduğunda ( config_wifiClientRssiMonitorThresholdDbm katmanı tarafından yapılandırıldığında), yoklama aralığı 3 saniyeye ( config_wifiPollRssiIntervalMilliseconds katmanı tarafından yapılandırılır) geri düşürülür.
  2. Wi-Fi hizmeti, RSSI ve bağlantı katmanı istatistiklerine göre bağlı bir puan hesaplar.

  3. Wi-Fi hizmeti puanı, bir Wi-Fi ağına mı yoksa hücresel ağ gibi mevcut başka bir ağ türüne mi bağlanılacağını belirlemek için puanı kullanan bağlantı hizmetine iletir.

Ekran kapalı

Çerçeve, bağlı ağ üzerinde bir değerlendirme başlatmaz ancak taramalar diğer bileşenler (örneğin konum hizmetleri) tarafından başlatılırsa ağ seçim süreci yine de gerçekleşebilir. Aygıt yazılımı ağ kalitesini değerlendirir ve ağ kalitesi kötüyse aygıt yazılımı dolaşabilir veya (sonunda) ağla ilişkisini kesebilir ve ana bilgisayarı uyandırabilir.

Bağlantı taramaları

Taramalar, cihazın ekranının açık olmasına, ekranının kapalı olmasına ve Wi-Fi'ye bağlı olmasına ya da ekranın kapalı olmasına ve Wi-Fi'ye bağlı olmamasına bağlı olarak otomatik olarak gerçekleştirilir.

Ekran açık

Çerçeve, ekran açıldığında artan aralıklarla tarama kararlarını tetikler. Tarama karar aralıkları config_wifiDisconnectedScanIntervalScheduleSec , config_wifiConnectedScanIntervalScheduleSec ve config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec katmanlarıyla (bunlar tam sayı dizileridir) yapılandırılır. Varsayılan olarak, taramalar 20, 40, 80 ve 160 saniyelik üstel geri çekilme aralıkları kullanılarak gerçekleştirilir ve sonraki taramalar muhtemelen 160 saniyelik aralıklarla gerçekleştirilir (bunlar yukarıdaki katmanların varsayılan değerleridir).

Üstel geri çekilme tarama aralıkları sıfırlanır ve ekran durumu değiştiğinde, yani ekran açılıp kapatıldığında 20 saniyede yeniden başlatılır.

(Android 13+) Çalışma zamanında farklı tarama aralıklarına ihtiyaç duyulursa, OEM ayrıcalıklı bir uygulama, ekrandaki tarama zamanlamasını dinamik olarak ayarlamak için WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API'sini çağırabilir.

Bir taramanın yürütülüp yürütülmeyeceğine veya atlanacağına dair karar, mevcut ağ bağlantısının taramayı atlayacak kadar iyi olup olmadığına bağlıdır. Aşağıdaki gereksinimlerden herhangi biri karşılanırsa, bağlantı taramayı atlayacak kadar iyidir :

  • Cihaz çevrimiçi kayıt (OSU) bağlantısına bağlı.
  • Bağlantı üzerinden yeterli trafik akıyor (aşağıdaki trafik eşiklerine bakın).
  • RSSI, gerekli RSSI eşiğinin üzerindedir (aşağıdaki RSSI eşiklerine bakın) ve ağ seçimi yakın zamanda gerçekleştirildi (varsayılan olarak 10 dakika ancak config_wifiConnectedHighRssiScanMinimumWindowSizeSec katmanı kullanılarak yapılandırılabilir) ve ağ doğrulandı (internete bağlı) veya kullanıcı -İnternet erişimi olmadan kullanım için onaylanmıştır.

RSSI ve trafik eşikleri şunlardır:

  • RSSI, config_wifi_framework_wifi_score_low_rssi_threshold_24GHz katmanıyla yapılandırılmış, 2,4 GHz bant için -73 dBm'nin üzerinde veya config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz ile yapılandırılmış 5 GHz ve 6 GHz bantlar için -70 dBm'nin üzerindedir yatıyor.
  • Trafik (iletme veya alma), config_wifiFrameworkMinPacketPerSecondActiveTraffic kaplamasıyla yapılandırılmış saniyede 16 paketin (pps) üzerindedir.

Cihaz bağlandığında ve ekran açıkken. Bağlı bir puanlayıcı, RSSI gibi sinyallere ve aktarılan paket sayısına bakarak Wi-Fi kalitesini periyodik olarak izler. Wi-Fi kalitesinin kötü olduğu belirlenirse (aşağıda belirtildiği gibi) ve cihaz eş zamanlı iki istasyonu destekliyorsa bir tarama tetiklenir. config_wifiLowConnectedScoreThresholdToTriggerScanForMbb kaplaması, taramayı tetikleyen puan eşiğini yapılandırmak için kullanılabilir. Bu taramaların süresini yapılandırmak için config_wifiLowConnectedScoreScanPeriodSeconds katmanı kullanılabilir.

Ekran kapalı ve Wi-Fi'ye bağlı

Ekran kapalıyken ve cihaz bir Wi-Fi ağına bağlandığında, ürün yazılımı (Wi-Fi SoC) dolaşım taramaları gerçekleştirir. Çerçeve, ekran kapalıyken herhangi bir tarama gerçekleştirmez.

Ekran kapalı ve Wi-Fi'ye bağlı değil (bağlantının kesik olması durumu)

Ekran kapalıyken ve Wi-Fi bağlantısı kesildiğinde, ürün yazılımı SSID'ler için PNO taramaları gerçekleştirir. Çerçeve, bellenimi, taranacak SSID'lerin bir listesi ve taranacak kanalların bir listesiyle yapılandırır. Yapılandırılmış bir SSID bulunursa ürün yazılımı çerçeveyi uyandırır.

Çerçeve aynı zamanda farklı tarama aralıklarını seçmek için cihazın mobilite durumunu kullanarak bellenimin PNO taramaları gerçekleştireceği aralığı da yapılandırır. Düşük hareketlilik durumunda (cihaz sabittir), aralık ilk üç tarama için 60 saniyedir ( config_wifiStationaryPnoScanIntervalMillis katmanı tarafından kontrol edilir) ve sonraki taramalar için 180 saniyedir (katmanın sabit 3x çarpanı). Yüksek mobilite durumunda aralık, ilk üç tarama için 20 saniyedir ( config_wifiMovingPnoScanIntervalMillis katmanı tarafından kontrol edilir) ve sonraki taramalar için 60 (sabit 3x katman çarpanı) saniyedir.

Ağ adayları

Ağ adayları, aşağıdaki ağlar için yapılandırmaları ( WifiConfiguration ) bulur veya oluşturur:

  • Şu anda mevcut (tarama sonuçlarına göre) veya şu anda bağlı olan ağ (bazen hatalı tarama sonuçlarında eksik).
  • Minimum RSSI'ye sahip olun. Minimum RSSI, 2,4 GHz bant için -80 dBm ve 5 GHz ve 6 GHz bantlar için -77 dBm'dir; config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz , config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz ve config_wifiFrameworkScoreEntryRssiThreshold6ghz kullanılarak yapılandırılabilir kaplamalar.
  • Örneğin önceki bağlantı arızaları nedeniyle engellenmedi.
  • Ağ, kullanılamaz olduğunu belirtmiyor (örneğin, MBO/OCE kullanarak).
  • Cihazda bulunan kimlik bilgilerinin kullanılmasıyla ilişkilendirilebilir.

Aşağıdaki ağ adayları kullanılır:

  • Kaydedilen ağ adaylayıcısı: Kaydedilen tüm ağları değerlendirir (kayıtlı Passpoint abonelikleri dahil).
  • Önerilen ağ adaylayıcısı: Öneri API'sini kullanan uygulamalar tarafından sağlanan tüm ağları değerlendirir (önerilen Passpoint abonelikleri dahil).
  • Harici olarak puanlanan ağ adaylayıcısı: Cihaza ağ bağlantısı seçenekleri sağlayan OEM mekanizması. Daha fazla bilgi için bkz . Harici ağ derecelendirme sağlayıcısı .

Aday golcüler

Aday puanlayıcıları her aday için değerlendirme yapar ve bir puan verir. ThroughputScorer puanı (varsayılan puanlayıcı) aşağıdakilere dayanmaktadır:

  • Temel puan, RSSI'nin 2,4 GHz bant için -73 dBm veya 5 GHz ve 6 GHz bantlar için -70 dBm ile sınırlandığı RSSI'ye göre hesaplanır ( config_wifi_framework_wifi_score_low_rssi_threshold_24GHz , config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz ile yapılandırılmıştır) LowRssiThreshold6ghz katmanları).
  • Bir puan artışı; teknoloji, kanal frekansı, bant genişliği, RSSI, kanal koşulları, maksimum uzamsal akış sayısı ve diğer parametrelerden elde edilen bir verim tahminine dayalı olarak hesaplanır. Puan artışı, config_wifiFrameworkThroughputBonusNumerator ve config_wifiFrameworkThroughputBonusDenominator katmanları kullanılarak yapılandırılabilir ve config_wifiFrameworkThroughputBonusLimit katmanı kullanılarak belirtilen maksimum değerle sınırlıdır.
  • Kullanıcı veya uygulama tarafından yakın zamanda seçilen bir aday ağ, config_wifiFrameworkLastSelectionMinutes katmanı kullanılarak yapılandırılabilen bir süre boyunca büyük bir puan artışı alır (bu süre boyunca ağın, kullanıcı tarafından seçilmeyen ağlar üzerinden seçilmesi garanti edilir).
  • Geçerli ağla eşleşen bir aday, config_wifiFrameworkCurrentNetworkBonusMin ve config_wifiFrameworkCurrentNetworkBonusPercent katmanları tarafından yapılandırılan bir puan artışı alır (yapılandırılabilir minimum seviyeye kadar, RSSI yüzdesine ve aktarım hızına dayalı puana dayalı olarak ekstra bir bonus alır).
  • Güvenli bir ağ, açık bir ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkSecureNetworkBonus katmanı kullanılarak yapılandırılır.
  • Ölçülmemiş (ücretsiz) bir ağ, ölçülü (ücretli) bir ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkUnmeteredNetworkBonus katmanı kullanılarak yapılandırılır.
  • Kaydedilen bir ağ, Öneri API'si kullanılarak önerilen bir ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkSavedNetworkBonus katmanı kullanılarak yapılandırılır.
  • Güvenilmeyen ağlar (Öneri API'sinin bir parçası olarak talep edilebilir) diğer tüm ağlardan daha düşük puan alır.
  • Daha önce internetinin olmadığı tespit edilen bir ağ, cihazın o anda internet erişimi olan başka bir ağa bağlı olması durumunda 0 puan alır.

Kaydedilene karşı öneriye ve ölçülmemişe karşı ölçülüye ilişkin varsayılan bonus (yani, varsayılan yer paylaşımı değerleri), kaydedilen, önerilen, ölçülen ve ölçülmeyen için katı bir öncelik sırası oluşturur:

  1. Ölçülmemiş ağlar kaydedildi
  2. Önerilen ölçülmemiş ağlar
  3. Kaydedilen ölçülü ağlar
  4. Önerilen ölçülü ağlar

Bu, kayıtlı tarifesiz (ücretsiz) ağın her zaman kayıtlı tarifeli (ücretli) ağdan önce seçildiği anlamına gelir. Yakın zamanda seçilen (kullanıcı veya uygulama tarafından) puan bonusu, bu katı önceliği geçersiz kılabilir.

Çerçevede birden fazla aday puanlayıcı kurulu olabilir ancak aynı anda yalnızca bir tanesi aktif olabilir. Diğer puanlayıcılar ölçümler için kullanılabilir (alternatif algoritmaları araştırmak için). Android 11'de varsayılan puanlayıcı ThroughputScorer .

SSID ve BSSID engelleme

Çerçeve, SSID'leri ve/veya BSSID'leri engelleyebilir, yani bunları geçici veya kalıcı olarak bağlantılar için dikkate almayabilir.

BSSID engelleme

BSSID engelleme, belirli arıza türü başına iki arıza sayacı, bir sürekli arıza sayacı ve bir seri sayacı tutarak çalışır (hata türleri listesi için aşağıya bakın). Bir arıza meydana geldiğinde:

  • Karşılık gelen arıza tipinin sayacı artırılır.
  • Söz konusu arıza türü için arıza eşiğine ulaşılırsa:
    • BSSID engellendi.
    • Başarısızlık için seri sayacı artırılır.

Bir BSSID'nin engellendiği süre, (yapılandırılabilir) bir temel değerde ( config_wifiBssidBlocklistMonitorBaseBlockDurationMs veya config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs kaplamaları tarafından belirtilir, RSSI'ye bağlı olarak belirtilir) başlar ve yapılandırılabilir bir üst sınıra kadar ( config_wifiBssidBlocklistMonitorFailureStreakCap tarafından belirtilir) katlanarak artar. StreakCap kaplaması). Aynı BSSID'de sürekli arıza meydana gelirse süre artar. Süre, başarısızlık serisi tarafından katlanarak artan temel süredir; yani 2'lik bir başarısızlık serisi, 4x temel blok süresi anlamına gelir.

BSSID engelleme eşikleri, arıza nedenine bağlıdır ve her biri katmanlar kullanılarak özelleştirilebilir:

  • AP, MBO/OCE kullanarak ilişkilendirmeyi reddediyor Yeni STA kodu işlenemiyor : config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold .
  • Bu ağ üzerinden İnternet doğrulaması başarısız oldu: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold .
  • Yanlış şifre kimlik doğrulama hatası kodu: config_wifiBssidBlocklistMonitorWrongPasswordThreshold .
  • EAP ağları için EAP hatası kimlik doğrulama hatası kodu: config_wifiBssidBlocklistMonitorEapFailureThreshold .
  • İlişkilendirme reddi, diğer genel ilişkilendirme redleri: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold .
  • İlişkilendirme zaman aşımı: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold .
  • Kimlik doğrulama hatası, diğer genel kimlik doğrulama hataları: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold .
  • DHCP hatası, DHCP sağlama hatası: config_wifiBssidBlocklistMonitorDhcpFailureThreshold .
  • Anormal bağlantı kesilmesi, cihazın ağ bağlantısı bağlandıktan çok kısa bir süre sonra kesildi: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold . Zaman penceresi config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs ile yapılandırılabilir.

BSSID engelleme listesi temizleme koşulları

Bir BSSID aşağıdaki durumlarda engelleme listesinden temizlenir:

  • Wi-Fi değiştirildi: Tüm BSSID'ler engelleme listesinden kaldırıldı.
  • Kullanıcı Wi-Fi seçicide bir ağa dokunur: Kullanıcının seçtiği ağın tüm BSSID'leri engelleme listesinden kaldırılır.
  • Zaman Aşımı: Blok süresine ulaşıldığında BSSID'ler blok listesinden kaldırılır.
  • Yeniden Başlat: Tüm engellenenler listeleri temizlenir.
  • Ağ kaldırıldı: Bu ağla ilişkili tüm BSSID'ler engelleme listesinden kaldırılır.

Arıza ve seri sayaçları sıfırlama koşulları:

  • Yeniden Başlat: Tüm BSSID'ler için sıfırlayın.
  • Ağ kaldırıldı: Ağla ilişkili BSSID'ler için sıfırlayın.
  • L2 bağlantı başarısı: Aşağıdaki hata kodları için sıfırlayın.

    • 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 (yalnızca cihazın bu BSSID'ye en son 3 saatten daha önce bağlanması durumunda koşullu olarak temizlenir)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Ağ doğrulama başarısı: Aşağıdaki hata kodu için sıfırlanır.

    • REASON_NETWORK_VALIDATION_FAILURE
  • DHCP sağlama başarısı: Aşağıdaki hata kodu için sıfırlanır.

    • REASON_DHCP_FAILURE

SSID engelleme

SSID engelleme, BSSID engellemeye benzer şekilde çalışır. Bağlantı arızaları (bu türden) meydana geldiğinde, ağ başına arıza türü başına bir arıza sayacı artırılır. Belirli bir türün arıza sayısı bir eşiği aştığında SSID, yapılandırmaya bağlı olarak kalıcı veya geçici olarak engellenir. Her arıza türüne ilişkin yapılandırma, WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS dosyasında kodlanmıştır ve aşağıda özetlenmiştir.

* Geçici olarak devre dışı bırakılan ağlar için devre dışı bırakma süresi, ağda yaşanan ardışık bağlantı arızalarının sayısına göre dinamik olarak değişir. Bir ağ art arda beş kez bağlantı kuramadığında, sonraki her hata, önceki sürenin iki katı uzunlukta bir devre dışı bırakma süresiyle sonuçlanır. Örneğin, art arda beş arıza meydana gelen bir ağ, maksimum 18 saat sınırına kadar 5 dakika süreyle, ardından altıncı arızada 10 dakika, yedinci arızada 20 dakika süreyle devre dışı bırakılır ve bu şekilde devam eder.

Arıza kodu Tanım Eşik Temel devre dışı bırakma süresi* Türü devre dışı bırak
DISABLED_DHCP_FAILURE DHCP'nin sağlanamaması 5 5 dakika Geçici
DISABLED_NO_INTERNET_TEMPORARY Ağ doğrulaması başarısız oldu ancak kullanıcı gelecekte bu ağa bağlanmaya devam etmek istediğini belirtiyor 1 10 dakika Geçici
DISABLED_AUTHENTICATION_NO_CREDENTIALS Talep sahibinin ağa bağlanmak için gerekli kimlik bilgileri yok 1 Yok Kalıcı
DISABLED_NO_INTERNET_PERMANENT Ağ doğrulama hatası için varsayılan 1 Yok Kalıcı
DISABLED_BY_WIFI_MANAGER Kullanımdan kaldırılmış ve kullanılmamış 1 Yok Kalıcı
DISABLED_BY_WRONG_PASSWORD Şifre yanlış ve bu ağ hiçbir zaman başarıyla bağlanmadı 1 Yok Kalıcı
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION SIM kartın abone olmadığı EAP hatası 1 Yok Kalıcı
DISABLED_ASSOCIATION_REJECTION İlişkilendirme reddi hataları 5 5 dakika Geçici
DISABLED_AUTHENTICATION_FAILURE Diğer kimlik doğrulama hataları (yanlış parola veya EAP hatası değil) 5 5 dakika Geçici
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Sağlayıcıya özgü (özel) EAP hatası. 1 Yok Kalıcı
DISABLED_NETWORK_NOT_FOUND Talepte bulunan kişi, tarama sonuçlarında bağlantı çerçevesi tarafından talep edilen ağla (ağ özellikleri dahil) eşleşen bir ağ bulamadı. 2 5 dakika Geçici
DISABLED_CONSECUTIVE_FAILURES Ağ art arda beş veya daha fazla kez bağlanamadı. Bu arızalara ilişkin arıza türü, bu tabloda listelenen arıza türlerini içerir ancak bunlarla sınırlı değildir.
5 5 dakika Geçici

Geçici olarak devre dışı bırakılan bir ağ aşağıdaki durumlarda yeniden etkinleştirilir:

  • Devre dışı bırakma süresi geçti.
  • Kullanıcı bağlanılacak ağı manuel olarak seçer.
  • Kullanıcı Wi-Fi'yi değiştirir.
  • Sistem yeniden başlatılır.
  • Ağ çok düşük bir RSSI düzeyinde devre dışı bırakıldı, ancak ağ daha sonra orta veya daha yüksek bir RSSI düzeyinde yeniden algılandı.

Kalıcı olarak devre dışı bırakılan bir ağ aşağıdaki durumlarda yeniden etkinleştirilir:

  • Kullanıcı bağlanılacak ağı manuel olarak seçer.

Bir ağ için arıza sayaçları şu durumlarda sıfırlanır:

  • Ağ kaldırılır.
  • Cihaz başarıyla ağa bağlandı.
  • Devre dışı bırakma süresi zaman aşımına uğradıktan sonra ağ yeniden etkinleştirildi.
  • Kullanıcı bağlanılacak ağı manuel olarak seçer.
  • Sistem yeniden başlatılır.

Puan kartları

Android 10'da sunulan puan kartları, BSSID'lerle ilgili cihaz içi istatistikleri kaydeder. Puan kartları IpMemoryStore hizmeti kullanılarak kalıcı hale getirilir.

Android 11 ağ seçiminde puan kartları kullanılmaz.

Kullanıcı bağlantı seçeneği

Android, seçim sürecinin, kullanıcının açıkça bağlandığı Wi-Fi ağlarını (örneğin, ev ağı) tercih etmesine olanak tanıyan bir kullanıcı bağlantı seçim algoritmasına sahiptir. Kullanıcılar, performansı genel bir ağdan daha düşük olsa bile, ev cihazlarını kontrol etme yeteneği gibi ek hizmetler sağladıkları için bu tür ağları genel ağlar yerine tercih edebilirler.

Kullanıcının bir ağ tercihi, kullanıcı bir ağı seçtiğinde tüm görünür Wi-Fi yapılandırmalarının ve bunların sinyal güçlerinin işaretlenmesiyle yakalanır. Otomatik seçim işlemi sırasında işaretlenen Wi-Fi yapılandırmalarından biri seçilirse ve kullanıcı tarafından seçilen bir ağ mevcutsa, aşağıdaki koşulların karşılanması durumunda kullanıcı bağlantı seçim algoritması, kullanıcının seçtiği ağ ile seçimi geçersiz kılar:

  • Kullanıcı bağlantı seçeneği ağı, en son kullanıldığında internet erişimine sahipti
  • Kullanıcı bağlantı seçeneği, başlangıçta bir hata marjıyla seçildiğinden daha kötü olmayan bir sinyal gücüne sahiptir. Bu hata marjı, config_wifiEstimateRssiErrorMarginDb kaplaması kullanılarak yapılandırılabilir.

Kullanıcı bağlantı seçim ağı, yeniden başlatmanın ardından varlığını sürdürüyor. Kullanıcı bağlantı seçeneği kayıtlı ağlar, Geçiş Noktası ağları ve öneri ağları için çalışır.

Çift eşzamanlı istasyon

Bu bölümde, bir cihazın aynı anda iki Wi-Fi ağına bağlanmayı desteklemesi durumunda Wi-Fi ağı seçimi açıklanmaktadır.

Moladan önce yap

Kesmeden önce yap işlevi etkinleştirilmişse, cihaz eski ağ bağlantısını kesmeden önce yeni ağa bağlanmayı dener. Kesmeden önce kesme akışı, kesmeden önce kesme ağ anahtarlamayla aynı ağ seçim algoritmasını kullanır (bu, cihazın yenisine bağlanmadan önce eski ağla bağlantısını kesmesidir). Ağ seçim algoritması, kesmeden önce yap kullanılarak değiştirilemeyen bir ağ seçerse, cihaz otomatik olarak kesmeden önce kesme moduna geri döner.

Eşzamanlı kısıtlı ve internet bağlantısı

Eşzamanlı kısıtlı ve internet bağlantısı işlevi etkinleştirilirse cihaz, yalnızca cihaz üreticisi tarafından yapılandırılan belirli uygulamalar için kullanılabilen ikincil bir kısıtlı Wi-Fi ağına bağlanabilir. Cihaz üreticilerinin bunu yapılandırmasına yönelik talimatlar Eşzamanlı kısıtlı ve internet bağlantısı bölümündedir.

Ağ seçim algoritması, OEM ücretli/özel önerisiyle eşleşen tarama sonuçlarını tespit ettiğinde, otomatik olarak ikinci bir ağ olarak ona bağlanır. Birincil Wi-Fi ağı (normal uygulamalara internet bağlantısı sağlayan) için ağ seçimi normalde paralel olarak gerçekleşir.

Sık Sorulan Sorular (SSS)

  1. Güvenli ağların açık ağlara göre her zaman önceliği var mıdır?

    Hayır. Kaydedilenler, önerilenler ve ölçülenler ve ölçülmeyenler, ağların değerlendirildiği birincil kategorilerdir. Her kategoride, güvenli ağların açık ağlara göre bir miktar önceliği vardır ancak bağlantının kalitesine çok daha fazla ağırlık verilmektedir.

    Bunun nedeni, gerçek kullanıcı veri güvenliğinin uçtan uca şifreleme (örneğin TLS) ile sağlanmasıdır. Güvenli ağlar iletişimin yalnızca ilk ayağını şifreler ve bu durumda bile önceden paylaşılan anahtarlara sahip ağlar için fazla gizlilik sağlamaz.

  2. Kaydedilen ağlara neden önerilen ağlara göre öncelik veriliyor?

    Kaydedilmiş ücretsiz (ölçülmemiş) ağlar, önerilen ücretsiz ağlara göre önceliklendirilir ve kayıtlı ölçülü ağlar, önerilen ölçülü ağlara göre önceliklendirilir.

    Kayıtlı ağlar, kullanıcının cihaza açıkça eklediği ağlar olduğundan, kayıtlı ağlar önerilen ağlara göre önceliklendirilir. Bu, mümkün olduğunda bu ağlara bağlanmayı tercih ettiğiniz anlamına gelir.

    Kullanıcıların bireysel kayıtlı ağlar için otomatik bağlantı davranışını devre dışı bırakabileceğini, yani bu ağların yalnızca manuel olarak kullanılacağını ve cihaz tarafından otomatik olarak dikkate alınmayacağını belirtebileceğini unutmayın.

  3. Kesin öncelik sırasını değiştirebilir miyim veya tamamen kaldırabilir miyim?

    Cihaz üreticisi, yukarıdaki bölümlerde listelenen bonus katmanlarını değiştirerek ağ seçim kararlarını değiştirebilir. Ancak, birden çok kullanım durumu dikkatlice değerlendirildikten sonra seçildikleri için varsayılan değerlerin değiştirilmesi önerilmez.