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 ömrü
Bu bölümde, Android destekli bir cihazın kullanılabilir kablosuz ağları nasıl değerlendirdiği ve bu ağlara nasıl bağlandığı açıklanmaktadır.
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 listesini içeren bir yazılım programlar. Yazılım, tercih edilen ağlardan herhangi birini bulursa ana makineyi uyandırır. AOSP, PNO'nun cihazda desteklendiğini varsayar.
WifiManager#allowAutojoinGlobal(boolean)yöntemi, otomatik bağlantıları devre dışı bırakmak için kullanılabilir. Bu, cihaz üreticilerinin sınırlı durumlarda (ör. mobil olmayan, önceden yapılandırılmış bir cihaz) kullanabileceği ayrıcalıklı bir API'dir.Cihaz bağlıysa ve
config_wifi_framework_enable_associated_network_selectionyer paylaşımıfalseolarak 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.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 az süre geçtiyse
- Kullanıcı, yakın zamanda ağa manuel olarak bağlandı (yakın zaman,
config_wifiSufficientDurationAfterUserSelectionMillisecondsyer 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:
- Alınan sinyal gücü göstergesi (RSSI), gerekli RSSI eşiğinden daha büyük veya bağlantı üzerinden yeterli trafik akışı var (RSSI ve trafik eşikleri için ekran açıkken taramalar bölümüne 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ğ ağ seçimini atlamak için yeterliyse başka bir 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 aday kablosuz ağların listesini oluşturmak için ağ adaylarını çağırır. Ağ adayları, mevcut kablosuz yapılandırmaları bulur veya aday ağlar için yeni yapılandırmalar oluşturur.
Tarama sonuçları, giriş RSSI'sinden daha düşük 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_5GHzveconfig_wifiFrameworkScoreEntryRssiThreshold6ghzkatmanları kullanılarak yapılandırılabilir). 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, SSID ve BSSID engelleme bölümünde açıklanmıştır.Cihaz hareket halindeyken (düşük veya yüksek hızda) tüm operatör ağları tarama sonuçlarından filtrelenir. Belirli kargo şirketleri, kargo şirketi kimlikleri
config_wifiMobilityFilterCarrierIdBlocklist'ya eklenerek bu filtrenin dışında tutulabilir.Cihaz hızlı hareket ettiğinde, RSSI'si hızlı bir şekilde değişen BSSID'leri kaldırmak için tarama sonuçları isteğe bağlı olarak daha fazla filtrelenir (bu, BSSID'lerin cihazla birlikte hareket etmediğini gösterir). Bu optimizasyon,
config_wifiHighMovementNetworkSelectionOptimizationEnabled(optimizasyonu etkinleştirme veya devre dışı bırakma) veconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMsileconfig_wifiHighMovementNetworkSelectionOptimizationRssiDeltayer paylaşımları kullanılarak yapılandırılabilir. Bu yer paylaşımları, tarama sonuçlarındaki kararlılık koşulunu (zaman içinde yeterince ayrılmış tarama sonuçlarındaki RSSI değişikliği) yapılandırır.
Çerçeve, her SSID adayı için bir puan oluşturmak üzere aday puanlayıcıyı çalıştırır. SSID adayları, birden fazla BSSID adayı (ağ adayları tarafından oluşturulur) içerebilir. En yüksek puanı alan aday kazanan adaydır.
Çerçeve, 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.
Çerçeve, kazanan adayın bağlı ağla eşleşip eşleşmediğini belirler. Eşleşme olarak kabul edilmesi 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ı varsa (BSSID engellenenler listesi özelliği dahil), kazanan aday ve bağlı ağ aynı SSID'ye ve güvenlik türüne sahiptir.
Kazanan aday, bağlı ağla eşleşiyorsa başka bir işlem yapılmaz. Kazanan aday ağla eşleşmiyorsa cihaz, kazanan adayla ilişkilendirilir.
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, önceki bölümlerde ele alınan ağ seçimine ek olarak yapılır.
Ekran açık
Android çerçevesi, bağlı ağı aşağıdaki şekilde değerlendirir:
Kablosuz ağ hizmeti, RSSI ve bağlantı katmanı istatistiklerini 3 saniyede bir yoklar (
config_wifiPollRssiIntervalMillisecondsyerleşimi kullanılarak yapılandırılabilir).config_wifiAdjustPollRssiIntervalEnabledyer paylaşımı 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 sabit durduğunda ve RSSI değeri -68 dBm'den büyük olduğunda (
config_wifiClientRssiMonitorThresholdDbmveconfig_wifiClientRssiMonitorHysteresisDbkatmanları tarafından yapılandırılır) yoklama aralığı 6 saniyeye uzatılır (config_wifiPollRssiLongIntervalMillisecondskatmanı tarafından yapılandırılır). - Cihaz sabit değilken veya RSSI -73 dBm'den düşük olduğunda (
config_wifiClientRssiMonitorThresholdDbmyer paylaşımı tarafından yapılandırılır) yoklama aralığı tekrar 3 saniyeye (config_wifiPollRssiIntervalMillisecondsyer paylaşımı tarafından yapılandırılır) düşürülür.
- Cihaz sabit durduğunda ve RSSI değeri -68 dBm'den büyük olduğunda (
Kablosuz hizmeti, RSSI ve bağlantı katmanı istatistiklerine göre bağlılık puanı hesaplar. Bu hesaplama için
config_internalScorerTypeile yapılandırılabilen iki model vardır:- Varsayılan: Bağlantı katmanı istatistikleri üzerinde eğitilmiş, makine öğrenimine dayalı bir puanlayıcı.
- Alternatif: RSSI değerindeki değişikliklere göre değerlendirme yapan eski bir puanlayıcı.
İsteğe bağlı: OEM'ler, harici bir puanlayıcı uygulaması uygulayarak bağlı ağ değerlendirme mantığını özelleştirebilir. Bu işlem,
WifiConnectedNetworkScorerarayüzü uygulanarak veWifiManager#setWifiConnectedNetworkScorer(executor, scorer)API'si kullanılarak kaydedilerek yapılır.Kaydedildiğinde, harici puanlayıcı aşağıdaki çift yönlü akış aracılığıyla çerçeveyle etkileşime girer:
Girişler (çerçeve → puanlayıcı)
Çerçeve, puanlayıcıyı önemli yaşam döngüsü ve kalite etkinlikleri hakkında bilgilendirir:- Oturum yaşam döngüsü:
onStart()veonStop(), kablosuz bağlantının ne zaman başlatıldığını veya durdurulduğunu gösterir. - Kablosuz bağlantı istatistikleri: Puanlayıcı,
OnWifiUsabilityStatsListener#onWifiUsabilityStats()kullanılarak bağlantı katmanı istatistikleri (ör. RSSI, bağlantı hızı ve paket sayısı) ile ilgili düzenli güncellemeler alır. Bu güncellemeleri almak için skor tutucununWifiManager#addOnWifiUsabilityStatsListener()kullanarak bir dinleyici kaydetmesi gerekir.
- Oturum yaşam döngüsü:
İşlemler (puanlayıcı → çerçeve)
Puanlayıcı,ScoreUpdateObservergeri arama nesnesinde yöntemleri çağırarak kablosuz hizmetini yönlendirir:- Kullanılabilirlik durumu: Arama
notifyStatusUpdate(sessionId, isUsable), ağ seçimini kontrol etmek için kullanılan birincil mekanizmadır.isUsable = true: Ağ geçerlidir. Çerçeve, bu ağı sistem trafiği için varsayılan ağ olarak yükseltir.isUsable = false: Ağ geçersiz. Çerçeve, bunu varsayılan olarak kullanmaktan kaçınır ve mobil veriye geri dönüşü tetikler.
- Erişilebilirlik kontrolleri:
requestNudOperation()çağrısı, ağ geçidinin erişilebilir olduğunu doğrulamak için etkin bir komşu erişilebilirlik algılama (NUD) kontrolünü (örneğin, ARP veya ND araştırması) tetikler. - BSSID kara listeye alma:
blocklistCurrentBssid()çağrısı, cihazın mevcut erişim noktasıyla (AP) yeniden ilişkilendirilmesini engeller. Bu, puanlayıcı AP'ye özgü sorunlar tespit ederse yararlıdır.
- Kullanılabilirlik durumu: Arama
Bir OEM, 3. adımda açıklandığı gibi kendi puanlayıcısını uyguladıysa kablosuz hizmeti, bağlı ağ değerlendirmesiyle ilgili kararları OEM puanlayıcısına bırakır.
Bir OEM kendi puanlayıcısını uygulamadıysa kablosuz hizmeti, internet için mobil veriye geçilip geçilmeyeceğini belirlemek üzere 2. adımda hesaplanan 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 düşükse donanım yazılımı dolaşabilir 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ı kapalıyken kablosuz ağa bağlı olup olmamasına veya ekranı kapalıyken kablosuz ağa bağlı olmamasına göre otomatik olarak gerçekleştirilir.
Ekran açık
Ekran açıldığında çerçeve, artan aralıklarla tarama kararlarını tetikler. Tarama kararı aralıkları config_wifiDisconnectedScanIntervalScheduleSec, config_wifiConnectedScanIntervalScheduleSec ve config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec katmanlarıyla (tam sayı dizileri) yapılandırılır. Varsayılan olarak taramalar, 20, 40, 80 ve 160 saniyelik eksponansiyel geri yükleme 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 taramayı 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 (daha sonra trafik eşiklerine bakın).
- RSSI, gerekli RSSI eşiğinden daha büyük (RSSI eşiklerine daha sonra bakabilirsiniz),
ve ağ seçimi yakın zamanda yapıldı (varsayılan olarak 10 dakika, ancak
config_wifiConnectedHighRssiScanMinimumWindowSizeSecyer paylaşımı kullanılarak yapılandırılabilir), ve ağ doğrulandı (internete bağlı) veya kullanıcı tarafından internet erişimi olmadan kullanılmak üzere onaylandı.
RSSI ve trafik eşikleri şunlardır:
- RSSI,
config_wifi_framework_wifi_score_low_rssi_threshold_24GHzkatmanıyla yapılandırılmış 2,4 GHz bandı için -73 dBm'den büyük veyaconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHzveconfig_wifiFrameworkScoreLowRssiThreshold6ghzkatmanlarıyla yapılandırılmış 5 GHz ve 6 GHz bantları için -70 dBm'den büyük olmalıdır. - Trafik (iletim veya alma) saniyede 16 paketten (pps) fazla ve
config_wifiFrameworkMinPacketPerSecondActiveTrafficoverlay'i ile yapılandırılmış.
Cihaz bağlandığında ve ekran açıkken bağlı bir puanlayıcı, RSSI gibi sinyallere ve aktarılan paketlerin sayısına bakarak kablosuz ağ kalitesini düzenli olarak izler. Kablosuz bağlantı kalitesinin kötü olduğu belirlenirse (daha sonra 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 yer paylaşımı kullanılabilir. Bu taramaların süresini 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ı (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ının kesildiği durum)
Ekran kapalıyken ve kablosuz bağlantı kesilmişken donanım yazılımı, SSID'ler için PNO taramaları gerçekleştirir. Ç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.
Ç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 saniyedir (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 saniyedir (config_wifiMovingPnoScanIntervalMillis yer paylaşımı tarafından kontrol edilir). Sonraki taramalar için ise 60 saniyedir (yer paylaşımının sabit 3 katı).
Ağ aday gösterenleri
Ağ adayları, aşağıdaki özelliklere sahip ağlar için yapılandırmalar (WifiConfiguration) bulur veya oluşturur:
- Kullanılabilir (tarama sonuçlarına göre) veya bağlı ağ (bazen kararsız tarama sonuçlarında eksik olur).
- Minimum RSSI'ye sahip olmalıdır. 2, 4 GHz bandı için minimum RSSI -80 dBm, 5 GHz ve 6 GHz bantları için ise -77 dBm'dir.Bu değerler
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHzveconfig_wifiFrameworkScoreEntryRssiThreshold6ghzkatmanları 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ğ adayı belirleyici: Kayıtlı Passpoint abonelikleri dahil olmak üzere tüm kayıtlı ağları 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:
- Temel puan, RSSI'ye göre hesaplanır.RSSI, 2,4 GHz bant için -73 dBm, 5 GHz ve 6 GHz bantlar için ise -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_5GHzveconfig_wifiFrameworkScoreLowRssiThreshold6ghzkatmanları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_wifiFrameworkThroughputBonusNumeratorveconfig_wifiFrameworkThroughputBonusDenominatoryer paylaşımları kullanılarak yapılandırılabilir veconfig_wifiFrameworkThroughputBonusLimityer 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_wifiFrameworkLastSelectionMinutesyer 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çildiği doğrulanır). - Mevcut ağla eşleşen bir aday,
config_wifiFrameworkCurrentNetworkBonusMinveconfig_wifiFrameworkCurrentNetworkBonusPercentyer 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_wifiFrameworkSecureNetworkBonusyer 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_wifiFrameworkUnmeteredNetworkBonusyer 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_wifiFrameworkSavedNetworkBonusyer 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 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:
- Kayıtlı sınırsız ağlar
- Önerilen sınırsız ağlar
- Kayıtlı sayaçlı ağlar
- Önerilen sayaçlı ağlar
Bu, kaydedilmiş sınırsız (ücretsiz) bir ağın her zaman kaydedilmiş sınırlı (ücretli) bir ağdan önce seçildiğ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 kullanılabilir (alternatif algoritmaları araştırmak için). Android 11'de varsayılan puanlayıcı ThroughputScorer'dir.
SSID ve BSSID engelleme
Çerçeve, SSID'leri veya BSSID'leri engelleyebilir. Bu durumda, bu ağlar geçici veya kalıcı olarak bağlantı için dikkate alınmaz.
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 sonraki bölüme 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 engellenmiş.
- 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ğerle başlar. Bu temel değer, RSSI'ye bağlı olarak config_wifiBssidBlocklistMonitorBaseBlockDurationMs veya config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs katmanları tarafından belirtilir. Süre daha sonra, config_wifiBssidBlocklistMonitorFailureStreakCap yer paylaşımı tarafından belirtilen yapılandırılabilir bir üst sınıra kadar katlanarak artar. Aynı BSSID'de sürekli olarak hatalar meydana gelirse süre artar. Süre, hata serisiyle katlanarak artan temel süredir. Örneğin, 2 hata serisi, temel blok 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 nedeniyle kimlik doğrulama başarısız oldu. Hata 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. - İ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, bağlandıktan sonra çok kısa bir süre içinde ağ bağlantısını kesmiş:
config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold. Zaman aralığı,config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMsile yapılandırılabilir.
BSSID engellenenler listesini temizleme koşulları
Bir BSSID, engellenenler listesinden şu durumlarda temizlenir:
- Kablosuz 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 dokunduğunda, kullanıcı tarafından seçilen ağın tüm BSSID'leri engellenenler listesinden kaldırılır.
- Engelleme süresi dolduğunda (zaman aşımı) BSSID'ler engellenenler listesinden kaldırılır.
- Sistem yeniden başlatıldığında tüm engelleme listeleri temizlenir.
- Bir ağ kaldırıldığında, 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ı:
- Sistem yeniden başlatıldığında tüm BSSID'ler için sayaçlar sıfırlanır.
- Bir ağ kaldırıldığında, bu ağla ilişkili BSSID'ler için sayaçlar sıfırlanır.
Bir L2 bağlantısı başarılı olduğunda aşağıdaki hata kodları için sayaçlar sıfırlanır:
REASON_AP_UNABLE_TO_HANDLE_NEW_STAREASON_WRONG_PASSWORDREASON_EAP_FAILUREREASON_ASSOCIATION_REJECTIONREASON_ASSOCIATION_TIMEOUTREASON_AUTHENTICATION_FAILUREREASON_ABNORMAL_DISCONNECT(yalnızca cihazın bu BSSID'ye son bağlandığı zaman 3 saatten daha uzun süre önceyse koşullu olarak temizlenir)REASON_NONLOCAL_DISCONNECT_CONNECTING
Ağ doğrulaması başarılı olduğunda aşağıdaki hata kodu için sayaçlar sıfırlanır:
REASON_NETWORK_VALIDATION_FAILURE
DHCP sağlama işlemi başarılı olduğunda aşağıdaki hata kodu için sayaçlar 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ı, bu tür bağlantı hataları 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ğıdaki tabloda ö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 başarısız bağlantı denemesi, önceki devre dışı bırakma süresinin iki katı kadar bir süreyle sonuçlanır. Örneğin, art arda beş başarısızlık yaşayan 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 | Yok | Kalıcı |
DISABLED_NO_INTERNET_PERMANENT |
Ağ doğrulama hatası için varsayılan | 1 | Yok | Kalıcı |
DISABLED_BY_WIFI_MANAGER |
Desteği sonlandırıldı ve kullanılmıyor | 1 | Yok | Kalıcı |
DISABLED_BY_WRONG_PASSWORD |
Şifre yanlış ve bu ağa daha önce hiç başarıyla bağlanılmadı | 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ı (yani 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 | Yok | 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 sona erdi.
- Kullanıcı, bağlanılacak ağı manuel olarak seçer.
- Kullanıcı, Wi-Fi'ı açar veya 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ğı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 üzerindeki 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 yapılandırmalardan 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ı seçeneğinin sinyal gücü, başlangıçta hata payıyla seçildiğinden daha kötü değildir. Bu hata payı,
config_wifiEstimateRssiErrorMarginDbyer 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 bırak
Make-before-break işlevi etkinse cihaz, eski ağın bağlantısını kesmeden önce yeni ağa bağlanmaya çalışır. Bağlantı kesmeden önce bağlantı oluşturma akışı, bağlantı oluşturmadan önce bağlantı kesme ağ değiştirme (cihazın yeni ağa bağlanmadan önce eski ağın bağlantısını kesmesi) ile aynı ağ seçimi algoritmasını kullanır. Ağ seçimi algoritması, bağlantıyı kesmeden önce oluşturma yöntemi kullanılarak değiştirilemeyen bir ağ seçerse cihaz otomatik olarak bağlantıyı kesmeden önce oluşturma yöntemine geri döner.
Eşzamanlı kısıtlı ve internet bağlantısı
Aynı anda kısıtlı ve internet bağlantısı işlevi etkinse cihaz, yalnızca cihaz üreticisi tarafından yapılandırılan belirli uygulamalarda kullanılabilen ikincil bir kısıtlı kablosuz ağa bağlanabilir. Cihaz üreticilerinin bu özelliği yapılandırmayla ilgili talimatları Eşzamanlı kısıtlanmış ve internet bağlantısı bölümünde yer almaktadır.
Ağ seçimi algoritması, OEM'in ücretli veya özel önerisiyle 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)
Güvenli ağlar her zaman açık ağlardan öncelikli midir?
Hayır. Kaydedilen ağlar ile önerilen ağlar ve sayaçlı ağlar ile sınırsız ağlar, 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ı kalitesine çok daha fazla önem verilir.
Bunun nedeni, gerçek kullanıcı verilerinin güvenliğinin uçtan uca şifreleme (ör. TLS) ile sağlanmasıdır. Güvenli ağlar, iletişimin yalnızca ilk ayağını şifreler ve önceden paylaşılmış anahtarlara sahip ağlarda bile fazla gizlilik sağlamaz.
Neden kaydedilen ağlara önerilen ağlardan daha fazla öncelik verilir?
Kayıtlı ücretsiz (sayaçsız) ağlara, önerilen ücretsiz ağlara göre öncelik verilir. Kayıtlı sayaçlı ağlara ise önerilen sayaçlı ağlara göre öncelik verilir.
Kullanıcı tarafından cihaza açıkça eklenen 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 unutmayın. Yani bu ağların yalnızca manuel olarak kullanılacağını ve cihaz tarafından otomatik olarak dikkate alınmayacağını belirtebilirler.
Katı öncelik sırasını değiştirebilir veya tamamen kaldırabilir miyim?
Önceki bölümlerde listelenen bonus yer paylaşımlarını değiştirerek ağ seçimi kararlarını değiştirebilirsiniz. Ancak varsayılan değerler birden fazla kullanım alanı dikkatlice değerlendirilerek seçildiği için bu değerlerin değiştirilmesi önerilmez.