Kablosuz ağ seçimi

Bu sayfada, Android 12'de kablosuz ağları seçme ve bunlar arasında geçiş yapma için kullanılan algoritmalar ve prosedürler özetlenmiştir. Android, bağlı ağın kalitesini sürekli olarak değerlendirir ve mevcut ağların kalitesini değerlendirir.

Otomatik bağlantının kullanım ömrü

Bu makalede, bir Android cihazın mevcut kablosuz ağları nasıl değerlendirdiği ve bunlara nasıl bağlandığı açıklanmaktadır.

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

    • Ekran aç (bağlı): Android bağlantı alt sistemi, mevcut bağlantının taramayı atlamak için yeterince iyi olup olmadığını düzenli olarak değerlendirir (ekran görüntüleme taramalarında tanımlandığı gibi). Bağlantı, taramayı atlamak için yeterince iyi değilse bağlantı alt sistemi, kullanılabilir ağları algılamak için bir tarama tetikler. Bu taramalar, konum sistemi veya bir uygulama (Ayarlar uygulaması dahil) gibi diğer sistem bileşenleri tarafından da tetiklenebilir.
    • Ekranı aç (bağlı değil): Android bağlantı alt sistemi, üstel geri yükleme programının ardından düzenli 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ı kesilmiş): Ana makine CPU'su, ekran kapanır kapanmaz tercih edilen ağdan yayın aktarma (PNO) taramalarını kullanarak donanımı tercih edilen ağların listesiyle programlar. Donanım, tercih edilen ağlardan herhangi birini bulursa ana makineyi 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 (ör. mobil olmayan, önceden yapılandırılmış cihaz) kullanılabilen ayrıcalıklı bir API'dir.

    Cihaz bağlıysa ve config_wifi_framework_enable_associated_network_selection yer paylaşımı false olarak ayarlanırsa bağlantı taraması yapılmaz ve tarama sonuçları ağ seçimini tetiklemez. Cihazın bağlantısı kesildiğinde bu ayarın hiçbir etkisi olmaz. Bu durumda bağlantı tarama ve ağ seçimi devam eder.

  2. Tarama sonuçları değerlendirilir.

    • Cihaz bir kablosuz ağa bağlıysa çerçeve, mevcut ağın ağ seçimini atlamak için yeterince iyi olup olmadığını değerlendirir.

      Bir ağ, aşağıdaki koşullardan herhangi biri karşılandığında ağ seçimini atlayabilecek kadar iyi olarak tanımlanır:

      • Son ağ seçiminden bu yana 10 saniyeden az zaman geçmişse
      • Kullanıcı kısa süre önce ağa manuel olarak bağlanmıştır (yakın zamanda config_wifiSufficientDurationAfterUserSelectionMilliseconds yer paylaşımı kullanılarak yapılandırılabilir).
      • Cihaz bir online kayıt (OSU) bağlantısına bağlıdır.
      • Aşağıdaki koşulların tümü karşılanır:

        • RSSI, gerekli RSSI eşiğinin üzerindedir veya bağlantı üzerinden yeterli trafik akışı vardır (RSSI ve trafik eşikleri için ekran açıkken taramalara bakın).
        • Ağ doğrulanır (internete bağlıdır) veya internet erişimi olmadan kullanılması kullanıcı tarafından onaylanmıştır.
        • Ağ sınırsız.
    • Ağ, ağ seçimini atlayacak kadar iyiyse başka işlem yapılmaz.

    • Bağlı kablosuz 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 kablosuz ağ adaylarının listesini oluşturmak için ağ adlandırıcıları çağırır. Ağ aday gösterenler, mevcut kablosuz ağ yapılandırmalarını bulur veya aday ağlar için yeni yapılandırmalar oluşturur.

    • Tarama sonuçları, giriş RSSI'nin altında RSSI'si olan 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 yer paylaşımları kullanılarak yapılandırılabilir). Ayrıca, engellenen BSSID'ler filtrelenir. BSSID'ler; tekrarlanan bağlantı hataları, sık bağlantı kesintileri ve AP'nin belirli bir süre boyunca ilişkilendirme denememesi (MBO-OCE) için yapılan açık isteklere dayalı olarak engellenebilir. BSSID engelleme, aşağıdaki SSID ve BSSID engelleme bölümünde açıklanmıştır.

    • Cihaz hızlıca hareket ettiğinde, RSSI'si hızlıca değişen BSSID'lerin (cihazla birlikte hareket etmediklerini gösteren) kaldırılması için tarama sonuçları isteğe bağlı olarak daha da filtrelenir. Bu optimizasyon, config_wifiHighMovementNetworkSelectionOptimizationEnabled (optimizasyonu etkinleştirme/devre dışı bırakma) ve config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs ile config_wifiHighMovementNetworkSelectionOptimizationRssiDelta yer paylaşımları kullanılarak yapılandırılabilir. Bu yer paylaşımları, tarama sonuçlarındaki kararlılık koşulunu (tarama sonuçlarındaki RSSI değişikliğinin zaman içinde yeterince ayrılmış olması) yapılandırır.

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

  4. Çerçeve, kullanıcı bağlantı seçimi algoritmasını yürütür. Bu algoritma, aday puanlayıcıdaki kazanan adayı kullanmak yerine, kullanıcının seçtiği bir ağı yeni kazanan aday yapabilir.

  5. Çerçeve, kazanan adayın şu anda bağlı olan ağla eşleşip eşleşmediğini belirler. Eşleşmenin kabul edilmesi için aşağıdakilerden birinin karşılanması gerekir:

    • Kazanan aday ve bağlı kablosuz ağ aynı BSSID'ye sahiptir.
    • Donanım yazılımı dolaşımı kullanılabiliyorsa (BSSID kara listesine ekleme özelliği dahil) kazanan aday ve bağlı ağ aynı SSID'ye ve güvenlik türüne sahiptir.

    Kazanan aday şu anda bağlı olan ağla eşleşirse başka işlem yapılmaz. Kazanan aday ağla eşleşmezse cihaz, kazanan adayla ilişkilendirilir.

