Kablosuz ağ seçimi

Bu sayfada, Android 12'de kablosuz ağları seçmek ve bunlar arasında geçiş yapmak için kullanılan algoritmalar ve prosedürler açıklanmaktadır. Android, bağlı ağın kalitesini sürekli olarak değerlendirir ve kullanılabilir ağların kalitesini ölçer.

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

Bu, Android cihazın kullanılabilir kablosuz ağları değerlendirme ve bunlara bağlanma sürecini açıklar.

  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çık (bağlı): Android bağlantı alt sistemi, mevcut bağlantının taramayı atlamak için yeterli olup olmadığını düzenli olarak değerlendirir (ekran açıkken yapılan taramalar bölümünde tanımlandığı gibi). Bağlantı, taramayı atlamak için yeterli değilse bağlantı alt sistemi, kullanılabilir ağları algılamak için tarama başlatır. 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ı kesildi): Android bağlantı alt sistemi, üstel geri çekilme planına göre düzenli taramalar yapar. 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 makine CPU'su, ekran kapandığı anda tercih edilen ağ boşaltma (PNO) taramalarını kullanarak tercih edilen ağların listesiyle donanımı programlar. Donanım, tercih edilen ağlardan herhangi birini bulursa ana makineyi uyandırır. AOSP, cihazda PNO'nun desteklendiğini varsayar.

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

    Cihaz bağlıysa ve config_wifi_framework_enable_associated_network_selection yerleşimi false olarak ayarlanmışsa bağlantı taraması yapılmaz ve tarama sonuçları ağ seçimini tetiklemez. Bu ayar, cihazın bağlantısı kesildiğinde etkili olmaz. Bu durumda bağlantı taramaları 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 yeterli olup olmadığını değerlendirir.

      Aşağıdaki koşullardan herhangi biri karşılandığında ağ, ağ seçimini atlamak için yeterli olarak tanımlanır:

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

        • RSSI, gerekli RSSI eşiğinin üzerinde veya bağlantı üzerinden yeterli trafik akışı var (RSSI ve trafik eşikleri için ekran açıkken yapılan taramalara bakın).
        • Ağ doğrulanmıştır (internete bağlıdır) veya internet erişimi olmadan kullanılmak üzere kullanıcı tarafından onaylanmıştır.
        • Ağ sınırsızdır.
    • ağ seçimini atlamak için yeterliyse başka bir işlem yapılmaz.

    • Bağlı kablosuz ağ yeterli değilse veya cihaz bir ağa bağlı değilse çerçeve, filtrelenmiş tarama sonuçlarına göre bağlanılacak aday kablosuz ağların listesini oluşturmak için ağ adaylarını çağırır. Ağ adayları, 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'sinden (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) daha düşük RSSI'ye sahip BSSID'leri kaldırmak için filtrelenir. Ayrıca, engellenen BSSID'ler filtrelenir. BSSID'ler, tekrarlanan bağlantı hataları, sık sık bağlantı kesilmesi ve AP'nin belirli bir süre boyunca ilişkilendirme girişiminde bulunulmaması yönündeki açık isteklerine (MBO-OCE) göre engellenebilir. BSSID engelleme, aşağıdaki SSID ve BSSID engelleme bölümünde açıklanmıştır.

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

  3. Çerçeve, her bir hizmet 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 hizmet kümesi tanımlayıcısı (BSSID) adayı (ağ adayları tarafından oluşturulur) içerebilir. En yüksek puanı alan aday, kazanan adaydır.

  4. Çerçeve, user connect choice (kullanıcı bağlantı seçimi) algoritmasını yürütür. Bu algoritma, aday puanlayıcıdan gelen kazanan adayı kullanmak yerine kullanıcı tarafından seçilen 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şme olarak kabul edilmek için aşağıdaki koşullardan biri karşılanmalıdır:

    • Kazanan aday ve bağlı kablosuz ağ aynı BSSID'ye sahip.
    • Firmware dolaşımı kullanılabiliyorsa (BSSID kara liste ö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şiyorsa başka bir işlem yapılmaz. Kazanan aday ağla eşleşmiyorsa cihaz, kazanan adayla ilişkilendirilir.

Bir uygulama Wi-Fi Network Request API'yi 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 çift eşzamanlı istasyonları destekleyen cihazlar hariç olmak üzere internet bağlantısı olmayan bir LAN oluşturur.

Bağlı bir 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 bahsedilen 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, 3 saniyede bir RSSI ve bağlantı katmanı istatistiklerini yoklar (config_wifiPollRssiIntervalMilliseconds yerleşimi kullanılarak yapılandırılabilir).

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

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

  3. Kablosuz hizmeti, 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ğlanılacağını belirlemek için bu puanı kullanır.

Ekran kapalı

Çerçeve, bağlı ağda bir değerlendirme başlatmaz ancak diğer bileşenler (ör. konum hizmetleri) tarafından taramalar başlatılırsa ağ seçimi işlemi yine de gerçekleşebilir. Donanım yazılımı, ağ kalitesini değerlendirir. Ağ kalitesi kötü ise donanım yazılımı dolaşım yapabilir veya (sonunda) ağdan ayrılıp ana makineyi uyandırabilir.

Bağlantı taramaları

Tarama işlemleri, cihazın ekranının açık olup olmamasına, ekranın kapalı olup kablosuz ağa bağlı olmasına veya ekranın kapalı olup kablosuz ağa bağlı olmamasına göre otomatik olarak gerçekleştirilir.

Ekran açık

Çerçeve, ekran açıkken artan aralıklarla tarama kararlarını tetikler. Tarama kararı aralıkları, config_wifiDisconnectedScanIntervalScheduleSec, config_wifiConnectedScanIntervalScheduleSec ve config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec yer paylaşımlarıyla (tam sayı dizileri) yapılandırılır. Varsayılan olarak taramalar, 20, 40, 80 ve 160 saniyelik üstel geri çekilme aralıklarıyla gerçekleştirilir. Sonraki taramalar 160 saniyelik aralıklarla yapılabilir (Bunlar, bu katmanların varsayılan değerleridir).

Ekran durumu her değiştiğinde (ör. ekran açılıp kapatıldığında) üstel geri çekilme tarama aralıkları sıfırlanır ve 20 saniyede yeniden başlar.

(Android 13 ve sonraki sürümler) Çalışma zamanında farklı tarama aralıkları gerekiyorsa OEM ayrıcalıklı bir uygulama, ekran açıkken tarama planını dinamik olarak ayarlamak için WifiManager#setScreenOnScanSchedule(screenOnScanSchedule) API'sini çağırabilir.

Taramanın yürütülüp yürütülmeyeceğine veya atlanıp atlanmayacağına, mevcut ağ bağlantısının tarama işlemini atlamak için yeterli olup olmadığına göre karar verilir. 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ı üzerinden yeterli trafik akışı sağlanıyor (aşağıdaki trafik eşiklerine bakın).
  • RSSI, gerekli RSSI eşiğinin üzerinde (aşağıdaki RSSI eşiklerine bakın), ve ağ seçimi kısa süre önce yapılmış (varsayılan olarak 10 dakika, ancak config_wifiConnectedHighRssiScanMinimumWindowSizeSec yer paylaşımı kullanılarak yapılandırılabilir), ve ağ doğrulanmış (internete bağlı) veya kullanıcı tarafından internet erişimi olmadan kullanılmak üzere onaylanmış olmalıdır.

RSSI ve trafik eşikleri şunlardır:

  • RSSI, 2,4 GHz bandı için -73 dBm'nin üzerinde (config_wifi_framework_wifi_score_low_rssi_threshold_24GHz katmanı ile yapılandırılmış) veya 5 GHz ve 6 GHz bantları için -70 dBm'dir (config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz katmanları ile yapılandırılmış).
  • Trafik (iletim veya alım), config_wifiFrameworkMinPacketPerSecondActiveTraffic yer paylaşımı ile 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 Wi-Fi kalitesini düzenli olarak izler. Kablosuz kalitesinin kötü olduğu belirlenirse (aşağıda belirtildiği gibi) ve cihaz aynı anda iki istasyonu destekliyorsa tarama başlatılır. Tarama işlemini tetikleyen puan eşiğini yapılandırmak için config_wifiLowConnectedScoreThresholdToTriggerScanForMbb yerleşimi kullanılabilir. config_wifiLowConnectedScoreScanPeriodSeconds yer paylaşımı, bu taramaların süresini yapılandırmak için 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ı (Wi-Fi SoC) dolaşım taramaları yapar. Ekran kapalıyken çerçeve herhangi bir tarama yapmaz.

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

Ekran kapalıyken ve kablosuz bağlantı kesildiğinde, donanım yazılımı SSID'ler için PNO taramaları yapar. Çerçeve, donanım yazılımını taranacak SSID'lerin listesi ve tarama yapılacak kanalların listesiyle yapılandırır. Yapılandırılmış bir SSID bulunursa donanım yazılımı çerçeveyi uyandırır.

Ayrıca çerçeve, farklı tarama aralıklarını seçmek için cihazın hareketlilik durumunu kullanarak donanımın PNO taramaları yapacağı aralığı da yapılandırır. Düşük hareketlilik durumunda (cihaz sabitken) ilk üç tarama için aralık 60 saniye (config_wifiStationaryPnoScanIntervalMillis yer paylaşımı tarafından kontrol edilir), sonraki taramalar için ise 180 saniyedir (yer paylaşımının sabit 3 katı). Yüksek hareketlilik durumunda, ilk üç tarama için aralık 20 saniye (config_wifiMovingPnoScanIntervalMillis katmanı tarafından kontrol edilir), sonraki taramalar için ise 60 saniyedir (katmanın sabit 3 katı).

Ağ adayları

Ağ aday gösterenleri, aşağıdaki özelliklere sahip ağlar için yapılandırmalar bulur veya oluşturur: (WifiConfiguration)

  • Kullanılabilir (tarama sonuçlarına göre) veya bağlı ağ (bazen kesintili tarama sonuçlarında eksik olur).
  • Minimum RSSI'ye sahip olmalıdır. 2,4 GHz bant için minimum RSSI -80 dBm, 5 GHz ve 6 GHz bantlar için ise -77 dBm'dir.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.
  • Örneğin, önceki bağlantı hataları nedeniyle engellenmemiş olmalıdır.
  • Ağ, kullanılamaz olduğunu belirtmiyor (ör. MBO/OCE kullanılıyorsa).
  • Cihazda bulunan kimlik bilgilerinin kullanılmasıyla ilişkilendirilebilir.

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

  • Kayıtlı ağ belirleyici: Kayıtlı tüm ağları (kayıtlı Passpoint abonelikleri dahil) değerlendirir.
  • Önerilen ağ payı: Öneri API'si kullanan uygulamalar tarafından sağlanan tüm ağları (önerilen Passpoint abonelikleri dahil) değerlendirir.

Aday puanları

Aday puanlayıcılar, her adayı değerlendirir ve puan verir. ThroughputScorer (varsayılan puanlayıcı) için puan aşağıdaki faktörlere göre belirlenir:

  • RSSI, 2,4 GHz bant için -73 dBm, 5 GHz ve 6 GHz bantlar için ise -70 dBm ile sınırlandırılır.RSSI'ye göre temel bir puan hesaplanır (config_wifi_framework_wifi_score_low_rssi_threshold_24GHz, config_wifi_framework_wifi_score_low_rssi_threshold_5GHz ve config_wifiFrameworkScoreLowRssiThreshold6ghz katmanlarıyla yapılandırılır).
  • Puan artışı, teknolojiden, kanal frekansından, bant genişliğinden, RSSI'dan, kanal koşullarından, maksimum uzamsal akış sayısından ve diğer parametrelerden elde edilen bir verim 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 bir uygulama tarafından kısa süre önce seçilen aday ağ, config_wifiFrameworkLastSelectionMinutes yer paylaşımı 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ğlara göre seçilmesi 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 verime dayalı puanının yüzdesine göre yapılandırılabilir minimuma kadar ek bir bonus alır).
  • Güvenli bir ağ, açık bir ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkSecureNetworkBonus yer paylaşımı kullanılarak yapılandırılır.
  • Sınırsız (ücretsiz) ağ, sınırlı (ücretli) ağdan daha yüksek puan alır. Bonus, config_wifiFrameworkUnmeteredNetworkBonus yer paylaşımı kullanılarak yapılandırılır.
  • Kayıtlı bir ağ, Öneri API'si 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 (Öneri API'si kapsamında istenebilir) diğer tüm ağlardan daha düşük puan alır.
  • Daha önce internet bağlantısı olmadığı tespit edilen bir ağ, cihaz şu anda internet erişimi olan başka bir ağa bağlıysa 0 puan alır.

