Untuk perangkat yang menjalankan Android 13 atau yang lebih tinggi, Android mendukung standar Wi-Fi 7 (IEEE 802.11be). Halaman ini menjelaskan fitur Wi-Fi Android 7, termasuk operasi dasar pengukuran dan multi-link (MLO).
Fitur dasar Wi-Fi 7
Bagian ini menjelaskan fitur Wi-Fi 7 dasar pengukuran yang disertakan dalam Android 13 dan yang lebih baru.
Dukungan Wi-Fi 7 perangkat
Framework Android menyertakan
WifiManager#isWifiStandardSupported(int standard)
API, 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
akan memeriksa apakah overlay 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 untuk produsen perangkat yang tidak memiliki driver yang menampilkan dukungan Wi-Fi 7. - Jika overlay disetel ke
false
(nilai default), modul Wi-Fi akan 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 dalam respons dari driver, perangkat diasumsikan mendukung Wi-Fi 7.
Dukungan Wi-Fi 7 AP yang dipindai
Framework Android menyertakan
int ScanResult#getWifiStandard()
API yang dapat dipanggil aplikasi untuk memeriksa apakah titik akses (AP) yang dipindai
mendukung Wi-Fi 7. Jika AP mendukung Wi-Fi 7, API akan menampilkan
ScanResults.WIFI_STANDARD_11BE
.
Perangkat tidak diwajibkan untuk mendukung Wi-Fi 7 agar aplikasi dapat menggunakan API ini.
Saat API ini dipanggil, modul Wi-Fi akan memeriksa apakah EHT Capability IE
ada dalam hasil pemindaian konektivitas yang ditampilkan. Jika EHT Capability IE
ada dalam
hasil pemindaian, AP yang dipindai mendukung Wi-Fi 7.
Class WifiTracker
AOSP menampilkan informasi dukungan ini pada antarmuka
pengguna saat dijalankan dalam mode panjang.
Mode koneksi STA
Framework Android menyertakan
int WifiInfo#getWifiStandard()
API, yang dapat dipanggil aplikasi untuk memeriksa apakah mode koneksi
stasiun (STA) saat ini adalah Wi-Fi 7. Mode koneksi STA adalah Wi-Fi 7 jika perangkat dan
AP yang terhubung mendukung Wi-Fi 7. Jika mode koneksi adalah Wi-Fi 7, API
akan menampilkan
ScanResults.WIFI_STANDARD_11BE
.
Saat getWifiStandard
dipanggil, modul Wi-Fi akan menentukan mode dengan
memanggil
ISupplicantStaIface#getConnectionCapabilities()
HAL API. Implementasi
HAL API ini di lapisan AIDL wpa_supplicant
memeriksa apakah
EHT Capability IE
ada di AssocReq
dan AssocRsp
selama
penyiapan koneksi.
Pilihan jaringan
Di Android 13, pemilihan jaringan menggunakan beberapa
parameter untuk menentukan AP yang akan dihubungkan. Salah satu parameternya adalah throughput AP yang diperkirakan, 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
kemungkinan untuk memilih AP yang kompatibel dengan Wi-Fi 7 jika perangkat dapat menggunakan fitur
ini.
Jangkauan berbasis RTT Wi-Fi
Android menyediakan dukungan API untuk awalan EHT dan lebar saluran 320 MHz untuk Wi-Fi RTT. Hal ini memungkinkan dukungan kemampuan terkait Wi-Fi 7 dalam RTT yang berkisar setiap kali didukung oleh chip.
HAL API
HAL API berikut mendukung kemampuan Wi-Fi 7 untuk pengukuran jarak berbasis RTT:
EHT
: Konstanta dienum RttPreamble
danenum WifiRatePreamble
WIDTH_320
: Konstanta dienum WifiChannelWidthInMhz
BW_320MHz
: Konstanta dienum RttBw
API
Aplikasi dapat menggunakan API berikut untuk pengukuran jarak berbasis RTT Wi-Fi 7:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
Soft AP
Android mendukung Wi-Fi 7 di Soft AP dan menyediakan fitur berikut.
Memulai Soft AP
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 menetapkan
HwModeParams#enable80211BE
boolean dalam
panggilan API IHostApd#addAccessPoint()
. Di lapisan AIDL hostapd, nilai ini
digunakan untuk menetapkan parameter hostapd.conf
.
HAL API
Boolean
enable80211BE
di HwModeParams
di HAL hostapd mendukung
memulai Soft AP dalam mode Wi-Fi 7.
Melaporkan informasi Soft AP
Android menyertakan dukungan API untuk menyertakan informasi lebar saluran Wi-Fi 7 dan 320 MHz dalam informasi Soft AP yang dilaporkan.
HAL API
Konstanta WIFI_STANDARD_11BE
di
antarmuka AIDL
Generation.aidl
di hostapd HAL, yang digunakan
dalam ApInfo
yang dilaporkan dalam callback
IHostapdCallback#onApInstanceInfoChanged()
, mendukung pelaporan informasi Soft AP.
API
Aplikasi dapat menggunakan metode berikut (API sistem) di
SoftApInfo
untuk melaporkan informasi Soft AP.
SoftApInfo#getWifiStandard()
: MenampilkanScanResults.WIFI_STANDARD_11BE
jika Soft AP dimulai dalam mode Wi-Fi 7.SoftApInfo#getBandwidth()
: MenampilkanSoftApInfo#CHANNEL_WIDTH_320MHZ
jika lebar saluran 320 MHz digunakan.
Fitur MLO Wi-Fi 7
Operasi multi-link (MLO) adalah 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 serentak maupun tidak serentak.
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 link memiliki alamat MAC AP atau STA yang terpisah. AP atau STA juga memiliki alamat MAC MLD untuk mengidentifikasi perangkat.
Representasi link MLO
Class
android.net.wifi.MloLink
mewakili link MLO. Class ini menyertakan parameter berikut:
int getLinkId()
: ID link seperti yang diiklankan oleh MLD AP.MacAddress getApMacAddress()
: MAC address AP. BSSID instance AP untuk link tersebut.MacAddress getStaMacAddress()
: Alamat MAC STA. Alamat MAC yang ditetapkan secara lokal untuk instance STA di link.int getChannel()
: Tautkan channel. Nomor saluran tautan.int getBand()
: Link band. Pita tautan.int getState()
: Status link. Dapat berupa salah satu status berikut:MLO_LINK_STATE_INVALID
: Tidak valid. Digunakan untuk kasus inisialisasi dan error.MLO_LINK_STATE_UNASSOCIATED
: Tidak dikaitkan. Link tidak dikaitkan dengan AP.MLO_LINK_STATE_IDLE
: Tidak ada aktivitas. Link dikaitkan, tetapi tidak aktif (tidak ada ID traffic (TID) yang dipetakan ke link).MLO_LINK_STATE_ACTIVE
: Aktif. Link dikaitkan dan aktif (setidaknya satu TID dipetakan ke link). Link aktif dapat berada dalam mode hemat daya karena framework tidak memantau status daya link.
Informasi MLO AP Wi-Fi 7 yang dipindai
Aplikasi dapat mendapatkan parameter MLO untuk MLD AP Wi-Fi 7 saat modul Wi-Fi
menerima
objek
ScanResult
dari AP-MLD. WifiTracker
AOSP menampilkan parameter MLO saat
berjalan dalam mode panjang.
Modul Wi-Fi mengumpulkan informasi MLO dengan melakukan hal berikut:
- Mengurai elemen informasi multi-link (IE) yang disertakan dalam respons beacon atau probe untuk membaca alamat MAC MLD AP dan ID link saat ini.
- Mengurai IE pengurangan tetangga Report (RNR) yang disertakan dalam respons beacon atau pemeriksaan untuk membaca daftar informasi link terafiliasi.
API
Untuk mendapatkan informasi AP MLO yang dipindai, aplikasi dapat menggunakan API berikut:
ScanResult#BSSID
: Alamat MAC instance AP (untuk link tempat hasil pemindaian diterima)MacAddress ScanResult#getApMldMacAddress()
: Menampilkan alamat MAC MLD AP.int ScanResult#getApMloLinkId()
: Menampilkan ID link untuk link tempat ScanResult diterima.List<MloLink> ScanResult#getAffiliatedMloLinks()
: Menampilkan daftar objekMloLink
untuk semua link yang diiklankan oleh AP-MLD, termasuk link tempat ScanResult diterima.
Informasi MLO AP Wi-Fi 7 yang terhubung
Saat perangkat terhubung ke AP-MLD Wi-Fi 7, framework akan mengumpulkan parameter MLO koneksi dari objek WifiInfo
. Objek WifiTracker
AOSP
menampilkan informasi ini saat berjalan dalam mode panjang.
Saat perangkat terhubung dengan AP-MLD, modul Wi-Fi akan menyalin informasi MLO
dari objek ScanResult
yang diterima dari AP. Modul kemudian
memanggil ISupplicantStaIface#getConnectionMloLinksInfo()
HAL API
untuk membaca alamat MAC setiap link untuk AP dan STA, serta memperbarui
status link yang terkait.
API
Untuk mendapatkan informasi koneksi MLO, aplikasi dapat menggunakan API berikut:
WifiInfo#getBSSID()
: Menampilkan alamat MAC instance AP (untuk link tempat perangkat dikaitkan).MacAddress WifiInfo#getApMldMacAddress()
: Menampilkan alamat MAC MLD AP.int WifiInfo#getApMloLinkId()
: Menampilkan ID link untuk link yang dikaitkan dengan STA dengan AP.List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Menampilkan daftar objekMloLink
untuk semua link yang diiklankan oleh AP-MLD termasuk link terkait. Alamat MAC AP dan STA dapat dikueri di setiap objekMloLink
.
Pemindaian AP-MLD
Software vendor ini menyediakan framework Wi-Fi dengan hasil pemindaian untuk setiap respons pemeriksaan atau beacon yang diterimanya. Artinya, framework Wi-Fi:
- Mungkin menerima beberapa objek
ScanResults
dari AP-MLD yang sama (karena AP dapat memiliki beberapa link beaconing). - Mungkin hanya menerima sebagian hasil pemindaian untuk link AP dari AP-MLD karena beberapa sinyal link ini mungkin tidak diterima oleh firmware.
Laporan software vendor ini hanya memindai hasil yang diterima secara over the air (OTA), dan tidak boleh membuat (menyintesis hasil pemindaian secara artifisial) berdasarkan link yang diiklankan oleh AP-MLD.
Software vendor harus menyertakan multi-link varian dasar dan IE RNR yang diterima dari instance AP dalam hasil pemindaian yang dilaporkan. Jika detail AP yang terafiliasi tidak ada dalam hasil pemindaian, software vendor dapat mengirim permintaan pemeriksaan multi-link (frame permintaan pemeriksaan yang mencakup elemen permintaan multi-link Permintaan) untuk menyertakan serangkaian kemampuan, parameter, dan elemen operasi AP lengkap atau parsial dengan AP-MLD yang ditargetkan dalam frame respons.
Software vendor dapat memicu pemeriksaan ML (menggunakan ML IE varian permintaan pemeriksaan dalam frame permintaan pemeriksaan) jika diperlukan.
Asosiasi jaringan AP-MLD
Saat perangkat bergabung ke jaringan AP-MLD, software vendor menggunakan link AP yang dipilih (link terkait) untuk sinyal. Software vendor dapat dikaitkan dengan semua atau beberapa link yang didukung oleh perangkat.
Setelah pengaitan berhasil, driver melaporkan
ISupplicantStaIfaceCallback#onStateChanged()
dengan BSSID link untuk
AP-MLD. Driver kemudian memilih link AP-MLD asalkan hasil pemindaian dilaporkan ke framework untuk link tersebut.
Penskoran jaringan
Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, Pemilihan Jaringan Wi-Fi Android mendukung Wi-Fi 7 MLO. Artinya, Android memilih jaringan Wi-Fi terbaik untuk perangkat berdasarkan jumlah link yang tersedia untuk MLO.
Untuk mendukung MLO, algoritma pemilihan jaringan menggunakan kemampuan MLO berikut dari chip Wi-Fi:
- Jumlah link STR maksimum
- Jumlah penautan asosiasi maksimum
- Kombinasi band simultan
Gambar 2. Pilihan jaringan MLO.
Jumlah link STR maksimum
Transmisi dan penerimaan simultan (STR) adalah skema pertentangan media Wi-Fi untuk operasi multi-link. Isolasi sinyal antar-link yang berbeda sudah memadai sehingga link dapat beroperasi secara independen dan mampu mengirim serta menerima secara bersamaan di link yang berbeda. STR berbeda dengan STA link tunggal (SL) lama dan STA dual band dual serentak (DBDC) lama. STA yang berafiliasi dengan STA MLD memiliki nomor urutan pemancar (SN) yang sama dan ruang umum untuk transmisi data yang dialokasikan ke link yang berbeda jika transmisi beberapa link memiliki kategori akses (AC) yang sama.
Jumlah maksimum link STR yang digunakan dapat berbeda dengan jumlah maksimum radio yang didukung oleh chip. Pada contoh dalam Gambar 2, jumlah link STR maksimum adalah 2.
Antarmuka HAL AIDL berikut mendukung jumlah link STR maksimum dan jumlah maksimum kemampuan jumlah link pengaitan:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Jumlah maksimum link pengaitan
Beberapa link dapat beroperasi di satu radio menggunakan skema pertentangan, Enhanced Multi-Link Single Radio (eMLSR). Perangkat multi-link menggunakan eMLSR melalui serangkaian link jika dapat menerima frame kontrol dasar tertentu dan melakukan penilaian saluran yang jelas (CCA) secara bersamaan pada serangkaian link. Namun, MLD mengirimkan atau menerima data hanya pada satu link (link dipilih secara dinamis di setiap periode peluang transmisi (TXOP)) pada satu waktu.
Stasiun MLD dapat memaksimalkan jumlah link pengaitan untuk keandalan yang lebih baik, throughput yang lebih baik, dan latensi yang lebih rendah (dibandingkan dengan satu link stasiun lama) dengan beroperasi secara serentak di STR dan eMLSR jika didukung oleh chip. Pada Gambar 2, jumlah link pengaitan maksimum adalah 3.
Antarmuka HAL AIDL berikut mendukung kemampuan jumlah link pengaitan maksimum:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kombinasi band simultan
Framework mengkueri chip untuk mendapatkan kombinasi radio yang diizinkan (melalui
antarmuka AIDL IWifiChip.aidl
) yang dapat beroperasi secara bersamaan. Dari informasi
ini, framework akan mendapatkan kemungkinan kombinasi band serentak. Berikut
adalah contoh daftar kombinasi band simultan (GHz):
- 2.4
- 5
- 6
- 2,4 x 5
- 2,4 x 6
- 5 x 6
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 menurut anggota dengan alamat MAC MLD yang sama. Skor throughput multi-link maksimum yang diprediksi dihitung untuk setiap grup, berdasarkan jumlah link STR maksimum dan kombinasi band simultan yang didukung oleh chip. Jika kandidat memiliki kemampuan multi-link dan chip mendukung STR, skor throughput yang diprediksi akan diganti dengan skor throughput yang diprediksi multi-link. Hal ini memberikan peningkatan pada kandidat MLO selama pemilihan jaringan.
Saat bergabung ke jaringan AP-MLD, framework akan melakukan pemilihan SSID berdasarkan
informasi yang diterima di objek ScanResults
seperti yang dilaporkan oleh software
vendor. Setelah SSID dipilih oleh framework, software vendor
bertanggung jawab untuk memilih BSSID untuk AP (atau link AP) terbaik yang akan digunakan untuk
asosiasi.
Penanganan alamat MAC STA perangkat
Bagian ini menjelaskan cara penanganan alamat MAC STA perangkat (alamat MAC MLD dan alamat MAC STA per link).
Alamat MAC MLD
Framework 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 acak atau alamat MAC yang disediakan hardware
berdasarkan pilihan pengguna. Alamat MAC MLD ditetapkan oleh framework
menggunakan IWifiStaIface#setMacAddress()
HAL API.
Alamat MAC STA Per-Link
Software vendor mengelola alamat MAC STA instance (untuk setiap link). Saat perangkat dikaitkan dengan AP, software vendor menetapkan alamat MAC instance untuk setiap link terkait.
Software vendor menetapkan alamat MAC per link berdasarkan algoritmanya. Algoritma harus dapat diulang dan merupakan fungsi dari hal berikut:
- Alamat MAC STA-MLD yang ditetapkan oleh framework Wi-Fi.
- ID link (diterima dari AP)
Artinya, jika framework menggunakan kembali alamat MAC MLD yang sama, vendor harus menggunakan kembali alamat MAC per instance yang terkait yang sama, dan sebaliknya. Hal ini menjamin bahwa ketika alamat STA-MLD yang dihasilkan framework bersifat persisten untuk SSID, alamat MAC per-STA juga akan tetap sama.
Berikut adalah contoh algoritme untuk penetapan alamat MAC STA per link (vendor dapat menerapkan algoritma apa pun yang memenuhi kriteria algoritme):
- Oktet 0: Pastikan bit yang dikelola secara lokal telah disetel
- Octet 1-4: Sama dengan Alamat MAC STA-MLD
- Oktet 5: Per-STA = (STA-MLD + ID link + 1) MOD (256)
Penanganan multi-link
Firmware vendor dapat melakukan pengalihan link dan mengelola status hemat daya link untuk aktivasi atau penonaktifan tanpa input dari framework Wi-Fi.
Framework Wi-Fi tidak mengharapkan notifikasi saat status link diubah.
Pengelolaan status hemat daya
Status penghematan daya diaktifkan secara default di framework Wi-Fi. Dalam status hemat daya, firmware vendor mengelola status hemat daya setiap link berdasarkan pola traffic dan keputusan pengaktifan atau penonaktifan link.
Namun, framework Wi-Fi dapat memaksa status penghematan daya dinonaktifkan dengan
memanggil ISupplicantStaIface::setPowerSave(false)
HAL API. Jika
status penghematan daya dinonaktifkan oleh framework, firmware vendor harus mempertahankan
setidaknya satu link aktif (penghematan daya dinonaktifkan). Dalam status ini, implementasi firmware
akan menentukan link mana yang ditetapkan.
Jalur data
Bagian ini menjelaskan implementasi firmware vendor untuk menangani traffic uplink dan download.
Traffic uplink
Firmware merutekan traffic uplink ke satu (atau beberapa) link berdasarkan implementasi internalnya. Firmware vendor memutuskan kapan harus melakukan load balancing, duplikasi, atau agregasi traffic berdasarkan pola traffic. Sebaiknya firmware menduplikasi traffic ke beberapa link dalam kasus berikut:
- Saat mode latensi rendah ditetapkan melalui
IWifiChip#setLatencyMode()
HAL API. - Jika ada traffic dengan prioritas pengguna 6 dan 7.
Traffic downlink
Firmware harus mengganti alamat MAC per-STA (tujuan) header MAC dengan MAC MLD-STA dan alamat MAC per-AP (sumber) pada header MAC dengan alamat MAC MLD-AP. Firmware harus melakukan penggantian alamat MAC ini sebelum meneruskan filter APF karena perintah filter APF memiliki filter berdasarkan alamat MAC MLD. Ada satu filter APF untuk semua link AP-MLD.
Serentak
Skenario konkurensi, saat radio digunakan untuk antarmuka baru, harus memiliki prioritas daripada menetapkan beberapa radio untuk link antarmuka yang sama. Skenario konkurensi juga harus diprioritaskan daripada MLO, apa pun yang muncul terlebih dahulu. Menggunakan beberapa link untuk satu antarmuka bersifat oportunistik, yang berarti beberapa link hanya digunakan jika:
- MLO diperlukan berdasarkan keputusan firmware untuk load balancing, agregasi, atau duplikasi.
- MLO tersedia, yang berarti radio tidak diperlukan oleh antarmuka lain.
Pemetaan TID ke link
Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, saat AP Wi-Fi 7 mengumumkan penonaktifan sementara salah satu link melalui elemen pemetaan TID ke link yang dikirim dalam frame respons beacon, probe, dan respons pengaitan, stasiun Wi-Fi 7 akan melanjutkan koneksi dengan AP menggunakan link yang tersisa yang disiapkan, tanpa melakukan pengaitan lain.
Untuk perangkat yang menjalankan Android 13 atau yang lebih rendah, framework Wi-Fi tidak mendukung penerimaan notifikasi saat status link berubah karena pemetaan TID ke link, meskipun link terkait tidak ditautkan ke TID.
AIDL HAL
Pemohon Wi-Fi memberi tahu framework Wi-Fi tentang perubahan pemetaan TID ke link 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
API
Aplikasi dapat mendapatkan informasi tentang perubahan pemetaan TID ke link menggunakan API berikut:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Callback jaringan yang dipicu oleh framework saat ada perubahan pemetaan TID ke link.WifiInfo#getAssociatedMloLinks()
: Menampilkan link MLO terkait.MloLink#getState()
: Menampilkan status link,MLO_LINK_STATE_ACTIVE
atauMLO_LINK_STATE_IDLE
.
Kemampuan negosiasi pemetaan TID-ke-link
Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, API berikut tersedia untuk mendapatkan kemampuan negosiasi peta TID-to-link untuk stasiun dan AP.
Kemampuan chip
Antarmuka berikut mendukung kemampuan chip untuk negosiasi pemetaan TID-to-link.
AIDL HAL
Antarmuka AIDL untuk negosiasi pemetaan TID-to-link berada di FeatureSetMask
di hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
. Kemampuan
T2LM_NEGOTIATION = 1 << 8
menunjukkan bahwa chip mendukung
pemetaan ID ke link.
API
WifiManager.isTidToLinkMappingNegotiationSupported()
: Menampilkan chip yang mendukung negosiasi pemetaan TID ke link.
Kemampuan AP
Antarmuka berikut mendukung kemampuan AP untuk negosiasi pemetaan TID ke link.
HAL AIDL
Framework mengkueri kemampuan AP dari pemohon bersama dengan kemampuan koneksi saat ini.
apTidToLinkMapNegotiationSupported
: Memeriksa apakah AP mendukung kemampuan negosiasi peta TID-to-link.
API
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Menampilkan apakah AP mendukung negosiasi pemetaan TID ke link.
Statistik lapisan link
Statistik lapisan link mencakup detail khusus link Wi-Fi seperti RSSI, berbagai penghitung paket TX dan RX, serta statistik radio. Framework Wi-Fi secara berkala memeriksa statistik lapisan link dan RSSI untuk memilih jaringan terbaik atau mengevaluasi kualitas jaringan yang terhubung. Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, statistik lapisan link mencakup dukungan multi-link. Untuk mendukung Wi-Fi 7, Android mendukung MLO dalam statistik lapisan link dan polling sinyal.
Statistik khusus link ditemukan di antarmuka AIDL lapisan link 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()
memproses semua statistik lapisan link. Framework 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 mengkueri ID link yang tersedia, aplikasi dapat memanggil metode android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
.
API di
android.net.wifi.WifiUsabilityStatsEntry
untuk satu link (bukan MLO) menampilkan statistik gabungan untuk koneksi MLO. Berikut
adalah kriteria agregasi:
Statistik paket gabungan berikut menggunakan jumlah statistik per link:
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 link di Android 13
Untuk perangkat yang menjalankan Android 13, statistik lapisan link
tidak memperhitungkan
penggunaan beberapa link untuk satu antarmuka. Untuk mendukung MLO, software vendor
harus menerapkan logika agregasi berikut saat melaporkan LinkLayerStats
melalui IWifi# getLinkLayerStats_1_6()
HAL API. Link terbaik adalah
link dengan RSSI tertinggi.
StaLinkLayerStats.iface.beaconRx
: Melaporkan jumlah beacon untuk link terbaik yang digunakan untuk antarmuka.StaLinkLayerStats.iface.avgRssiMgmt
: MelaporkanavgRssiMgmt
untuk link terbaik yang digunakan untuk antarmuka.StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): Melaporkan statistik paket gabungan (total) melalui link antarmuka.StaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): Melaporkan statistik waktu pertentangan untuk link terbaik yang digunakan di antarmuka (statistik waktu pertentangan terendah).
Konfigurasi ulang link MLO
Saat salah satu link titik akses Wi-Fi 7 digunakan kembali, AP dapat mengumumkan penghapusan link melalui konfigurasi ulang link MLO. Sebuah stasiun dapat mempertahankan konektivitas yang lancar dengan AP tanpa pengaitan ulang pada link yang tersisa.
Antarmuka
AIDL
onMloLinksInfoChanged
, yang terletak di pemohon Wi-Fi di
ISupplicantStaIfaceCallback.aidl
,
mendukung konfigurasi ulang link (penghapusan link oleh AP).
Saat framework Wi-Fi memproses penghapusan link, status link ditetapkan
ke
MLO_LINK_STATE_UNASSOCIATED
.
Framework ini kemudian memicu
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
untuk perubahan status link.
Metode
WifiInfo#getAffiliatedMloLinks
menampilkan Link MLO yang berafiliasi. Metode
MloLink#getState
akan menampilkan status link. Jika link dihapus, status link
yang ditampilkan adalah
MLO_LINK_STATE_UNASSOCIATED
.
Strategi MLO Chip
MLO memungkinkan perangkat mengirim dan menerima data di beberapa link Wi-Fi secara bersamaan, yang dapat meningkatkan performa untuk aplikasi yang memiliki persyaratan tertentu seperti latensi rendah, bandwidth tinggi, dan daya rendah. Vendor chip dapat mengembangkan algoritma tentang cara menggunakan link yang tersedia.
Aplikasi dengan hak istimewa dapat memodifikasi algoritma ini menggunakan metode
setMloMode
dalam Wifimanager
dan menetapkan
mode berikut:
MLO_MODE_DEFAULT = 0
MLO_MODE_LOW_LATENCY = 1
MLO_MODE_HIGH_THROUGHPUT = 2
MLO_MODE_LOW_POWER = 3
Framework ini menggunakan
setMloMode
di antarmuka AIDL IWifiChip
untuk menetapkan mode MLO.