Bir uygulama Kablosuz Ağ İsteği API'sini kullanırken otomatik ağ bağlantısının devre dışı bırakıldığını unutmayın. Bu API, sistemi geçersiz kılar ve eşzamanlı iki istasyonu destekleyen cihazlar hariç internet bağlantısı olmayan bir LAN oluşturur.

Bağlı ağın değerlendirilmesi

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

Bu değerlendirme, yukarıda açıklanan ağ seçimine ek olarak yapılır.

Ekran açık

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

  1. Kablosuz ağ hizmeti, RSSI ve bağlantı katmanı istatistiklerini 3 saniyede bir sorar (config_wifiPollRssiIntervalMilliseconds yer paylaşımı kullanılarak yapılandırılabilir).

    config_wifiAdjustPollRssiIntervalEnabled yer paylaşımı kullanılarak dinamik aralık ayarı etkinleştirilirse anket aralığı, cihaz hareketlilik durumuna ve RSSI'ye göre dinamik olarak değişir.

    • Cihaz sabitken ve RSSI -68 dBm'in üzerindeyken (config_wifiClientRssiMonitorThresholdDbm ve config_wifiClientRssiMonitorHysteresisDb yer paylaşımları tarafından yapılandırılır) anket aralığı 6 saniyeye (config_wifiPollRssiLongIntervalMilliseconds yer paylaşımı tarafından yapılandırılır) uzatılır.
    • Cihaz hareket halindeyken veya RSSI -73 dBm'nin altındayken (config_wifiClientRssiMonitorThresholdDbm yer paylaşımı tarafından yapılandırılır) anket aralığı tekrar 3 saniyeye düşürülür (config_wifiPollRssiIntervalMilliseconds yer paylaşımı tarafından yapılandırılır).
  2. Kablosuz hizmet, RSSI ve bağlantı katmanı istatistiklerine göre bağlılık puanı hesaplar.

  3. Kablosuz hizmet, puanı bağlantı hizmetine iletir. Bağlantı hizmeti, kablosuz ağa mı yoksa hücresel ağ gibi başka bir kullanılabilir ağ türüne mi bağlanacağını belirlemek için puanı kullanır.

Ekran kapalı