Kaydedilenlere karşı önerilenler ve ölçülülere karşı ölçüsüzler için varsayılan bonus (yani varsayılan yer paylaşımı değerleri), kaydedilen, önerilen, ölçülü ve ölçüsüz için katı bir öncelik sırası oluşturur:

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

Bu, kaydedilmiş sınırsız (ücretsiz) bir ağın, kaydedilmiş sınırlı (ücretli) bir ağdan önce her zaman seçileceği anlamına gelir. Kullanıcı veya uygulama tarafından kısa süre önce seçilen 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 (alternatif algoritmaları araştırmak amacıyla) kullanılabilir. Android 11'de varsayılan puanlayıcı ThroughputScorer'dir.

SSID ve BSSID engelleme

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

BSSID engelleme

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

  • İlgili hata türünün sayacı 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ık için seri sayacı artırılır.

Bir BSSID'nin engellendiği süre, (yapılandırılabilir) temel değerle başlar (RSSI'ye bağlı olarak config_wifiBssidBlocklistMonitorBaseBlockDurationMs veya config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs katmanları tarafından belirtilir) ve yapılandırılabilir bir üst sınıra kadar üstel olarak artar (config_wifiBssidBlocklistMonitorFailureStreakCap katmanı tarafından belirtilir). Aynı BSSID'de sürekli olarak hatalar oluşursa süre artar. Süre, başarısızlık serisiyle katlanarak artan temel süredir. Örneğin, 2 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 katmanlar kullanılarak özelleştirilebilir:

  • AP, MBO/OCE Unable to handle new STA kodunu kullanarak ilişkilendirmeyi reddediyor: config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold.
  • Bu ağ üzerinden internet doğrulama başarısız oldu: config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold.
  • Yanlış şifre kimlik doğrulama hatası kodu: config_wifiBssidBlocklistMonitorWrongPasswordThreshold.
  • EAP ağları için EAP kimlik doğrulama hatası kodu: config_wifiBssidBlocklistMonitorEapFailureThreshold.
  • İlişkilendirme reddi, diğer genel ilişkilendirme retleri: config_wifiBssidBlocklistMonitorAssociationRejectionThreshold.
  • Dernek zaman aşımı: config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold.
  • Kimlik doğrulama hatası, diğer genel kimlik doğrulama hataları: config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold.
  • DHCP hatası, DHCP'nin sağlanamaması: config_wifiBssidBlocklistMonitorDhcpFailureThreshold.
  • Anormal bağlantı kesilmesi: Cihaz, bağlandıktan sonra çok kısa bir süre içinde ağ bağlantısını kesiyor: config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. Zaman aralığı, config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs ile yapılandırılabilir.

