Untuk perangkat yang menjalankan Android 13 atau lebih tinggi, Android mendukung standar Wi-Fi 7 (IEEE 802.11be). Halaman ini menjelaskan fitur-fitur Android Wi-Fi 7, termasuk operasi dasar dan multi-link (MLO).
Fitur dasar Wi-Fi 7
Bagian ini menjelaskan fitur dasar Wi-Fi 7 yang disertakan dalam Android 13 dan lebih tinggi.
Dukungan perangkat Wi-Fi 7
Framework Android menyertakan API WifiManager#isWifiStandardSupported(int standard)
yang dapat dipanggil aplikasi dengan argumen ScanResults.WIFI_STANDARD_11BE
, untuk memeriksa apakah perangkat mendukung Wi-Fi 7.
Saat API ini dipanggil, modul Wi-Fi memeriksa apakah hamparan konfigurasi config_wifi11beSupportOverride
digunakan sebagai penggantian dan melakukan hal berikut:
- Jika overlay disetel ke
true
, perangkat diasumsikan mendukung Wi-Fi 7 terlepas dari respons dari nl80211. Penggantian ini hanya berguna bagi produsen perangkat yang tidak memiliki driver yang mendukung Wi-Fi 7. - Jika overlay diatur ke
false
(nilai default), modul Wi-Fi menggunakan informasi dari nl80211. Modul Wi-Fi meminta informasi dari wificond, yang memanggil perintah nl80211NL80211_CMD_GET_WIPHY
. Jika atributNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
ada di respon dari driver, maka perangkat diasumsikan mendukung Wi-Fi 7.
Dukungan AP Wi-Fi 7 yang dipindai
Kerangka kerja Android menyertakan API int ScanResult#getWifiStandard()
, yang dapat dipanggil aplikasi untuk memeriksa apakah titik akses (AP) yang dipindai mendukung Wi-Fi 7. Jika AP mendukung Wi-FI 7, API akan mengembalikan ScanResults.WIFI_STANDARD_11BE
. Perangkat tidak diperlukan untuk mendukung Wi-Fi 7 agar aplikasi dapat menggunakan API ini.
Saat API ini dipanggil, modul Wi-Fi memeriksa apakah EHT Capability IE
ada dalam hasil pemindaian konektivitas. Jika EHT Capability IE
ada dalam hasil pemindaian, AP yang dipindai mendukung Wi-Fi 7. Kelas AOSP WifiTracker
menampilkan informasi dukungan ini di antarmuka pengguna saat dijalankan dalam mode verbose.
Modus koneksi STA
Framework Android menyertakan API int WifiInfo#getWifiStandard()
, yang dapat dipanggil aplikasi untuk memeriksa apakah mode koneksi stasiun (STA) saat ini adalah Wi-Fi 7. Mode koneksi STA adalah Wi-Fi 7 saat perangkat dan perangkat tersambung AP mendukung Wi-Fi 7. Jika mode koneksinya adalah Wi-Fi 7, API akan mengembalikan ScanResults.WIFI_STANDARD_11BE
.
Saat getWifiStandard
dipanggil, modul Wi-Fi menentukan mode dengan memanggil API HAL ISupplicantStaIface#getConnectionCapabilities()
. Implementasi API HAL ini di lapisan AIDL wpa_supplicant
memeriksa apakah EHT Capability IE
ada di AssocReq
dan AssocRsp
selama pengaturan koneksi.
Pilihan jaringan
Di Android 13, pemilihan jaringan menggunakan beberapa parameter untuk menentukan AP mana yang akan disambungkan. Salah satu parameternya adalah perkiraan throughput AP, yang diperkirakan menggunakan blok ThroughputPredictor
. Blok ThroughputPredictor
menggunakan parameter PHY perangkat dan AP yang dipindai.
Di Android 13, ThroughputPredictor
menggunakan kemampuan AP berikut dalam penghitungannya:
- Dukungan Wi-Fi 7 (802.11be)
- Dukungan lebar saluran 320 MHz
Menyertakan kemampuan ini dalam logika ThroughputPredictor
akan meningkatkan peluang pemilihan AP berkemampuan Wi-Fi 7 saat perangkat dapat menggunakan fitur ini.
Jangkauan berbasis Wi-Fi RTT
Android menyediakan dukungan API untuk pembukaan EHT dan lebar saluran 320 MHz untuk Wi-Fi RTT . Hal ini memungkinkan dukungan kemampuan terkait Wi-Fi 7 dalam rentang RTT kapan pun didukung oleh chip.
API HAL
API HAL berikut mendukung kemampuan Wi-Fi 7 untuk rentang berbasis RTT:
-
EHT
: Konstan dalamenum RttPreamble
danenum WifiRatePreamble
-
WIDTH_320
: Konstan dalamenum WifiChannelWidthInMhz
-
BW_320MHz
: Konstan dalamenum RttBw
Lebah
Aplikasi dapat menggunakan API berikut untuk rentang berbasis Wi-Fi 7 RTT:
-
ScanResult#PREAMBLE_EHT
-
ResponderConfig#PREAMBLE_EHT
(SystemApi)
AP lunak
Android mendukung Wi-Fi 7 di Soft AP dan menyediakan fitur berikut.
Mulai AP Lunak
Android mendukung memulai Soft AP dalam mode Wi-Fi 7. Hal ini diatur oleh konfigurasi overlay config_wifiSoftapIeee80211beSupported
.
Modul Wi-Fi menggunakan overlay config_wifiSoftapIeee80211beSupported
untuk menyetel boolean HwModeParams#enable80211BE
dalam panggilan API IHostApd#addAccessPoint()
. Di lapisan AIDL hostapd, nilai ini digunakan untuk mengatur parameter hostapd.conf
.
API HAL
Boolean enable80211BE
di HwModeParams
di hostapd HAL mendukung memulai Soft AP dalam mode Wi-Fi 7.
Laporkan informasi Soft AP
Android menyertakan dukungan API untuk menyertakan informasi lebar saluran Wi-Fi 7 dan 320 MHz dalam informasi Soft AP yang dilaporkan.
API HAL
Konstanta WIFI_STANDARD_11BE
di antarmuka AIDL Generation.aidl
di hostapd HAL, yang digunakan dalam ApInfo
yang dilaporkan dalam panggilan balik IHostapdCallback#onApInstanceInfoChanged()
, mendukung pelaporan informasi Soft AP.
Lebah
Aplikasi dapat menggunakan metode berikut (API sistem) di SoftApInfo
untuk melaporkan informasi Soft AP.
-
SoftApInfo#getWifiStandard()
: MengembalikanScanResults.WIFI_STANDARD_11BE
jika Soft AP dimulai dalam mode Wi-Fi 7. -
SoftApInfo#getBandwidth()
: MengembalikanSoftApInfo#CHANNEL_WIDTH_320MHZ
jika lebar saluran 320 MHz digunakan.
Fitur MLO Wi-Fi 7
Operasi multi-link (MLO) merupakan fitur utama dalam spesifikasi Wi-Fi 7 (802.11be). MLO adalah fitur wajib untuk perangkat multi-link (MLD) yang berjalan di Wi-Fi 7, baik secara bersamaan maupun tidak.
Gambar 1. Diagram MLO.
Seperti yang ditunjukkan pada Gambar 1, AP-MLD dan STA-MLD memiliki beberapa instance AP atau STA yang berjalan di setiap link. Setiap tautan memiliki alamat MAC AP atau STA terpisah. AP atau STA juga memiliki alamat MAC MLD untuk mengidentifikasi perangkat.
Representasi tautan MLO
Kelas android.net.wifi.MloLink
mewakili tautan MLO. Kelas ini mencakup parameter berikut:
-
int getLinkId()
: ID Tautan seperti yang diiklankan oleh AP MLD. -
MacAddress getApMacAddress()
: Alamat MAC AP. BSSID instans AP untuk tautan tersebut. -
MacAddress getStaMacAddress()
: Alamat MAC STA. Alamat MAC yang ditetapkan secara lokal untuk instans STA pada tautan. -
int getChannel()
: Tautan saluran. Nomor saluran tautan. -
int getBand()
: Pita tautan. Pita tautan. int getState()
: Status tautan. Dapat berupa salah satu dari negara bagian berikut:-
MLO_LINK_STATE_INVALID
: Tidak valid. Digunakan untuk inisialisasi dan kasus kesalahan. -
MLO_LINK_STATE_UNASSOCIATED
: Tidak terkait. Tautan tidak terkait dengan AP. -
MLO_LINK_STATE_IDLE
: Menganggur. Tautan dikaitkan tetapi tidak aktif (tidak ada pengidentifikasi lalu lintas (TID) yang dipetakan ke tautan). -
MLO_LINK_STATE_ACTIVE
: Aktif. Tautan dikaitkan dan aktif (setidaknya satu TID dipetakan ke tautan). Tautan aktif dapat berada dalam mode hemat daya karena kerangka kerja tidak memantau status daya tautan.
-
Memindai informasi Wi-Fi 7 AP MLO
Aplikasi bisa mendapatkan parameter MLO untuk Wi-Fi 7 AP MLD ketika modul Wi-Fi menerima objek ScanResult
dari AP-MLD. AOSP WifiTracker
menampilkan parameter MLO saat dijalankan dalam mode verbose.
Modul Wi-Fi mengumpulkan informasi MLO dengan melakukan hal berikut:
- Mengurai elemen informasi multi-link (IE) yang disertakan dalam respons suar atau probe untuk membaca alamat MAC AP MLD dan ID tautan saat ini.
- Mengurai laporan tetangga yang dikurangi (RNR) IE yang disertakan dalam respons suar atau penyelidikan untuk membaca daftar informasi tautan afiliasi.
Lebah
Untuk mendapatkan informasi AP MLO yang dipindai, aplikasi dapat menggunakan API berikut:
-
ScanResult#BSSID
: Alamat MAC instance AP (untuk tautan tempat hasil pemindaian diterima) -
MacAddress ScanResult#getApMldMacAddress()
: Mengembalikan alamat MAC MLD dari AP. -
int ScanResult#getApMloLinkId()
: Mengembalikan ID tautan untuk tautan tempat ScanResult diterima. -
List<MloLink> ScanResult#getAffiliatedMloLinks()
: Mengembalikan daftar objekMloLink
untuk semua link yang diiklankan oleh AP-MLD termasuk link tempat ScanResult diterima.
Informasi Wi-Fi 7 AP MLO yang terhubung
Saat perangkat terhubung ke Wi-Fi 7 AP-MLD, kerangka kerja mengumpulkan parameter MLO koneksi dari objek WifiInfo
. Objek AOSP WifiTracker
menampilkan informasi ini saat dijalankan dalam mode verbose.
Saat perangkat terhubung dengan AP-MLD, modul Wi-Fi menyalin informasi MLO dari objek ScanResult
yang diterima dari AP. Modul kemudian memanggil API HAL ISupplicantStaIface#getConnectionMloLinksInfo()
untuk membaca alamat MAC setiap tautan untuk AP dan STA, dan untuk memperbarui status tautan terkait.
Lebah
Untuk mendapatkan informasi koneksi MLO, aplikasi dapat menggunakan API berikut:
-
WifiInfo#getBSSID()
: Mengembalikan alamat MAC instance AP (untuk tautan yang dikaitkan dengan perangkat). -
MacAddress WifiInfo#getApMldMacAddress()
: Mengembalikan alamat MAC MLD AP. -
int WifiInfo#getApMloLinkId()
: Mengembalikan ID link untuk link yang STA telah kaitkan dengan AP. -
List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Mengembalikan daftar objekMloLink
untuk semua link yang diiklankan oleh AP-MLD termasuk link terkait. Alamat MAC AP dan STA dapat ditanyakan pada setiap objekMloLink
.
Pemindaian AP-MLD
Perangkat lunak vendor menyediakan kerangka Wi-Fi dengan hasil pemindaian untuk setiap respons suar atau probe yang diterimanya. Ini berarti kerangka Wi-Fi:
- Mungkin menerima beberapa objek
ScanResults
dari AP-MLD yang sama (karena AP dapat memiliki beberapa tautan suar). - Mungkin hanya menerima sebagian hasil pemindaian untuk tautan AP AP-MLD karena beberapa sinyal tautan ini mungkin tidak diterima oleh firmware.
Perangkat lunak vendor hanya melaporkan hasil pemindaian yang diterima melalui udara, dan tidak boleh membuat (mensintesis secara artifisial) hasil pemindaian berdasarkan tautan yang diiklankan oleh AP-MLD.
Perangkat lunak vendor harus menyertakan varian dasar multi-link dan RNR IE yang diterima dari instans AP dalam hasil pemindaian yang dilaporkan. Jika detail AP yang terafiliasi tidak ada dalam hasil pemindaian, perangkat lunak vendor dapat mengirimkan permintaan probe multi-link (bingkai permintaan probe yang mencakup elemen multi-link Permintaan probe) untuk menyertakan rangkaian kemampuan, parameter, dan elemen operasi secara lengkap atau sebagian. AP dengan AP-MLD yang ditargetkan dalam kerangka respons.
Perangkat lunak vendor dapat memicu ML-probing (menggunakan probe req varian ML IE dalam bingkai probe req) jika diperlukan.
Asosiasi jaringan AP-MLD
Saat perangkat bergabung dengan jaringan AP-MLD, perangkat lunak vendor menggunakan tautan AP yang dipilih (tautan terkait) untuk memberi sinyal. Perangkat lunak vendor dapat mengasosiasikan ke semua atau beberapa tautan yang didukung oleh perangkat.
Setelah pengaitan berhasil, driver melaporkan ISupplicantStaIfaceCallback#onStateChanged()
dengan BSSID tautan untuk AP-MLD. Pengemudi kemudian memilih tautan AP-MLD dengan ketentuan bahwa hasil pemindaian dilaporkan ke kerangka kerja untuk tautan tersebut.
Penilaian jaringan
Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, Pemilihan Jaringan Wi-Fi Android mendukung Wi-Fi 7 MLO. Ini berarti Android memilih jaringan Wi-Fi terbaik untuk perangkat berdasarkan jumlah tautan yang tersedia untuk MLO.
Untuk mendukung MLO, algoritme pemilihan jaringan menggunakan kemampuan MLO berikut dari chip Wi-Fi:
- Jumlah tautan STR maksimum
- Jumlah link asosiasi maksimum
- Kombinasi pita secara simultan
Gambar 2. Pemilihan jaringan MLO.
Jumlah tautan STR maksimum
Pengiriman dan penerimaan simultan (STR) adalah skema pertarungan media Wi-Fi untuk operasi multi-link. Isolasi sinyal antar link yang berbeda cukup sehingga link tersebut dapat beroperasi secara independen dan mampu mengirim dan menerima secara bersamaan dalam link yang berbeda. STR berbeda dengan STA legacy single link (SL) dan legacy dual band dual concurrent (DBDC) STA. STA yang berafiliasi dengan STA MLD berbagi nomor urut pemancar (SN) yang sama dan ruang umum untuk transmisi data yang dialokasikan ke tautan berbeda jika transmisi beberapa tautan memiliki kategori akses (AC) yang sama.
Jumlah maksimum tautan STR yang digunakan dapat berbeda dari jumlah maksimum radio yang didukung oleh chip. Pada contoh pada Gambar 2, jumlah STR link maksimum adalah 2.
Antarmuka AIDL HAL berikut mendukung jumlah tautan STR maksimum dan jumlah maksimum kemampuan penghitungan tautan asosiasi:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Jumlah link asosiasi maksimum
Beberapa link dapat beroperasi pada satu radio menggunakan skema pertikaian, Enhanced Multi-Link Single Radio (eMLSR). Perangkat multi-tautan menggunakan eMLSR melalui sekumpulan tautan jika perangkat tersebut dapat menerima kerangka kontrol dasar tertentu dan melakukan penilaian saluran yang jelas (CCA) secara bersamaan pada kumpulan tautan. Namun, MLD mengirimkan atau menerima data hanya pada satu link (link yang dipilih secara dinamis dalam setiap periode transmit opportunity (TXOP)) pada suatu waktu.
Stasiun MLD dapat memaksimalkan jumlah tautan asosiasi untuk keandalan yang lebih baik, throughput yang lebih baik, dan latensi yang lebih rendah (dibandingkan dengan stasiun tautan tunggal yang lama) dengan beroperasi secara bersamaan di STR dan eMLSR jika didukung oleh chip. Pada Gambar 2, jumlah tautan asosiasi maksimum adalah 3.
Antarmuka AIDL HAL berikut mendukung kemampuan penghitungan tautan asosiasi maksimum:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kombinasi pita secara simultan
Kerangka kerja menanyakan chip untuk mendapatkan kombinasi radio yang diizinkan (melalui antarmuka IWifiChip.aidl
AIDL) yang dapat beroperasi secara bersamaan. Dari informasi ini, kerangka tersebut memperoleh kemungkinan kombinasi pita simultan. Berikut contoh daftar kombinasi band simultan (GHz):
- 2.4
- 5
- 6
- 2,4x5
- 2,4x6
- 5x6
Antarmuka AIDL HAL berikut mendukung kombinasi radio simultan:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Pilihan jaringan
Selama pemilihan jaringan (MLO), daftar kandidat dikelompokkan berdasarkan anggota dengan alamat MAC MLD yang sama. Perkiraan skor throughput multi-tautan maksimum dihitung untuk setiap grup, berdasarkan jumlah tautan STR maksimum dan kombinasi pita simultan yang didukung oleh chip. Jika kandidat berkemampuan multi-link dan chip mendukung STR, prediksi skor throughput diganti dengan skor throughput predikat multi-link. Hal ini memberikan dorongan kepada kandidat MLO selama seleksi jaringan.
Saat bergabung dengan jaringan AP-MLD, kerangka kerja melakukan pemilihan SSID berdasarkan informasi yang diterima di objek ScanResults
seperti yang dilaporkan oleh perangkat lunak vendor. Setelah pemilihan SSID berdasarkan kerangka kerja, perangkat lunak vendor bertanggung jawab untuk memilih BSSID untuk AP (atau tautan AP) terbaik yang akan digunakan untuk asosiasi.
Penanganan alamat MAC STA perangkat
Bagian ini menjelaskan cara alamat MAC STA perangkat (alamat MAC MLD dan alamat MAC STA per tautan) ditangani.
Alamat MAC MLD
Kerangka kerja Wi-Fi mengelola alamat MAC MLD perangkat. Alamat MAC MLD ditangani dengan cara yang sama seperti perangkat non-MLD menangani alamat MAC-nya sendiri. Alamat MAC dapat berupa alamat MAC yang diacak atau alamat MAC yang disediakan perangkat keras berdasarkan pilihan pengguna. Alamat MAC MLD diatur oleh kerangka kerja menggunakan IWifiStaIface#setMacAddress()
HAL API.
Alamat MAC STA Per-Link
Perangkat lunak vendor mengelola alamat MAC STA instan (untuk setiap tautan). Ketika perangkat terhubung dengan AP, perangkat lunak vendor memberikan alamat MAC instans untuk setiap tautan terkait.
Perangkat lunak vendor memberikan alamat MAC per tautan berdasarkan algoritmanya. Algoritme harus dapat diulang dan merupakan fungsi dari berikut ini:
- Alamat MAC STA-MLD diatur oleh kerangka Wi-Fi.
- ID Tautan (diterima dari AP)
Artinya, jika kerangka kerja menggunakan kembali alamat MAC MLD yang sama, vendor harus menggunakan kembali alamat MAC per instans terkait yang sama, dan sebaliknya. Hal ini menjamin bahwa ketika alamat STA-MLD yang dihasilkan kerangka kerja bersifat persisten untuk SSID, alamat MAC per-STA juga bersifat persisten.
Berikut adalah contoh algoritma untuk penetapan alamat MAC STA per-link (vendor dapat mengimplementasikan algoritma apa pun yang memenuhi kriteria algoritma):
- Oktet 0: Pastikan bit yang dikelola secara lokal telah disetel
- Oktet 1-4: Sama seperti Alamat MAC STA-MLD
- Oktet 5: Per-STA = (STA-MLD + ID tautan + 1) MOD (256)
Penanganan multi-tautan
Firmware vendor dapat melakukan peralihan tautan dan mengelola status hemat daya tautan untuk aktivasi atau penonaktifan tanpa masukan dari kerangka Wi-Fi.
Kerangka kerja Wi-Fi tidak mengharapkan pemberitahuan ketika status tautan diubah.
Pengelolaan negara hemat daya
Status hemat daya diaktifkan secara default pada kerangka Wi-Fi. Dalam status hemat daya, firmware vendor mengelola status hemat daya masing-masing tautan berdasarkan pola lalu lintas dan keputusan aktivasi atau penonaktifan tautan.
Namun, kerangka kerja Wi-Fi dapat memaksa status hemat daya dinonaktifkan dengan memanggil ISupplicantStaIface::setPowerSave(false)
HAL API. Jika status hemat daya dinonaktifkan oleh kerangka kerja, firmware vendor harus menjaga setidaknya satu tautan tetap aktif (hemat daya dinonaktifkan). Dalam keadaan ini, implementasi firmware memutuskan tautan mana yang disetel.
Jalur data
Ini menjelaskan implementasi firmware vendor untuk menangani lalu lintas uplink dan download.
Lalu lintas uplink
Firmware merutekan lalu lintas uplink ke satu (atau lebih) tautan berdasarkan implementasi internalnya. Firmware vendor memutuskan kapan harus melakukan penyeimbangan beban, duplikasi, atau agregasi lalu lintas berdasarkan pola lalu lintas. Kami merekomendasikan firmware menduplikasi lalu lintas ke beberapa tautan dalam kasus berikut:
- Ketika mode latensi rendah diatur melalui
IWifiChip#setLatencyMode()
HAL API. - Ketika ada lalu lintas dengan prioritas pengguna 6 dan 7.
Lalu lintas downlink
Firmware harus mengganti alamat MAC per-STA (tujuan) dari header MAC dengan MAC MLD-STA dan alamat MAC per-AP (sumber) dari header MAC dengan alamat MAC MLD-AP. Firmware harus melakukan substitusi alamat MAC ini sebelum melewati filter APF karena perintah filter APF memiliki filter berdasarkan alamat MAC MLD. Ada filter APF tunggal untuk semua tautan AP-MLD.
Konkurensi
Skenario konkurensi, dimana radio digunakan untuk antarmuka baru, harus memiliki prioritas dibandingkan mendedikasikan beberapa radio untuk link dari antarmuka yang sama. Skenario konkurensi juga harus diprioritaskan dibandingkan MLO, tidak peduli mana yang lebih dulu. Menggunakan banyak tautan untuk satu antarmuka bersifat oportunistik, artinya banyak tautan hanya digunakan ketika:
- MLO diperlukan berdasarkan keputusan firmware untuk penyeimbangan beban, agregasi, atau duplikasi.
- MLO tersedia , artinya radio tidak diperlukan oleh antarmuka lain.
Pemetaan TID-ke-link
Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, ketika Wi-Fi 7 AP mengumumkan penonaktifan sementara salah satu link melalui elemen pemetaan TID-ke-link yang dikirimkan dalam beacon, respons probe, dan frame respons asosiasi, Wi-Fi 7 stasiun melanjutkan koneksi dengan AP menggunakan sisa link yang telah diatur, tanpa melakukan asosiasi lain.
Untuk perangkat yang menjalankan Android 13 atau lebih rendah, framework Wi-Fi tidak mendukung penerimaan notifikasi ketika status link diubah karena pemetaan TID-ke-link, meskipun link terkait tidak tertaut ke TID.
AIDL HAL
Pemohon Wi-Fi memberi tahu kerangka Wi-Fi tentang perubahan pemetaan TID-ke-tautan melalui antarmuka AIDL berikut:
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/MloLinksInfo.aidl
Lebah
Aplikasi bisa mendapatkan informasi tentang perubahan pemetaan TID-ke-link dengan menggunakan API berikut:
-
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Callback jaringan dipicu oleh framework ketika ada perubahan pemetaan TID-ke-link. -
WifiInfo#getAssociatedMloLinks()
: Mengembalikan tautan MLO terkait. -
MloLink#getState()
: Mengembalikan status tautan,MLO_LINK_STATE_ACTIVE
atauMLO_LINK_STATE_IDLE
.
Kemampuan negosiasi pemetaan TID-to-link
Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, API berikut tersedia untuk mendapatkan kemampuan negosiasi peta TID-ke-link untuk stasiun dan AP.
Kemampuan chip
Antarmuka berikut mendukung kemampuan chip untuk negosiasi pemetaan TID-ke-link.
AIDL HAL
Antarmuka AIDL untuk negosiasi pemetaan TID-ke-link ada di FeatureSetMask
di hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
. Kemampuan T2LM_NEGOTIATION = 1 << 8
menunjukkan bahwa chip mendukung pemetaan TID-to-link. Lebah
-
WifiManager.isTidToLinkMappingNegotiationSupported()
: Mengembalikan chip yang mendukung negosiasi pemetaan TID-ke-link.
kemampuan AP
Antarmuka berikut mendukung kemampuan AP untuk negosiasi pemetaan TID-ke-link.
AIDL HAL
Kerangka kerja menanyakan kemampuan AP dari pemohon bersama dengan kemampuan koneksi saat ini.
-
apTidToLinkMapNegotiationSupported
: Memeriksa apakah AP mendukung kemampuan negosiasi peta TID-ke-link.
Lebah
-
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Mengembalikan apakah AP mendukung negosiasi pemetaan TID-ke-link.
Statistik lapisan tautan
Statistik lapisan tautan mencakup detail khusus tautan Wi-Fi seperti RSSI, berbagai penghitung paket TX dan RX, dan statistik radio. Kerangka kerja Wi-Fi secara berkala melakukan polling statistik lapisan tautan dan RSSI untuk memilih jaringan terbaik atau untuk mengevaluasi kualitas jaringan yang terhubung. Untuk perangkat yang menjalankan Android 14 atau lebih tinggi, statistik lapisan link menyertakan dukungan multi-link. Untuk mendukung Wi-Fi 7, Android mendukung MLO dalam statistik lapisan tautan dan polling sinyal.
Statistik khusus tautan ditemukan di antarmuka AIDL lapisan tautan berikut:
-
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
-
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
API sistem android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
mendengarkan semua statistik lapisan tautan. Kerangka kerja ini secara berkala memanggil API ini untuk memperbarui statistik kegunaan Wi-Fi.
API khusus link berikut tersedia di android.net.wifi.WifiUsabilityStatsEntry
.
int getRssi(int linkId)
int getLinkState(int linkId)
int getRadioId(int linkId)
int getTxLinkSpeedMbps(int linkId)
long getTotalTxSuccess(int linkId)
long getTotalTxRetries(int linkId)
long getTotalTxBad(int linkId)
long getTotalRxSuccess(int linkId)
long getTotalBeaconRx(int linkId)
int getRxLinkSpeedMbps(int linkId)
int getTimeSliceDutyCycleInPercent(int linkId)
ContentionTimeStats getContentionTimeStats(int linkId, @WmeAccessCategory int ac)
List<RateStats> getRateStats(int linkId)
Untuk menanyakan ID link yang tersedia, aplikasi dapat memanggil metode android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
.
API di android.net.wifi.WifiUsabilityStatsEntry
untuk tautan tunggal (bukan MLO) menampilkan statistik gabungan untuk koneksi MLO. Berikut kriteria agregasinya:
Statistik paket gabungan berikut menggunakan jumlah statistik per tautan:
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
Statistik berikut menggunakan data dari link dengan RSSI tertinggi:
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
Statistik lapisan tautan di Android 13
Untuk perangkat yang menjalankan Android 13, statistik lapisan link tidak memperhitungkan penggunaan beberapa link untuk satu antarmuka. Untuk mendukung MLO, perangkat lunak vendor harus menerapkan logika agregasi berikut saat melaporkan LinkLayerStats
melalui IWifi# getLinkLayerStats_1_6()
HAL API. Tautan terbaik adalah tautan dengan RSSI tertinggi.
-
StaLinkLayerStats.iface.beaconRx
: Laporkan jumlah suar untuk tautan terbaik yang digunakan untuk antarmuka. -
StaLinkLayerStats.iface.avgRssiMgmt
: LaporkanavgRssiMgmt
untuk tautan terbaik yang digunakan untuk antarmuka. -
StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): Laporkan statistik paket gabungan (total) melalui tautan antarmuka. -
StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): Laporkan statistik waktu pertikaian untuk tautan terbaik yang digunakan pada antarmuka (statistik waktu pertikaian terendah).
Konfigurasi ulang tautan MLO
Ketika salah satu tautan titik akses Wi-Fi 7 digunakan kembali, AP dapat mengumumkan penghapusan tautan tersebut melalui konfigurasi ulang tautan MLO. Stasiun dapat mempertahankan konektivitas tanpa batas dengan Titik Akses tanpa reassociation pada link yang tersisa.
Antarmuka onMloLinksInfoChanged
AIDL, yang terletak di pemohon Wi-Fi di ISupplicantStaIfaceCallback.aidl
, mendukung konfigurasi ulang tautan (penghapusan tautan AP).
Saat kerangka Wi-Fi memproses penghapusan tautan, status tautan diatur ke MLO_LINK_STATE_UNASSOCIATED
. Kerangka kerja ini kemudian memicu ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
untuk perubahan status tautan.
Metode WifiInfo#getAffiliatedMloLinks
mengembalikan Tautan MLO yang terafiliasi. Metode MloLink#getState
mengembalikan status tautan. Jika tautan dihapus, status tautan yang dikembalikan adalah MLO_LINK_STATE_UNASSOCIATED
.
Strategi chip MLO
MLO memungkinkan perangkat mengirim dan menerima data pada beberapa tautan Wi-Fi secara bersamaan, sehingga dapat meningkatkan kinerja aplikasi yang memiliki persyaratan khusus seperti latensi rendah, bandwidth tinggi, dan daya rendah. Vendor chip dapat mengembangkan algoritma tentang cara menggunakan tautan yang tersedia.
Aplikasi yang memiliki hak istimewa dapat memodifikasi algoritma ini menggunakan metode setMloMode
di Wifimanager
dan mengatur mode berikut:
-
MLO_MODE_DEFAULT = 0
-
MLO_MODE_LOW_LATENCY = 1
-
MLO_MODE_HIGH_THROUGHPUT = 2
-
MLO_MODE_LOW_POWER = 3
Kerangka kerja ini menggunakan setMloMode
di antarmuka IWifiChip
AIDL untuk mengatur mode MLO.