Çerçeve, bağlı ağda bir değerlendirme başlatmaz ancak taramalar başka bileşenler (örneğin, konum hizmetleri) tarafından başlatılırsa ağ seçimi işlemi yine de gerçekleşebilir. Donanım yazılımı ağ kalitesini değerlendirir ve ağ kalitesi kötüyse donanım yazılımı dolaşabilir veya (nihayetinde) ağla ilişkisini kesip ana makineyi uyandırabilir.

Bağlantı taramaları

Taramalar, cihazın ekranının açık olup olmadığına, ekranının kapalı olup kablosuz ağa bağlı olup olmadığına veya ekranının kapalı olup kablosuz ağa bağlı olmadığına göre 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 yer paylaşımları (tam sayı dizileridir) ile yapılandırılır. Varsayılan olarak taramalar 20, 40, 80 ve 160 saniyelik üstel geri yükleme aralıkları kullanılarak gerçekleşir. Sonraki taramalar da muhtemelen 160 saniyelik aralıklarla gerçekleştirilir (bunlar, bu yer paylaşımlarının varsayılan değerleridir).

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

(Android 13 ve sonraki sürümler) Çalışma zamanında farklı tarama aralıkları gerekiyorsa OEM'e özel bir uygulama, ekran görüntülenme zamanlamasını dinamik olarak ayarlamak için WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API'yi çağırabilir.