BSSID engellenenler listesini temizleme koşulları

Bir BSSID, engellenenler listesinden şu durumlarda temizlenir:

  • Kablosuz bağlantı açılıp kapatıldığında: Tüm BSSID'ler engellenenler listesinden kaldırılır.
  • Kullanıcı, Wi-Fi 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 dolduğunda BSSID'ler engellenenler listesinden kaldırılır.
  • Yeniden başlatma: Tüm engellenenler listeleri temizlenir.
  • Ağ kaldırıldı: Bu ağla ilişkili tüm BSSID'ler engellenenler listesinden kaldırılır.

Hata ve seri sayaçlarını sıfırlama koşulları:

  • Yeniden başlatma: Tüm BSSID'ler için sıfırlama.
  • Ağ kaldırıldı: Ağla ilişkili BSSID'ler için sıfırlama yapılır.
  • 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 en son bağlanma zamanı 3 saatten daha önceyse 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 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. Ağ başına hata türü başına bir hata sayacı, bağlantı hataları (bu türden) oluştuğunda artırılır. Belirli bir türdeki hata sayısı eşiği aştığında SSID, yapılandırmaya bağlı olarak kalıcı veya geçici olarak engellenir. Her hata türünün yapılandırması WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS içinde kodlanmıştır ve aşağıda özetlenmiştir.

