Halaman ini menguraikan algoritma dan prosedur yang digunakan di Android 12 untuk memilih dan beralih antarjaringan Wi-Fi. Android terus mengevaluasi kualitas jaringan yang terhubung dan menilai kualitas jaringan yang tersedia.
Durasi koneksi otomatis
Bagian ini menjelaskan proses cara perangkat Android menilai dan terhubung ke jaringan Wi-Fi yang tersedia.
Perangkat memindai jaringan yang tersedia dengan salah satu cara berikut bergantung pada apakah layar aktif atau nonaktif.
- Layar aktif (terhubung): Subsistem konektivitas Android secara berkala mengevaluasi apakah koneksi saat ini cukup baik untuk melewati pemindaian (seperti yang ditentukan dalam pemindaian layar aktif). Jika koneksi tidak cukup baik untuk melewati pemindaian, subsistem konektivitas akan memicu pemindaian untuk mendeteksi jaringan yang tersedia. Pemindaian ini juga dapat dipicu oleh komponen sistem lainnya seperti sistem lokasi atau aplikasi (termasuk aplikasi Setelan).
- Layar aktif (terputus): Subsistem konektivitas Android melakukan pemindaian berkala setelah jadwal backoff eksponensial. Modul ini mengevaluasi semua hasil pemindaian yang diterima dan mencoba memilih jaringan terbaik untuk dihubungkan.
- Layar nonaktif (terputus): CPU host memprogram firmware dengan daftar jaringan pilihan menggunakan pemindaian Network Offload (PNO) yang diinginkan segera setelah layar mati. Firmware akan mengaktifkan host jika menemukan salah satu jaringan pilihan. AOSP mengasumsikan bahwa PNO didukung di perangkat.
Metode
WifiManager#allowAutojoinGlobal(boolean)
dapat digunakan untuk menonaktifkan koneksi otomatis. Ini adalah API dengan hak istimewa yang dapat digunakan oleh produsen perangkat dalam situasi tertentu (misalnya, perangkat nonseluler yang telah dikonfigurasi sebelumnya).Jika perangkat terhubung dan overlay
config_wifi_framework_enable_associated_network_selection
ditetapkan kefalse
, tidak ada pemindaian konektivitas yang dilakukan dan hasil pemindaian tidak memicu pemilihan jaringan. Setelan ini tidak berpengaruh saat perangkat terputus, yang berarti pemindaian konektivitas dan pemilihan jaringan masih terjadi.Hasil pemindaian dievaluasi.
Jika perangkat terhubung ke jaringan Wi-Fi, framework akan mengevaluasi apakah jaringan saat ini cukup baik untuk melewati pemilihan jaringan.
Jaringan didefinisikan sebagai cukup baik untuk melewati pemilihan jaringan jika salah satu persyaratan berikut terpenuhi:
- Kurang dari 10 detik telah berlalu sejak pemilihan jaringan terakhir.
- Pengguna baru-baru ini terhubung ke jaringan secara manual (dengan
baru-baru ini
dapat dikonfigurasi menggunakan
overlay
config_wifiSufficientDurationAfterUserSelectionMilliseconds
). - Perangkat terhubung ke koneksi pendaftaran online (OSU).
Semua persyaratan berikut terpenuhi:
- RSSI berada di atas nilai minimum RSSI yang diperlukan atau traffic yang memadai mengalir melalui koneksi (lihat pemindaian layar aktif untuk RSSI dan nilai minimum traffic).
- Jaringan divalidasi (terhubung ke internet) atau disetujui pengguna untuk digunakan tanpa akses internet.
- Jaringan tidak berbayar.
Jika jaringan cukup baik untuk melewati pemilihan jaringan, tidak ada tindakan lebih lanjut yang dilakukan.
Jika jaringan Wi-Fi yang terhubung tidak cukup baik atau jika perangkat tidak terhubung ke jaringan, framework akan memanggil nominator jaringan untuk membuat daftar jaringan Wi-Fi kandidat yang akan dihubungkan berdasarkan hasil pemindaian yang difilter. Pendaftar jaringan menemukan konfigurasi Wi-Fi yang sudah ada atau membuat konfigurasi baru untuk jaringan kandidat.
Hasil pemindaian difilter untuk menghapus BSSID yang memiliki RSSI di bawah RSSI entri (dapat dikonfigurasi menggunakan overlay
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
, danconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
). Selain itu, BSSID yang diblokir akan difilter. BSSID dapat diblokir berdasarkan kegagalan koneksi berulang, koneksi terputus sering, dan permintaan eksplisit dari AP untuk tidak mencoba pengaitan selama jangka waktu tertentu (MBO-OCE). Pemblokiran BSSID dijelaskan di bawah dalam Pemblokiran SSID dan BSSID.Saat perangkat bergerak dengan cepat, hasil pemindaian secara opsional difilter lebih lanjut untuk menghapus BSSID yang RSSI-nya bervariasi dengan cepat (indikasi bahwa BSSID tidak bergerak bersama perangkat). Pengoptimalan ini dapat dikonfigurasi menggunakan
config_wifiHighMovementNetworkSelectionOptimizationEnabled
(mengaktifkan/menonaktifkan pengoptimalan), dan overlayconfig_wifiHighMovementNetworkSelectionOptimizationScanDelayMs
danconfig_wifiHighMovementNetworkSelectionOptimizationRssiDelta
, yang mengonfigurasi persyaratan stabilitas pada hasil pemindaian (perubahan RSSI di atas hasil pemindaian yang cukup terpisah dalam waktu).
Framework menjalankan penilai kandidat untuk menghasilkan skor bagi setiap kandidat service set identifier (SSID). Kandidat SSID dapat menyertakan beberapa kandidat basic service set identifier (BSSID) (dibuat oleh nominator jaringan). Kandidat dengan skor tertinggi adalah kandidat pemenang.
Framework ini menjalankan algoritma pilihan koneksi pengguna, yang dapat menjadikan jaringan yang dipilih pengguna sebagai kandidat pemenang baru, bukan menggunakan kandidat pemenang dari penghitung kandidat.
Framework menentukan apakah kandidat pemenang cocok dengan jaringan yang saat ini terhubung. Agar dianggap cocok, salah satu hal berikut harus dipenuhi:
- Calon pemenang dan jaringan Wi-Fi yang terhubung memiliki BSSID yang sama.
- Jika roaming firmware tersedia (termasuk kemampuan daftar yang tidak diizinkan BSSID), kandidat pemenang dan jaringan yang terhubung memiliki SSID dan jenis keamanan yang sama.
Jika kandidat pemenang cocok dengan jaringan yang saat ini terhubung, tidak ada tindakan lebih lanjut yang dilakukan. Jika kandidat pemenang tidak cocok dengan jaringan, perangkat akan dikaitkan dengan kandidat pemenang.
Perhatikan bahwa koneksi jaringan otomatis dinonaktifkan saat aplikasi menggunakan Wi-Fi Network Request API, yang mengganti sistem dan membuat LAN tanpa internet, kecuali pada perangkat yang mendukung dua stasiun serentak.
Evaluasi jaringan yang terhubung
Framework atau firmware Android secara berkala mengevaluasi kualitas jaringan yang terhubung. Bagian ini menjelaskan cara jaringan yang terhubung dievaluasi saat layar aktif atau nonaktif.
Evaluasi ini dilakukan selain pemilihan jaringan yang dibahas di atas.
Layar aktif
Framework Android mengevaluasi jaringan yang terhubung dengan cara berikut:
Layanan Wi-Fi melakukan polling RSSI dan statistik lapisan link setiap 3 detik (dapat dikonfigurasi menggunakan overlay
config_wifiPollRssiIntervalMilliseconds
).Jika penyesuaian interval dinamis diaktifkan menggunakan overlay
config_wifiAdjustPollRssiIntervalEnabled
, interval polling akan berubah secara dinamis berdasarkan status mobilitas perangkat dan RSSI.- Interval polling diperpanjang menjadi 6 detik (dikonfigurasi oleh
overlay
config_wifiPollRssiLongIntervalMilliseconds
) saat perangkat diam dan RSSI di atas -68 dBm (dikonfigurasi oleh overlayconfig_wifiClientRssiMonitorThresholdDbm
danconfig_wifiClientRssiMonitorHysteresisDb
). - Interval polling dikurangi menjadi 3 detik (dikonfigurasi oleh
overlay
config_wifiPollRssiIntervalMilliseconds
) jika perangkat non-stasioner atau RSSI di bawah -73 dBm (dikonfigurasi oleh overlayconfig_wifiClientRssiMonitorThresholdDbm
).
- Interval polling diperpanjang menjadi 6 detik (dikonfigurasi oleh
overlay
Layanan Wi-Fi menghitung skor terhubung berdasarkan RSSI dan statistik lapisan link.
Layanan Wi-Fi meneruskan skor ke layanan konektivitas, yang menggunakan skor untuk menentukan apakah akan terhubung ke jaringan Wi-Fi atau ke jenis jaringan lain yang tersedia, seperti jaringan seluler.
Layar nonaktif
Framework tidak memulai evaluasi pada jaringan yang terhubung, tetapi proses pemilihan jaringan mungkin masih terjadi jika pemindaian dimulai oleh komponen lain (misalnya, layanan lokasi). Firmware mengevaluasi kualitas jaringan, dan jika kualitas jaringan buruk, firmware mungkin roaming atau (pada akhirnya) terpisah dari jaringan dan mengaktifkan host.
Pemindaian konektivitas
Pemindaian dilakukan secara otomatis berdasarkan apakah layar perangkat menyala, layar mati dan terhubung ke Wi-Fi, atau layar mati dan tidak terhubung ke Wi-Fi.
Layar aktif
Framework memicu keputusan pemindaian pada interval yang meningkat saat layar
diaktifkan. Interval keputusan pemindaian dikonfigurasi dengan overlay
config_wifiDisconnectedScanIntervalScheduleSec
,
config_wifiConnectedScanIntervalScheduleSec
, dan
config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec
(yang merupakan array bilangan bulat). Secara default, pemindaian terjadi menggunakan
interval backoff eksponensial 20, 40, 80, dan 160 detik, dengan pemindaian
berikutnya mungkin dilakukan pada interval 160 detik (ini adalah nilai default overlay ini).
Interval pemindaian backoff eksponensial direset dan dimulai ulang pada 20 detik setiap kali status layar berubah, yaitu saat layar diaktifkan atau dinonaktifkan.
(Android 13+) Jika interval pemindaian yang berbeda diperlukan saat
runtime, aplikasi dengan hak istimewa OEM dapat memanggil
WifiManager#setScreenOnScanSchedule(screenOnScanSchedule)
API untuk menetapkan jadwal pemindaian layar aktif secara
dinamis.
Keputusan untuk menjalankan atau melewati pemindaian didasarkan pada apakah koneksi jaringan saat ini cukup baik untuk melewati pemindaian. Koneksi cukup baik untuk melewati pemindaian jika salah satu persyaratan berikut terpenuhi:
- Perangkat terhubung ke koneksi pendaftaran online (OSU).
- Traffic yang cukup mengalir melalui koneksi (lihat nilai minimum traffic di bawah).
- RSSI berada di atas nilai minimum RSSI yang diperlukan (lihat nilai minimum RSSI di bawah),
dan pemilihan jaringan dilakukan baru-baru ini (10 menit secara default, tetapi
dapat dikonfigurasi menggunakan
overlay
config_wifiConnectedHighRssiScanMinimumWindowSizeSec
), dan jaringan divalidasi (terhubung ke internet) atau disetujui pengguna untuk digunakan tanpa akses internet.
Batas RSSI dan traffic adalah:
- RSSI di atas -73 dBm untuk band 2,4 GHz, yang dikonfigurasi dengan
overlay
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
, atau -70 dBm untuk band 5 GHz dan 6 GHz, yang dikonfigurasi dengan overlayconfig_wifi_framework_wifi_score_low_rssi_threshold_5GHz
danconfig_wifiFrameworkScoreLowRssiThreshold6ghz
. - Traffic (transmisi atau penerimaan) di atas 16 paket per detik (pps)
yang dikonfigurasi dengan overlay
config_wifiFrameworkMinPacketPerSecondActiveTraffic
.
Saat perangkat terhubung dan layar aktif. Penilai yang terhubung secara berkala
memantau kualitas Wi-Fi dengan melihat sinyal seperti RSSI dan jumlah
paket yang ditransfer. Jika kualitas Wi-Fi ditentukan buruk
(seperti yang ditentukan di bawah) dan perangkat mendukung stasiun serentak ganda, pemindaian
akan dipicu. Overlay
config_wifiLowConnectedScoreThresholdToTriggerScanForMbb
dapat
digunakan untuk mengonfigurasi nilai minimum skor yang memicu pemindaian. Overlay
config_wifiLowConnectedScoreScanPeriodSeconds
dapat digunakan untuk
mengonfigurasi periode pemindaian ini.
Layar nonaktif dan terhubung ke Wi-Fi
Saat layar mati dan perangkat terhubung ke jaringan Wi-Fi, firmware (Wi-Fi SoC) akan melakukan pemindaian roaming. Framework tidak melakukan pemindaian apa pun saat layar nonaktif.
Layar nonaktif dan tidak terhubung ke Wi-Fi (status terputus)
Saat layar mati dan Wi-Fi terputus, firmware akan melakukan pemindaian PNO untuk SSID. Framework ini mengonfigurasi firmware dengan daftar SSID yang akan dipindai dan daftar saluran yang akan dipindai. Jika SSID yang dikonfigurasi ditemukan, firmware akan mengaktifkan framework.
Framework ini juga mengonfigurasi interval saat firmware akan melakukan
pemindaian PNO, menggunakan status mobilitas perangkat untuk memilih interval pemindaian yang berbeda.
Dalam status mobilitas rendah (perangkat tidak bergerak), intervalnya adalah 60 detik
untuk tiga pemindaian pertama (dikontrol oleh
overlay config_wifiStationaryPnoScanIntervalMillis
), dan 180 detik (pengganda
3x tetap dari overlay) untuk pemindaian berikutnya. Dalam status
mobilitas tinggi, intervalnya adalah 20 detik untuk tiga pemindaian pertama (dikontrol
oleh overlay config_wifiMovingPnoScanIntervalMillis
), dan 60 (pengganda 3x
tetap dari overlay) detik untuk pemindaian berikutnya.
Nominator jaringan
Nominator jaringan menemukan atau membuat konfigurasi
(WifiConfiguration
)
untuk jaringan yang:
- Tersedia (berdasarkan hasil pemindaian) atau jaringan yang terhubung (yang terkadang tidak ada dalam hasil pemindaian yang tidak stabil).
- Memiliki RSSI minimum. RSSI minimum adalah -80 dBm untuk band 2,4 GHz
dan -77 dBm untuk band 5 GHz dan 6 GHz,
yang dapat dikonfigurasi menggunakan
overlay
config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
, danconfig_wifiFrameworkScoreEntryRssiThreshold6ghz
. - Tidak diblokir, misalnya, karena kegagalan koneksi sebelumnya.
- Jaringan tidak menunjukkan bahwa jaringan tidak dapat digunakan (misalnya, menggunakan MBO/OCE).
- Dapat dikaitkan dengan penggunaan kredensial yang tersedia di perangkat.
Nominator jaringan berikut digunakan:
- Nominor jaringan tersimpan: Mengevaluasi semua jaringan yang tersimpan (termasuk langganan Passpoint yang tersimpan).
- Nominator jaringan yang disarankan: Mengevaluasi semua jaringan yang disediakan oleh aplikasi menggunakan Suggestion API (termasuk langganan Passpoint yang disarankan).
- Nominator jaringan yang diberi skor secara eksternal: Mekanisme OEM untuk memberikan opsi konektivitas jaringan ke perangkat. Untuk informasi selengkapnya, lihat Penyedia rating jaringan eksternal.
Pencetak gol kandidat
Penilai kandidat mengevaluasi dan memberikan skor untuk setiap kandidat. Skor untuk ThroughputScorer
(pencetak gol default) didasarkan pada hal berikut:
- Skor dasar dihitung berdasarkan RSSI dengan RSSI dibatasi -73 dBm
untuk band 2,4 GHz atau -70 dBm untuk band 5 GHz dan
6 GHz (dikonfigurasi dengan overlay
config_wifi_framework_wifi_score_low_rssi_threshold_24GHz
,config_wifi_framework_wifi_score_low_rssi_threshold_5GHz
, danconfig_wifiFrameworkScoreLowRssiThreshold6ghz
). - Peningkatan skor dihitung berdasarkan estimasi throughput yang berasal dari teknologi, frekuensi saluran, bandwidth, RSSI, kondisi saluran, jumlah maksimum streaming spasial, dan parameter lainnya. Peningkatan skor
dapat dikonfigurasi menggunakan overlay
config_wifiFrameworkThroughputBonusNumerator
danconfig_wifiFrameworkThroughputBonusDenominator
, dan dibatasi hingga nilai maksimum yang ditentukan menggunakan overlayconfig_wifiFrameworkThroughputBonusLimit
. - Jaringan kandidat yang baru-baru ini dipilih oleh pengguna atau oleh aplikasi
akan mendapatkan peningkatan skor yang besar selama durasi yang dapat dikonfigurasi menggunakan
overlay
config_wifiFrameworkLastSelectionMinutes
(selama durasi tersebut, jaringan dijamin akan dipilih daripada jaringan yang tidak dipilih pengguna). - Kandidat yang cocok dengan jaringan saat ini mendapatkan peningkatan skor yang dikonfigurasi
oleh overlay
config_wifiFrameworkCurrentNetworkBonusMin
danconfig_wifiFrameworkCurrentNetworkBonusPercent
(kandidat ini mendapatkan bonus tambahan berdasarkan persentase RSSI dan skor berbasis throughput, hingga minimum yang dapat dikonfigurasi). - Jaringan aman diberi skor lebih tinggi daripada jaringan terbuka. Bonus
dikonfigurasi menggunakan overlay
config_wifiFrameworkSecureNetworkBonus
. - Jaringan tidak berbayar (gratis) diberi skor lebih tinggi daripada jaringan berbayar (berbayar).
Bonus dikonfigurasi menggunakan overlay
config_wifiFrameworkUnmeteredNetworkBonus
. - Jaringan tersimpan diberi skor lebih tinggi daripada jaringan yang disarankan menggunakan
Suggestion API. Bonus dikonfigurasi menggunakan
overlay
config_wifiFrameworkSavedNetworkBonus
. - Jaringan tidak tepercaya (yang dapat diminta sebagai bagian dari Suggestion API) diberi skor lebih rendah daripada jaringan lainnya.
- Jaringan yang sebelumnya terdeteksi tidak memiliki internet akan mendapatkan skor 0 jika perangkat saat ini terhubung ke jaringan lain yang memiliki akses internet.
Bonus default untuk disimpan versus saran dan tidak berbayar versus berbayar (yaitu, nilai overlay default) menghasilkan urutan prioritas yang ketat untuk disimpan, disarankan, berbayar, dan tidak berbayar:
- Jaringan tidak berbayar yang disimpan
- Jaringan tidak berbayar yang disarankan
- Jaringan berbayar tersimpan
- Jaringan berkuota yang disarankan
Artinya, jaringan tersimpan tanpa kuota (gratis) selalu dipilih sebelum jaringan tersimpan dengan kuota (berbayar). Bonus skor yang baru dipilih (oleh pengguna atau aplikasi) dapat mengganti prioritas ketat tersebut.
Framework dapat menginstal beberapa kandidat penskor, tetapi hanya satu
yang dapat aktif dalam satu waktu. Pemberi skor lainnya dapat digunakan untuk metrik (untuk
menyelidiki algoritma alternatif). Di Android 11,
penilai default adalah
ThroughputScorer
.
Pemblokiran SSID dan BSSID
Framework ini dapat memblokir SSID atau BSSID, yaitu tidak mempertimbangkannya untuk koneksi, baik untuk sementara maupun permanen.
Pemblokiran BSSID
Pemblokiran BSSID berfungsi dengan menyimpan dua penghitung kegagalan, penghitung kegagalan berkelanjutan dan penghitung rentang, per jenis kegagalan tertentu (lihat di bawah untuk mengetahui daftar jenis kegagalan). Saat terjadi kegagalan:
- Penghitung untuk jenis kegagalan yang sesuai akan bertambah.
- Jika nilai minimum kegagalan untuk jenis kegagalan tersebut tercapai:
- BSSID diblokir.
- Penghitung streak untuk kegagalan akan bertambah.
Durasi pemblokiran BSSID dimulai dari nilai dasar (yang dapat dikonfigurasi)
(ditentukan oleh overlay config_wifiBssidBlocklistMonitorBaseBlockDurationMs
atau
config_wifiBssidBlocklistMonitorBaseLowRssiBlockDurationMs
,
bergantung pada RSSI), dan meningkat secara eksponensial hingga batas atas
yang dapat dikonfigurasi (ditentukan oleh overlay
config_wifiBssidBlocklistMonitorFailureStreakCap
). Durasi akan bertambah jika kegagalan terus-menerus terjadi pada BSSID
yang sama. Durasi adalah durasi dasar yang meningkat secara eksponensial dengan
urutan kegagalan, yaitu, urutan kegagalan 2 menyiratkan 4x durasi pemblokiran dasar.
Batas untuk pemblokiran BSSID bergantung pada alasan kegagalan dan masing-masing dapat disesuaikan menggunakan overlay:
- AP menolak pengaitan menggunakan kode MBO/OCE Tidak dapat menangani STA baru:
config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold
. - Validasi internet melalui jaringan ini gagal:
config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold
. - Kode kegagalan autentikasi sandi salah:
config_wifiBssidBlocklistMonitorWrongPasswordThreshold
. - Kode kegagalan autentikasi kegagalan EAP untuk jaringan EAP:
config_wifiBssidBlocklistMonitorEapFailureThreshold
. - Penolakan asosiasi, penolakan asosiasi umum lainnya:
config_wifiBssidBlocklistMonitorAssociationRejectionThreshold
. - Waktu tunggu pengaitan:
config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold
. - Kegagalan autentikasi, kegagalan autentikasi umum lainnya:
config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold
. - Kegagalan DHCP, kegagalan untuk menyediakan DHCP:
config_wifiBssidBlocklistMonitorDhcpFailureThreshold
. - Pemutusan tidak normal, koneksi perangkat terputus dari jaringan dalam
waktu yang sangat singkat setelah terhubung:
config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold
. Periode waktu dapat dikonfigurasi denganconfig_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs
.
Kondisi penghapusan daftar blokir BSSID
BSSID dihapus dari daftar blokir jika:
- Wi-Fi diaktifkan: Semua BSSID dihapus dari daftar blokir.
- Pengguna mengetuk jaringan di pemilih Wi-Fi: Semua BSSID jaringan yang dipilih pengguna akan dihapus dari daftar blokir.
- Waktu tunggu habis: BSSID dihapus dari daftar blokir saat durasi pemblokiran tercapai.
- Mulai ulang: Semua daftar yang tidak diizinkan dihapus.
- Jaringan dihapus: Semua BSSID yang terkait dengan jaringan ini akan dihapus dari daftar blokir.
Kondisi reset penghitung kegagalan dan rentang:
- Mulai ulang: Mereset untuk semua BSSID.
- Jaringan dihapus: Reset untuk BSSID yang terkait dengan jaringan.
Koneksi L2 berhasil: Reset untuk kode error berikut.
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
(dihapus bersyarat hanya jika terakhir kali perangkat terhubung ke BSSID ini lebih dari 3 jam yang lalu)REASON_NONLOCAL_DISCONNECT_CONNECTING
Validasi jaringan berhasil: Mereset untuk kode error berikut.
REASON_NETWORK_VALIDATION_FAILURE
Penyediaan DHCP berhasil: Direset untuk kode error berikut.
REASON_DHCP_FAILURE
Pemblokiran SSID
Pemblokiran SSID berfungsi mirip dengan pemblokiran BSSID. Penghitung kegagalan per jenis kegagalan per jaringan akan bertambah saat terjadi kegagalan koneksi.
Jika jumlah kegagalan dari jenis tertentu melebihi nilai minimum, SSID akan
diblokir secara permanen atau sementara berdasarkan konfigurasi. Konfigurasi
untuk setiap jenis kegagalan dienkode dalam
WifiConfiguration.NetworkSelectionStatus.DISABLE_REASON_INFOS
dan
dringkas di bawah.
* Untuk jaringan yang dinonaktifkan sementara, durasi penonaktifan berubah secara dinamis berdasarkan jumlah kegagalan koneksi berturut-turut yang dialami di jaringan. Setelah jaringan gagal terhubung secara berurutan lima kali, setiap kegagalan berikutnya akan menghasilkan durasi penonaktifan dua kali lebih lama dari durasi sebelumnya. Misalnya, jaringan dengan lima kegagalan berturut-turut akan dinonaktifkan selama 5 menit, lalu 10 menit pada kegagalan keenam, 20 menit untuk kegagalan ketujuh, dan seterusnya hingga batas maksimum 18 jam. |
||||
Kode kegagalan | Deskripsi | Batas | Durasi penonaktifan dasar* | Jenis nonaktif |
---|---|---|---|---|
DISABLED_DHCP_FAILURE |
Gagal menyediakan DHCP | 5 | 5 menit | Sementara |
DISABLED_NO_INTERNET_TEMPORARY |
Validasi jaringan gagal, tetapi pengguna menyatakan bahwa mereka ingin terus terhubung ke jaringan ini di masa mendatang | 1 | 10 menit | Sementara |
DISABLED_AUTHENTICATION_NO_CREDENTIALS |
Pemohon tidak memiliki kredensial untuk terhubung ke jaringan | 1 | NA | Permanen |
DISABLED_NO_INTERNET_PERMANENT |
Default untuk kegagalan validasi jaringan | 1 | NA | Permanen |
DISABLED_BY_WIFI_MANAGER |
Tidak digunakan lagi dan tidak digunakan | 1 | NA | Permanen |
DISABLED_BY_WRONG_PASSWORD |
Sandi salah, dan jaringan ini tidak pernah berhasil terhubung ke | 1 | NA | Permanen |
DISABLED_AUTHENTICATION_NO_SUBSCRIPTION |
Kegagalan EAP saat kartu SIM tidak berlangganan | 1 | NA | Permanen |
DISABLED_ASSOCIATION_REJECTION |
Kegagalan penolakan atribusi | 5 | 5 menit | Sementara |
DISABLED_AUTHENTICATION_FAILURE |
Kegagalan autentikasi lainnya (yaitu, bukan sandi salah atau kegagalan EAP) | 5 | 5 menit | Sementara |
DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR |
Kegagalan EAP khusus penyedia (pribadi). | 1 | NA | Permanen |
DISABLED_NETWORK_NOT_FOUND |
Pemohon gagal menemukan jaringan dalam hasil pemindaian yang cocok dengan jaringan yang diminta oleh framework untuk koneksi (termasuk kemampuan jaringan). | 2 | 5 menit | Sementara |
DISABLED_CONSECUTIVE_FAILURES |
Jaringan gagal terhubung lima kali atau lebih secara berturut-turut. Jenis kegagalan
untuk kegagalan ini mencakup, tetapi tidak terbatas pada, jenis kegagalan
yang tercantum dalam tabel ini. |
5 | 5 menit | Sementara |
Jaringan yang dinonaktifkan sementara akan diaktifkan kembali jika:
- Durasi penonaktifan telah berlalu.
- Pengguna memilih jaringan yang akan dihubungkan secara manual.
- Pengguna mengaktifkan Wi-Fi.
- Sistem dimulai ulang.
- Jaringan dinonaktifkan pada RSSI yang sangat rendah, tetapi jaringan kemudian terdeteksi lagi pada RSSI sedang atau lebih tinggi.
Jaringan yang dinonaktifkan secara permanen diaktifkan kembali saat:
- Pengguna memilih jaringan yang akan dihubungkan secara manual.
Penghitung kegagalan untuk jaringan direset saat:
- Jaringan akan dihapus.
- Perangkat berhasil terhubung ke jaringan.
- Jaringan telah diaktifkan kembali setelah waktu tunggu penonaktifan habis.
- Pengguna memilih jaringan yang akan dihubungkan secara manual.
- Sistem dimulai ulang.
Kartu skor
Kartu skor, yang diperkenalkan di Android 10, mencatat statistik
BSSID di perangkat. Kartu skor dipertahankan menggunakan layanan
IpMemoryStore
.
Kartu skor tidak digunakan dalam pemilihan jaringan Android 11.
Pilihan koneksi pengguna
Android memiliki algoritme pilihan koneksi pengguna yang memungkinkan proses pemilihan untuk memilih jaringan Wi-Fi yang telah dihubungkan secara eksplisit oleh pengguna, misalnya, jaringan rumah. Pengguna mungkin lebih memilih jaringan tersebut daripada jaringan publik meskipun performanya lebih rendah daripada jaringan publik karena jaringan tersebut menyediakan layanan tambahan seperti kemampuan untuk mengontrol perangkat rumah.
Preferensi pengguna untuk jaringan diambil dengan menandai semua konfigurasi Wi-Fi yang terlihat dan kekuatan sinyalnya pada saat pengguna memilih jaringan. Jika salah satu konfigurasi Wi-Fi yang ditandai dipilih selama proses pemilihan otomatis dan jaringan yang dipilih pengguna tersedia, algoritme pilihan koneksi pengguna akan mengganti pilihan dengan jaringan yang dipilih pengguna jika kondisi berikut terpenuhi:
- Jaringan pilihan koneksi pengguna memiliki akses internet saat terakhir
- Pilihan koneksi pengguna memiliki kekuatan sinyal yang tidak lebih buruk daripada saat
awalnya dipilih dengan margin error. Margin error ini dapat
dikonfigurasi menggunakan
config_wifiEstimateRssiErrorMarginDb
overlay.
Jaringan pilihan koneksi pengguna tetap ada setelah memulai ulang. Pilihan koneksi pengguna berfungsi untuk jaringan tersimpan, jaringan Passpoint, dan jaringan saran.
Dua stasiun serentak
Bagian ini menjelaskan pemilihan jaringan Wi-Fi saat perangkat mendukung koneksi ke dua jaringan Wi-Fi secara bersamaan.
Buat sebelum jeda
Jika fungsi make-before-break diaktifkan, perangkat akan mencoba terhubung ke jaringan baru sebelum terputus dari jaringan lama. Alur make-before-break menggunakan algoritma pemilihan jaringan yang sama dengan pengalihan jaringan break-before-make (yaitu saat perangkat terputus dari jaringan lama sebelum terhubung ke jaringan baru). Jika algoritma pemilihan jaringan memilih jaringan yang tidak dapat dialihkan menggunakan make-sebelum-break, perangkat akan otomatis kembali ke break-before-make.
Koneksi internet dan dibatasi serentak
Jika fungsi koneksi internet dan jaringan Wi-Fi terbatas serentak diaktifkan, perangkat dapat terhubung ke jaringan Wi-Fi terbatas sekunder yang hanya tersedia untuk aplikasi tertentu yang dikonfigurasi oleh produsen perangkat. Petunjuk bagi produsen perangkat untuk mengonfigurasinya ada di Koneksi internet dan terlarang serentak.
Saat algoritma pemilihan jaringan mendeteksi hasil pemindaian yang cocok dengan OEM yang berbayar atau saran pribadi, algoritma tersebut akan otomatis terhubung ke jaringan tersebut sebagai jaringan kedua. Pemilihan jaringan untuk jaringan Wi-Fi utama (yang menyediakan koneksi internet ke aplikasi reguler) biasanya terjadi secara paralel.
Pertanyaan umum (FAQ)
Apakah jaringan aman selalu diprioritaskan daripada jaringan terbuka?
Tidak. Tersimpan versus disarankan serta berkuota versus tidak berbayar adalah kategori utama tempat jaringan dievaluasi. Dalam setiap kategori, jaringan aman memiliki beberapa prioritas dibandingkan jaringan terbuka, tetapi bobot yang jauh lebih tinggi diberikan pada kualitas koneksi.
Alasannya adalah keamanan data pengguna yang sebenarnya disediakan oleh enkripsi end-to-end (misalnya, TLS). Jaringan aman hanya mengenkripsi bagian pertama komunikasi, dan bahkan untuk jaringan dengan kunci sandi bersama, tidak memberikan banyak privasi.
Mengapa jaringan tersimpan diprioritaskan daripada jaringan yang disarankan?
Jaringan gratis (tidak berbayar) tersimpan diprioritaskan daripada jaringan gratis yang disarankan dan jaringan berbayar tersimpan diprioritaskan daripada jaringan berbayar yang disarankan.
Jaringan tersimpan diprioritaskan daripada jaringan yang disarankan karena jaringan tersimpan adalah jaringan yang ditambahkan pengguna ke perangkat secara eksplisit. Hal ini menyiratkan preferensi untuk terhubung ke jaringan ini jika memungkinkan.
Perhatikan bahwa pengguna dapat menonaktifkan perilaku koneksi otomatis untuk setiap jaringan tersimpan, yaitu menunjukkan bahwa jaringan ini hanya boleh digunakan secara manual dan tidak boleh dipertimbangkan secara otomatis oleh perangkat.
Dapatkah saya mengubah urutan prioritas ketat atau menghapusnya sepenuhnya?
Produsen perangkat dapat mengubah keputusan pemilihan jaringan dengan mengubah overlay bonus yang tercantum di bagian atas. Namun, mengubah nilai default tidak direkomendasikan karena nilai tersebut telah dipilih setelah mempertimbangkan beberapa kasus penggunaan dengan cermat.