Bir taramanın yürütülüp yürütülmeyeceğine karar verilirken mevcut ağ bağlantısının taramayı atlamak için yeterince iyi olup olmadığına bakılır. Aşağıdaki koşullardan herhangi biri karşılanıyorsa bağlantı tarama işlemini atlamak için yeterlidir:

  • Cihaz, online kayıt (OSU) bağlantısına bağlı.
  • Bağlantıda yeterli trafik akışı olmalıdır (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 yapılmıştır (varsayılan olarak 10 dakikadır ancak config_wifiConnectedHighRssiScanMinimumWindowSizeSec yer paylaşımı kullanılarak yapılandırılabilir) ve ağ doğrulanmış (internete bağlı) veya internet erişimi olmadan kullanım için kullanıcı tarafından onaylanmıştır.

RSSI ve trafik eşikleri şunlardır:

  • RSSI, config_wifi_framework_wifi_score_low_rssi_threshold_24GHz yer paylaşımıyla yapılandırılmış 2,4 GHz bandında -73 dBm'den veya config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz yer paylaşımlarıyla yapılandırılmış 5 GHz ve 6 GHz bantlarında -70 dBm'den yüksek.
  • Trafik (aktarma veya alma), config_wifiFrameworkMinPacketPerSecondActiveTraffic yer paylaşımıyla yapılandırılmış, saniyede 16 paketin (pps) üzerindedir.

Cihaz bağlıyken ve ekran açıkken. Bağlı bir puanlayıcı, RSSI ve aktarılan paket sayısı gibi sinyallere bakarak kablosuz bağlantı kalitesini düzenli olarak izler. Kablosuz bağlantı kalitesinin kötü olduğu belirlenirse (aşağıda belirtildiği gibi) ve cihaz eşzamanlı olarak iki istasyonu destekliyorsa bir tarama tetiklenir. Taramayı tetikleyen puan eşiğini yapılandırmak için config_wifiLowConnectedScoreThresholdToTriggerScanForMbb yer paylaşımı kullanılabilir. Bu taramaların dönemini yapılandırmak için config_wifiLowConnectedScoreScanPeriodSeconds yer paylaşımı kullanılabilir.

Ekran kapalı ve kablosuz ağa bağlı

Ekran kapalıyken ve cihaz bir kablosuz ağa bağlıyken donanım yazılımı (Kablosuz SoC), dolaşım taramaları gerçekleştirir. Çerçeve, ekran kapalıyken herhangi bir tarama gerçekleştirmez.

Ekran kapalı ve kablosuz ağa bağlı değil (bağlantı kesilmiş durumda)

Ekran kapalı olduğunda ve kablosuz ağ bağlantısı olmadığında, donanım yazılımı SSID'leri PNO taraması yapar. Çerçeve, donanım yazılımını taranacak SSID'lerin ve taranacak kanalların listesiyle yapılandırır. Yapılandırılmış bir SSID bulunursa donanım yazılımı çerçeveyi uyandırır.

Çerçeve, farklı tarama aralıkları seçmek için cihaz hareketlilik durumunu kullanarak donanım yazılımının PNO taramalarını gerçekleştireceği aralığı da yapılandırır. Düşük hareket süresinde (cihaz hareketsizken) aralık, ilk üç tarama için 60 saniye (config_wifiStationaryPnoScanIntervalMillis yer paylaşımı tarafından kontrol edilir) ve sonraki taramalar için 180 saniyedir (yer paylaşımının sabit 3 kat çarpanı). Yüksek hareketlilik durumunda, ilk üç tarama için aralıklar 20 saniye (config_wifiMovingPnoScanIntervalMillis yer paylaşımı tarafından kontrol edilir) ve sonraki taramalar için 60 saniyedir (yer paylaşımının sabit bir 3x çarpanı).

Ağ adlandırıcıları

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

  • Mevcut (tarama sonuçlarına göre) veya bağlı ağ (bazen kararsız tarama sonuçlarında eksiktir).
  • RSSI değeri minimum olmalıdır. Minimum RSSI, 2,4 GHz bandı için -80 dBm ve 5 GHz ile 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 yer paylaşımları kullanılarak yapılandırılabilir.
  • Örneğin, önceki bağlantı hataları nedeniyle engellenmemelidir.
  • Ağ, kullanılamadığını belirtmez (ör. MBO/OCE kullanılır).
  • Cihazdaki kimlik bilgilerini kullanarak ilişkilendirilebilir.

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

  • Kayıtlı ağ adayı: Tüm kayıtlı ağları (kayıtlı Passpoint abonelikleri dahil) değerlendirir.
  • Önerilen ağ aday göstergesi: Suggestion API'yi kullanarak uygulamalar tarafından sağlanan tüm ağları (önerilen Passpoint abonelikleri dahil) değerlendirir.
  • Dışarıdan puanlanan ağ adayı: Cihaza ağ bağlantısı seçenekleri sunan OEM mekanizması. Daha fazla bilgi için Harici ağ derecelendirme sağlayıcı bölümüne bakın.

Aday puanlayıcılar

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

  • Temel puan, RSSI'ye göre hesaplanır.RSSI, 2,4 GHz bandında -73 dBm veya 5 GHz ve 6 GHz bantlarında -70 dBm ile sınırlıdır (config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz yer paylaşımlarıyla yapılandırılır).
  • Puan artışı, teknoloji, kanal frekansı, bant genişliği, RSSI, kanal koşulları, maksimum sayıdaki uzamsal akış ve diğer parametrelerden elde edilen bir aktarım hızı tahminine göre hesaplanır. Puan artışı, config_wifiFrameworkThroughputBonusNumerator ve config_wifiFrameworkThroughputBonusDenominator yer paylaşımları kullanılarak yapılandırılabilir ve config_wifiFrameworkThroughputBonusLimit yer paylaşımı 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 yer paylaşımı kullanılarak yapılandırılabilen bir süre boyunca yüksek puan artışı elde eder (bu süre boyunca ağın kullanıcı tarafından seçilmeyen ağlar üzerinden seçileceği garanti edilir).
  • Mevcut ağla eşleşen bir aday, config_wifiFrameworkCurrentNetworkBonusMin ve config_wifiFrameworkCurrentNetworkBonusPercent yer paylaşımları tarafından yapılandırılan bir puan artışı alır (RSSI ve aktarım hızına dayalı puanının yüzdesine göre, yapılandırılabilen minimuma kadar ek bonus alır).
  • Güvenli bir ağın puanı, açık ağa göre daha yüksek olur. Bonus, config_wifiFrameworkSecureNetworkBonus yer paylaşımı kullanılarak yapılandırılır.
  • Sınırsız (ücretsiz) ağlar, sınırlı (ücretli) ağlardan daha yüksek puan alır. Bonus, config_wifiFrameworkUnmeteredNetworkBonus yer paylaşımı kullanılarak yapılandırılır.
  • Kayıtlı bir ağ, Suggestion API kullanılarak önerilen bir ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkSavedNetworkBonus yer paylaşımı kullanılarak yapılandırılır.
  • Güvenilmeyen ağlar (Suggestion API'nin bir parçası olarak istenebilir) diğer ağlardan daha düşük puan alır.
  • Daha önce internete sahip olmadığı tespit edilen bir ağ, cihaz şu anda internet erişimi olan başka bir ağa bağlıysa 0 puan alır.

Kayıtlı ve öneri, sınırsız ve sınırlı için varsayılan bonus (yani varsayılan yer paylaşımı değerleri), kayıtlı, önerilen, sınırlı ve sınırsız için katı bir öncelik sırası oluşturur:

  1. Sayaçsız ağlar kaydedildi
  2. Önerilen sınırsız ağlar
  3. Kayıtlı kotalı ağlar
  4. Önerilen sayaçlı ağlar

Bu, kayıtlı sınırsız (ücretsiz) bir ağın, kayıtlı sınırlı (ücretli) bir ağdan her zaman önce seçileceği anlamına gelir. Yakın zamanda seçilen (kullanıcıya veya uygulamaya göre) puan bonusu, bu katı önceliği geçersiz kılabilir.

Çerçeveye birkaç aday puanlayıcı yüklenebilir ancak aynı anda yalnızca biri etkin olabilir. Diğer puanlayıcılar metrikler için kullanılabilir (alternatif algoritmaları incelemek amacıyla). Android 11'de varsayılan puanlayıcı ThroughputScorer'dur.

SSID ve BSSID engelleme

Çerçeve, SSID'leri veya BSSID'leri engelleyebilir. Yani, bağlantılar için geçici veya kalıcı olarak dikkate almaz.

BSSID engelleme

BSSID engelleme, belirli bir hata türü başına iki hata sayacı (sürekli hata sayacı ve kesintisiz hata sayacı) tutarak çalışır (Hata türlerinin listesi için aşağıya bakın). Hata oluştuğunda:

  • İlgili hata türü için sayaç artırılır.
  • Söz konusu hata türü için hata eşiğine ulaşılırsa:
    • BSSID engellendi.
    • Başarısızlığın art arda gerçekleşme sayısı artırılır.

Bir BSSID'nin engellendiği süre (yapılandırılabilir) bir temel değerde (RSSI'ye bağlı olarak config_wifiBssidBlocklistMonitorBaseBlockDurationMs veya config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs yer paylaşımlarıyla belirtilir) başlar ve yapılandırılabilir bir üst sınıra (config_wifiBssidBlocklistMonitorFailureStreakCap yer paylaşımı ile belirtilir) katlanarak artar. Aynı BSSID'de sürekli olarak hatalar meydana gelirse süre artar. Süre, temel sürenin başarısızlık serisi ile üstel olarak artırılmasıdır. Yani 2'lik bir başarısızlık serisi, temel engelleme süresinin 4 katı anlamına gelir.

BSSID engelleme eşikleri, hata nedenine bağlıdır ve her biri yer paylaşımları kullanılarak özelleştirilebilir:

  • AP, MBO/OCE Yeni STA'yı işleyemedi kodunu kullanarak ilişkilendirmeyi reddeder: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Şu ağ üzerinden internet 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 reddetmeleri: 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ı kesme, cihaz bağlandıktan çok kısa bir süre içinde ağ bağlantısını kesmiştir: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. Zaman aralığı, config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs ile yapılandırılabilir.

BSSID engellenenler listesi temizleme koşulları

Aşağıdaki durumlarda bir BSSID engellenenler listesinden silinir:

  • Kablosuz ağ açma/kapatma düğmesi değiştirildi: Tüm BSSID'ler engellenenler listesinden kaldırılır.
  • Kullanıcı, kablosuz ağ seçicide bir ağa dokunur: Kullanıcının seçtiği ağın tüm BSSID'leri engellenenler listesinden kaldırılır.
  • Zaman aşımı: Engelleme süresi dolandığında BSSID'ler engellenenler 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 engellenenler listesinden kaldırılır.

Başarısızlık ve seri sayaçları sıfırlama koşulları:

  • Yeniden başlat: Tüm BSSID'ler için sıfırlanır.
  • Ağ kaldırıldı: Ağla ilişkili BSSID'ler için sıfırlayın.
  • L2 bağlantısı başarılı: 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 bağlandığı son zaman 3 saatten uzunsa koşullu olarak temizlenir)
    • REASON_NONLOCAL_DISCONNECT_CONNECTING
  • Ağ doğrulama başarılı: Aşağıdaki hata kodu için sıfırlanır.

    • REASON_NETWORK_VALIDATION_FAILURE
  • DHCP temel hazırlığı başarılı: Aşağıdaki hata kodu için sıfırlanır.

    • REASON_DHCP_FAILURE