* Geçici olarak devre dışı bırakılan ağlarda devre dışı bırakma süresi, ağda yaşanan ardışık bağlantı hatalarının sayısına göre dinamik olarak değişir. Bir ağ art arda beş kez bağlanamadıktan sonra, her bir sonraki başarısız bağlantı denemesi, önceki süreye kıyasla iki kat daha uzun bir devre dışı bırakma süresine neden olur. Örneğin, beş kez art arda başarısız olan bir ağ 5 dakika boyunca devre dışı bırakılır, altıncı başarısızlıkta 10 dakika, yedinci başarısızlıkta 20 dakika ve bu şekilde devam ederek maksimum 18 saatlik sınıra ulaşılır.

Hata kodu Açıklama Eşik Temel devre dışı bırakma süresi* Devre dışı bırakma türü
DISABLED_DHCP_FAILURE DHCP'nin sağlanamaması 5 5 dakika Geçici
DISABLED_NO_INTERNET_TEMPORARY Ağ doğrulama 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 İstemcide ağa bağlanmak için gerekli kimlik bilgileri yok 1 NA Kalıcı
DISABLED_NO_INTERNET_PERMANENT Ağ doğrulama hatası için varsayılan 1 NA Kalıcı
DISABLED_BY_WIFI_MANAGER Desteği sonlandırılmış ve kullanılmayan 1 NA Kalıcı
DISABLED_BY_WRONG_PASSWORD Şifre yanlış ve bu ağa daha önce hiç başarıyla bağlanılmadı 1 NA Kalıcı
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION SIM kartın abone olmadığı EAP hatası 1 NA Kalıcı
DISABLED_ASSOCIATION_REJECTION İlişkilendirme reddetme hataları 5 5 dakika Geçici
DISABLED_AUTHENTICATION_FAILURE Diğer kimlik doğrulama hataları (ör. yanlış şifre veya EAP hatası değil) 5 5 dakika Geçici
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR Sağlayıcıya özel (özel) EAP hatası. 1 NA Kalıcı
DISABLED_NETWORK_NOT_FOUND İstekte bulunan, tarama sonuçlarında çerçeve tarafından bağlantı için 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 hata türü, bu tabloda listelenen hata 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ğ şu durumlarda yeniden etkinleştirilir:

  • Devre dışı bırakma süresi doldu.
  • Kullanıcı, bağlanılacak ağı manuel olarak seçer.
  • Kullanıcı, kablosuz bağlantıyı açar veya kapatır.
  • Sistem yeniden başlatılır.
  • Ağ, çok düşük RSSI'de devre dışı bırakıldı ancak daha sonra orta veya daha yüksek 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ğın hata sayaçları şu 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 içi istatistikleri kaydeder. Puan kartları, IpMemoryStore hizmeti kullanılarak kalıcı hale getirilir.

