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 bölümde, Android destekli bir cihazın mevcut kablosuz ağları nasıl değerlendirdiği ve bunlara 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, taramayı atlamak için mevcut bağlantının 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ışı sağlanıyor (RSSI ve trafik eşikleri için ekran açıkken yapılan 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_wifiFrameworkScoreEntryRssiThreshold6ghzyer paylaşımları 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 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 veya devre dışı bırakma) ve 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ıranconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMsveconfig_wifiHighMovementNetworkSelectionOptimizationRssiDeltayer paylaşımları kullanılarak yapılandırılabilir.
Çerçeve, her SSID adayı için 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 birinin karşılanması gerekir:
- Kazanan aday ve bağlı kablosuz ağ aynı BSSID'ye sahip.
- Firmware dolaşımı kullanılabiliyorsa (BSSID engelleme 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, 3 saniyede bir RSSI ve bağlantı katmanı istatistiklerini yoklar (
config_wifiPollRssiIntervalMillisecondsyerleşimi kullanılarak yapılandırılabilir).config_wifiAdjustPollRssiIntervalEnabledkatmanı 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 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 değeri -73 dBm'den düşük olduğunda (
config_wifiClientRssiMonitorThresholdDbmyer paylaşımıyla yapılandırılır) yoklama aralığı tekrar 3 saniyeye (config_wifiPollRssiIntervalMillisecondsyer paylaşımıyla yapılandırılır) düşürülür.
- Cihaz sabitken ve RSSI değeri -68 dBm'den büyük olduğunda (
Kablosuz hizmeti, RSSI ve bağlantı katmanı istatistiklerine göre bir bağlantı puanı hesaplar.
Kablosuz hizmeti, puanı bağlantı hizmetine iletir. Bağlantı hizmeti, kablosuz ağa mı yoksa başka bir kullanılabilir ağ türüne (ör. mobil ağ) mı 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 düşükse donanım yazılımı dolaşım yapabilir veya (sonunda) ağdan ayrılıp ana bilgisayarı uyandırabilir.
Bağlantı taramaları
Tarama işlemleri, cihazın ekranının açık olup olmamasına, ekranının kapalı olup kablosuz ağa bağlı olmasına veya ekranını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 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şikleri bölümüne bakın),
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 alım) saniyede 16 paketten (pps) fazla ve
config_wifiFrameworkMinPacketPerSecondActiveTrafficile 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 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ı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 saniyedir (config_wifiStationaryPnoScanIntervalMillis yer paylaşımı tarafından kontrol edilir). Sonraki taramalar için ise aralık 180 saniyedir (yer paylaşımının sabit 3 katı). Yüksek hareketlilik durumunda, ilk üç tarama için aralık 20 saniyedir (config_wifiMovingPnoScanIntervalMillis katmanı tarafından kontrol edilir). Sonraki taramalar için aralık 60 saniyedir (katmanın sabit 3 katı).
Ağ adayları
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ğ 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_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. - Sayaçsız (ücretsiz) ağlar, sayaçlı (ücretli) ağlardan 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), kaydedilenler, önerilenler, ölçülüler ve ölçüsüzler için katı bir öncelik sırası oluşturur:
- Kaydedilen 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, 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. 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 hata 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 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ğerle başlar. Bu taban değeri, 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 oluşursa süre artar. Süre, hata sıklığıyla katlanarak artan temel süredir. Örneğin, 2 hata sıklığı, 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'yi 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ı kesiyor:
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üresine ulaşıldığında (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 sayaçlar aşağıdaki hata kodu için 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ılmış ve kullanılmayan | 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 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 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 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ğı) seçim sürecinde 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ı seçimi, başlangıçta hata payıyla seçildiğinden daha kötü bir sinyal gücüne sahip değil. Bu hata payı,
config_wifiEstimateRssiErrorMarginDbkatmanı 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
Önce yap sonra boz 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ğ geçişiyle (cihazın yeni ağa bağlanmadan önce eski ağın bağlantısını kesmesi) aynı ağ seçimi algoritmasını kullanır. Ağ seçimi algoritması, kesmeden önce yapma yöntemi kullanılarak değiştirilemeyen bir ağ seçerse cihaz otomatik olarak yapmadan önce kesme yöntemine geri döner.
Eşzamanlı kısıtlanmış 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ğ için ağ seçimi (normal uygulamalara internet bağlantısı sağlar) 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. 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, iletişimin yalnızca ilk ayağını şifreler ve önceden paylaşılmış anahtarlara sahip ağlarda bu bile çok fazla gizlilik sağlamaz.
Neden kaydedilen ağlara, önerilen ağlara göre ö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ğundan, 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.
Sıkı öncelik sırasını değiştirebilir miyim 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.