SSID engelleme

SSID engelleme, BSSID engellemeye benzer şekilde çalışır. Ağ başına hata türü başına bir hata sayacı, bağlantı hataları (bu türde) oluştuğunda artırılır. Belirli bir türdeki hata sayısı bir eşiği aştığında SSID, yapılandırmaya bağlı olarak kalıcı veya geçici olarak engellenir. Her tür hatanın yapılandırması WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS olarak kodlanır ve aşağıda özetlenmiştir.

* Geçici olarak devre dışı bırakılmış ağlarda devre dışı bırakma süresi, ağda karşılaşılan art arda bağlantı hatalarının sayısına göre dinamik olarak değişir. Bir ağ art arda beş kez bağlanamadığında, sonraki her bağlantı girişimi, önceki bağlantı girişiminin iki katı süreyle devre dışı bırakılmasına neden olur. Örneğin, arka arkaya beş kez başarısız olan bir ağ 5 dakika boyunca devre dışı bırakılır, ardından altıncı başarısızlıkta 10 dakika, yedinci başarısızlıkta 20 dakika ve 18 saatlik maksimum sınıra kadar bu şekilde devam eder.

Hata kodu Açıklama Eşik Temel devre dışı bırakma süresi* Devre dışı bırakma türü
DISABLED_DHCP_FAILURE DHCP temel hazırlığı yapılamadı 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 Bağlı kullanıcının, ağa bağlanacak kimlik bilgileri yok 1 Yok Kalıcı
DISABLED_NO_INTERNET_PERMANENT Ağ doğrulama hatası için varsayılan ayar 1 Yok Kalıcı
DISABLED_BY_WIFI_MANAGER Desteği sonlandırıldı ve kullanılmadı 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ığı durumlarda 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ış şifre veya EAP hatası değil) 5 5 dakika Geçici
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Sağlayıcıya özel (gizli) EAP hatası. 1 Yok Kalıcı
DISABLED_NETWORK_NOT_FOUND İstemci, tarama sonuçlarında bağlantı için çerçeve tarafından istenen ağla (ağ özellikleri dahil) eşleşen bir ağ bulamadı. 2 5 dakika Geçici
DISABLED_CONSECUTIVE_FAILURES Ağa art arda beş veya daha fazla kez bağlanılamadı. Bu hataların türleri, bu tabloda listelenen türleri içerir ancak bunlarla sınırlı değildir.
5 5 dakika Geçici

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

  • Devre dışı bırakma süresi sona erdi.
  • Kullanıcı, bağlanılacak ağı manuel olarak seçer.
  • Kullanıcı, kablosuz bağlantıyı açar/kapatır.
  • Sistem yeniden başlatılır.
  • Ağ, çok düşük bir RSSI'de devre dışı bırakıldı ancak daha sonra orta veya daha yüksek bir RSSI'de tekrar algılandı.

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

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