Puan kartları, Android 11'de ağ seçimi için kullanılmaz.

Kullanıcı bağlantı tercihi

Android'de, kullanıcının açıkça bağlandığı kablosuz ağların (ör. ev ağı) tercih edilmesini sağlayan bir kullanıcı bağlantı seçimi algoritması bulunur. Kullanıcılar, performansları herkese açık ağlardan daha düşük olsa bile bu tür ağları tercih edebilir. Bunun nedeni, bu ağların ev cihazlarını kontrol etme gibi ek hizmetler sunmasıdır.

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

  • Kullanıcının bağlandığı 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ü bir sinyal gücüne sahip değildir. Bu hata payı, config_wifiEstimateRssiErrorMarginDb yer paylaşımı kullanılarak yapılandırılabilir.

Kullanıcının bağlandığı ağ seçimi yeniden başlatma işleminden sonra da geçerli olur. Kullanıcı bağlantı seçimi; kayıtlı ağlar, Passpoint ağları ve önerilen ağlar için geçerlidir.

Çift eşzamanlı 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.

Önce yap sonra boz

make-before-break işlevi etkinse cihaz, eski ağın bağlantısını kesmeden önce yeni ağa bağlanmaya çalışır. Önce yap sonra boz akışı, önce boz sonra yap ağ değiştirme ile aynı ağ seçimi algoritmasını kullanır (bu, cihazın yeni ağa bağlanmadan önce eski ağın bağlantısını kestiği zamandır). Ağ seçimi algoritması, kesmeden önce yap yöntemiyle geçiş yapılamayan bir ağ seçerse cihaz otomatik olarak yapmadan önce kes yöntemine geri döner.

