Pilihan jaringan Wi-Fi

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.

  1. 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 ke false, 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.

  2. 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, dan config_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 overlay config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs dan config_wifiHighMovementNetworkSelectionOptimizationRssiDelta, yang mengonfigurasi persyaratan stabilitas pada hasil pemindaian (perubahan RSSI di atas hasil pemindaian yang cukup terpisah dalam waktu).

  3. 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.

  4. 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.

  5. 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:

  1. 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 overlay config_wifiClientRssiMonitorThresholdDbm dan config_wifiClientRssiMonitorHysteresisDb).
    • Interval polling dikurangi menjadi 3 detik (dikonfigurasi oleh overlay config_wifiPollRssiIntervalMilliseconds) jika perangkat non-stasioner atau RSSI di bawah -73 dBm (dikonfigurasi oleh overlay config_wifiClientRssiMonitorThresholdDbm).
  2. Layanan Wi-Fi menghitung skor terhubung berdasarkan RSSI dan statistik lapisan link.

  3. 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 overlay config_wifi_framework_wifi_score_low_rssi_threshold_5GHz dan config_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, dan config_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, dan config_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 dan config_wifiFrameworkThroughputBonusDenominator, dan dibatasi hingga nilai maksimum yang ditentukan menggunakan overlay config_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 dan config_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:

  1. Jaringan tidak berbayar yang disimpan
  2. Jaringan tidak berbayar yang disarankan
  3. Jaringan berbayar tersimpan
  4. 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 dengan config_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)

  1. 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.

  2. 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.

  3. 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.