Bir ağdaki hata sayaçları aşağıdaki durumlarda sıfırlanır:

  • Ağ kaldırılır.
  • Cihaz, ağa başarıyla bağlandı.
  • Devre dışı bırakma süresi dolduktan 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 kullanıma sunulan puan kartları, BSSID'lerle ilgili cihaz üzerindeki istatistikleri kaydeder. Puan kartları, IpMemoryStore hizmeti kullanılarak devam ettirilir.

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

Kullanıcının bağlantı tercihi

Android'de, kullanıcının açıkça bağlandığı kablosuz ağları (ör. ev ağı) tercih etmesine olanak tanıyan bir kullanıcı bağlantısı seçim algoritması vardır. Kullanıcılar, performansı herkese açık ağlardan düşük olsa bile ev cihazlarını kontrol etme gibi ek hizmetler sunduğundan bu ağları herkese açık ağlara tercih edebilir.

Kullanıcının bir ağ tercihi, kullanıcı bir ağ seçerken görünen tüm kablosuz ağ yapılandırmaları ve sinyal güçleri işaretlenerek yakalanır. Otomatik seçim işlemi sırasında işaretli kablosuz yapılandırmalardan biri seçilirse ve kullanıcı tarafından seçilen bir ağ varsa kullanıcı bağlantısı seçim algoritması, aşağıdaki koşullar karşılanırsa kullanıcı tarafından seçilen ağla seçimi geçersiz kılar:

  • Kullanıcının tercih ettiği ağ, en son kullanıldığında internet erişimine sahipti
  • Kullanıcı bağlantısı seçimi, başlangıçta hata payıyla seçildiğinden daha kötü olmayan bir sinyal gücüne sahiptir. Bu hata kenar boşluğu, config_wifiEstimateRssiErrorMarginDb yer paylaşımı kullanılarak yapılandırılabilir.