Aynı anda kısıtlanmış ve internet bağlantısı

Aynı anda kısıtlanmış ve internet bağlantısı işlevi etkinse cihaz, yalnızca cihaz üreticisi tarafından yapılandırılan belirli uygulamaların kullanabileceği ikincil bir kısıtlanmış kablosuz ağa bağlanabilir. Cihaz üreticilerinin bu özelliği yapılandırma talimatları Eşzamanlı kısıtlı ve internet bağlantısı bölümünde yer almaktadır.

Ağ seçimi algoritması, OEM tarafından ödenen veya özel öneriyle eşleşen tarama sonuçlarını algıladığında ikinci bir ağ olarak otomatik 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ğlardan öncelikli midir?

    Hayır. Kaydedilenlere karşı önerilenler ve sayaçlıya karşı sınırsız, ağların değerlendirildiği temel kategorilerdir. Her kategoride, güvenli ağlar açık ağlara göre biraz daha önceliklidir ancak bağlantının kalitesine çok daha fazla önem verilir.

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

  2. Neden kaydedilen ağlara önerilen ağlardan daha fazla öncelik verilir?

    Kayıtlı ücretsiz (ölçülmemiş) ağlar, önerilen ücretsiz ağlara göre öncelikli olur. Kayıtlı ölçülü ağlar ise önerilen ölçülü ağlara göre öncelikli olur.

    Kullanıcının cihaza açıkça eklediği ağlar olduğu için kaydedilen ağlar, önerilen ağlara göre önceliklidir. Bu, mümkün olduğunda bu ağlara bağlanma tercihi olduğunu gösterir.

    Kullanıcıların, kaydedilen 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. Sıkı ö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çimi kararlarını değiştirebilir. Ancak, varsayılan değerler birden fazla kullanım alanı dikkatlice değerlendirildikten sonra seçildiği için bu değerlerin değiştirilmesi önerilmez.