Kullanıcının bağlantı tercihi, yeniden başlatıldıktan sonra da geçerliliğini korur. Kullanıcının bağlantı tercihi, kayıtlı ağlar, Passpoint ağları ve öneri ağları için geçerlidir.

Eş zamanlı ikili istasyon

Bu bölümde, bir cihazın aynı anda iki kablosuz ağa bağlanmayı desteklediği durumlarda kablosuz ağ seçimi açıklanmaktadır.

Make-before-break

Bağlantıyı kesmeden önce bağlantı oluşturma işlevi etkinse cihaz, eski ağ bağlantısını kesmeden önce yeni ağa bağlanmaya çalışır. Bağlantı kurmadan önce bağlantıyı kesme akışı, bağlantı kurmadan önce bağlantıyı kesme ağ geçişiyle (cihazın yeni ağa bağlanmadan önce eski ağdan bağlantısını kestiği durum) aynı ağ seçim algoritmasını kullanır. Ağ seçim algoritması, "aradan önce yapma" yöntemini kullanarak değiştirilemeyen bir ağ seçerse cihaz otomatik olarak "yapmadan önce kır" moduna döner.

Eşzamanlı olarak kısıtlanmış ve internet bağlantısı

Eşzamanlı kısıtlanmış ve internet bağlantısı işlevi etkinse cihaz, yalnızca üreticisi tarafından yapılandırılan belirli uygulamaların kullanabildiği ikincil bir kısıtlanmış kablosuz ağa bağlanabilir. Cihaz üreticilerinin bunu yapılandırmasına yönelik talimatlar için Eş zamanlı kısıtlanmış ve internet bağlantısı başlıklı makaleyi inceleyin.

Ağ seçim algoritması, OEM ücretli veya özel önerisiyle eşleşen tarama sonuçları algıladığında otomatik olarak ikinci bir ağ olarak bağlanır. Birincil kablosuz 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 her zaman açık ağlara göre öncelikli midir?

    Hayır. Kayıtlı ve önerilen, sınırlı ve sınırsız, ağların değerlendirildiği birincil kategorilerdir. Her kategoride güvenli ağlar, açık ağlara göre biraz önceliklidir ancak bağlantının kalitesine çok daha fazla ağırlık verilir.

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

  2. Kayıtlı ağlara neden önerilen ağlara göre öncelik verilir?

    Kayıtlı ücretsiz (sınırsız) ağlara, önerilen ücretsiz ağlara göre öncelik verilir. Kayıtlı ücretli ağlara da önerilen ücretli ağlara göre öncelik verilir.

    Kayıtlı ağlar, kullanıcının cihaza açıkça eklediği ağlar olduğundan önerilen ağlara göre önceliğe sahiptir. Bu, mümkün olduğunda bu ağlara bağlanma tercihi anlamına gelir.

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

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

    Cihaz üreticisi, yukarıdaki bölümlerde listelenen bonus yer paylaşımlarını değiştirerek ağ seçim kararlarını değiştirebilir. Ancak varsayılan değerler, birden fazla kullanım alanı dikkatlice değerlendirildikten sonra seçildiği için değiştirilmeleri önerilmez.