Untuk perangkat yang menjalankan Android 13 atau yang lebih tinggi, Android mendukung standar Wi-Fi 7 (IEEE 802.11be). Halaman ini menjelaskan Android Fitur Wi-Fi 7, termasuk dasar pengukuran dan operasi multi-link (MLO).
Fitur dasar Wi-Fi 7
Bagian ini menjelaskan fitur dasar Wi-Fi 7 yang disertakan dalam Android 13 dan yang lebih baru.
Dukungan Wi-Fi 7 perangkat
Framework Android berisi
WifiManager#isWifiStandardSupported(int standard)
yang dapat dipanggil aplikasi dengan
ScanResults.WIFI_STANDARD_11BE
, untuk memeriksa apakah perangkat mendukung Wi-Fi 7.
Ketika API ini dipanggil,
Modul Wi-Fi
memeriksa apakah overlay konfigurasi config_wifi11beSupportOverride
digunakan sebagai penggantian dan melakukan hal berikut:
- Jika overlay disetel ke
true
, perangkat dianggap mendukung Wi-Fi 7 terlepas dari tanggapan dari nl80211. Penggantian ini hanya berguna untuk produsen perangkat yang tidak memiliki {i>driver<i} yang mengembalikan dukungan Wi-Fi 7. - Jika overlay disetel ke
false
(nilai default), modul Wi-Fi menggunakan informasi dari nl80211. Modul Wi-Fi meminta informasi dari {i>wificond<i}, yang memanggil perintah nl80211NL80211_CMD_GET_WIPHY
. Jika AtributNL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
ada dalam respons dari {i>driver<i}, perangkat dianggap mendukung Wi-Fi 7.
Dukungan AP Wi-Fi 7 yang dipindai
Framework Android berisi
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 harus mendukung Wi-Fi 7 agar aplikasi dapat menggunakan API ini.
Ketika API ini dipanggil, modul Wi-Fi akan memeriksa apakah EHT Capability IE
dalam hasil pemindaian konektivitas yang ditampilkan. Jika EHT Capability IE
ada di
hasil pemindaian, AP yang dipindai
mendukung Wi-Fi 7.
Class WifiTracker
AOSP menampilkan informasi dukungan ini pada pengguna
antarmuka saat beroperasi
dalam mode panjang.
Mode koneksi STA
Framework Android berisi
int WifiInfo#getWifiStandard()
API, yang dapat dipanggil aplikasi untuk memeriksa apakah koneksi stasiun saat ini (STA)
Wi-Fi 7. Mode koneksi STA adalah
Wi-Fi 7 ketika perangkat dan
AP yang terhubung
mendukung Wi-Fi 7. Jika mode koneksinya adalah Wi-Fi 7, API
mengembalikan
ScanResults.WIFI_STANDARD_11BE
Ketika getWifiStandard
dipanggil, modul Wi-Fi menentukan mode dengan
memanggil
ISupplicantStaIface#getConnectionCapabilities()
HAL API. Tujuan
implementasi HAL API ini di lapisan AIDL wpa_supplicant
memeriksa apakah
EHT Capability IE
berada di AssocReq
dan AssocRsp
selama
pengaturan koneksi.
Pilihan jaringan
Di Android 13, pemilihan jaringan menggunakan beberapa
parameter untuk menentukan AP mana yang akan dihubungkan. Salah satu parameternya adalah
estimasi throughput AP, yang diperkirakan menggunakan
Blok ThroughputPredictor
. Tujuan
Blok ThroughputPredictor
menggunakan parameter PHY perangkat dan
memindai AP.
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 untuk memilih AP yang mendukung Wi-Fi 7
ketika perangkat dapat memanfaatkannya
baru.
Jangkauan berbasis RTT Wi-Fi
Android menyediakan dukungan API untuk field preamble EHT dan lebar saluran 320 MHz untuk Wi-Fi RTT. Hal ini memungkinkan dukungan kemampuan terkait Wi-Fi 7 dalam rentang RTT setiap kali yang didukung oleh chip tersebut.
HAL API
API HAL berikut mendukung kemampuan Wi-Fi 7 untuk rentang berbasis RTT:
EHT
: Konstanta masukenum RttPreamble
danenum WifiRatePreamble
WIDTH_320
: Konstanta masukenum WifiChannelWidthInMhz
BW_320MHz
: Konstanta masukenum RttBw
API
Aplikasi dapat menggunakan API berikut untuk rentang berbasis Wi-Fi 7 RTT:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
AP ringan
Android mendukung Wi-Fi 7 di Soft AP dan menyediakan hal berikut baru.
Mulai Soft AP
Android mendukung memulai Soft AP dalam mode Wi-Fi 7.
Ini diatur oleh overlay config_wifiSoftapIeee80211beSupported
konfigurasi Anda.
Modul Wi-Fi menggunakan config_wifiSoftapIeee80211beSupported
overlay untuk menyetel
boolean HwModeParams#enable80211BE
di
Panggilan API IHostApd#addAccessPoint()
. Di lapisan AIDL yang dihosting, nilai ini
digunakan untuk menyetel parameter hostapd.conf
.
HAL API
Tujuan
enable80211BE
boolean di HwModeParams
dalam hostapd HAL yang didukung
memulai Soft AP dalam mode Wi-Fi 7.
Melaporkan informasi Soft AP
Android menyertakan dukungan API untuk menyertakan lebar saluran Wi-Fi 7 dan 320 MHz informasi dalam informasi Soft AP yang dilaporkan.
HAL API
Konstanta WIFI_STANDARD_11BE
di
Generation.aidl
Antarmuka AIDL di HAL {i>
hostapd<i}, yang digunakan
di ApInfo
yang dilaporkan di IHostapdCallback#onApInstanceInfoChanged()
, mendukung pelaporan informasi Soft AP.
API
Aplikasi dapat menggunakan metode berikut (API sistem) di
SoftApInfo
untuk melaporkan informasi Soft AP.
SoftApInfo#getWifiStandard()
: HasilScanResults.WIFI_STANDARD_11BE
jika Soft AP dimulai dalam mode Wi-Fi 7.SoftApInfo#getBandwidth()
: HasilSoftApInfo#CHANNEL_WIDTH_320MHZ
jika digunakan lebar saluran 320 MHz.
Fitur MLO Wi-Fi 7
Multi-link Operations (MLO) adalah fitur utama di Wi-Fi 7 (802.11be) spesifikasi pendukung. MLO adalah fitur wajib untuk perangkat multi-link (MLD) yang berjalan di Wi-Fi 7, baik secara serentak atau tidak serentak.
Gambar 1. Diagram MLO.
Seperti yang ditunjukkan pada Gambar 1, baik AP-MLD dan STA-MLD memiliki beberapa AP atau STA instance yang berjalan di setiap link. Setiap tautan memiliki alamat MAC AP atau STA yang terpisah. AP atau STA juga memiliki alamat MAC MLD untuk mengidentifikasi perangkat.
Representasi link MLO
Tujuan
android.net.wifi.MloLink
mewakili link MLO. Class ini menyertakan parameter berikut:
int getLinkId()
: ID link seperti yang diiklankan oleh AP MLD.MacAddress getApMacAddress()
: Alamat MAC AP. BSSID instance AP untuk link tersebut.MacAddress getStaMacAddress()
: Alamat MAC STA. Alamat MAC yang ditetapkan secara lokal untuk {i>instance<i} STA di tautan.int getChannel()
: Tautkan channel. Nomor saluran tautan.int getBand()
: Tali smartwatch link. 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 tersebut tidak terkait dengan AP.MLO_LINK_STATE_IDLE
: Tidak Ada Aktivitas. Link dikaitkan, tetapi tidak aktif (tidak ada ID traffic (TID) dipetakan ke link).MLO_LINK_STATE_ACTIVE
: Aktif. Tautan dikaitkan dan aktif (setidaknya satu TID dipetakan ke {i>link<i} tersebut). Tautan aktif dapat berada dalam mode hemat daya karena kerangka kerja ini tidak memantau status daya tautan.
Informasi Wi-Fi 7 AP MLO yang dipindai
Aplikasi bisa mendapatkan parameter MLO untuk Wi-Fi 7 AP MLD saat modul Wi-Fi
menerima
ScanResult
dari AP-MLD. WifiTracker
AOSP menampilkan parameter MLO saat
yang berjalan dalam mode panjang.
Modul Wi-Fi mengumpulkan informasi MLO dengan melakukan hal berikut:
- Mengurai elemen informasi multi-link (IE) yang tercakup dalam beacon atau respons penyelidikan untuk membaca alamat MAC MLD AP dan ID tautan saat ini.
- Mengurai IE yang dikurangi tetangga Report (RNR) yang disertakan dalam beacon atau probe untuk membaca daftar informasi link yang berafiliasi.
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 dari 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 tautan tempat {i>ScanResult<i} diterima.
Informasi MLO AP Wi-Fi yang terhubung
Saat perangkat terhubung ke Wi-Fi 7 AP-MLD, framework mengumpulkan
Parameter MLO koneksi dari objek WifiInfo
. AOSP
Objek WifiTracker
menampilkan informasi ini saat dijalankan dalam mode panjang.
Ketika perangkat terhubung dengan AP-MLD, modul Wi-Fi akan menyalin MLO
informasi dari objek ScanResult
yang diterima dari AP. Modul ini kemudian
memanggil ISupplicantStaIface#getConnectionMloLinksInfo()
HAL API
untuk membaca alamat MAC dari setiap tautan
untuk AP dan STA, dan untuk memperbarui
status tautan yang terkait.
API
Untuk mendapatkan informasi koneksi MLO, aplikasi dapat menggunakan API berikut:
WifiInfo#getBSSID()
: Mengembalikan alamat MAC instance AP (untuk tautan tempat perangkat berada yang terkait).MacAddress WifiInfo#getApMldMacAddress()
: Menampilkan alamat MAC MLD dari AP.int WifiInfo#getApMloLinkId()
: Menampilkan ID penautan untuk tautan yang dikaitkan dengan STA dengan AP.List<MloLink> WifiInfo#getAffiliatedMloLinks()
: Menampilkan daftar objekMloLink
untuk semua link yang diiklankan oleh AP-MLD termasuk link terkait. Baik alamat MAC AP dan STA dapat dikueri pada setiap objekMloLink
.
Pemindaian AP-MLD
Perangkat lunak vendor menyediakan kerangka kerja Wi-Fi dengan hasil pemindaian untuk setiap respons satelit atau beacon yang diterima. Ini berarti bahwa Wi-Fi kerangka kerja:
- Mungkin menerima beberapa objek
ScanResults
dari AP-MLD yang sama (karena AP dapat memiliki beberapa tautan beaconing). - Mungkin hanya menerima sebagian hasil pemindaian untuk tautan AP dari AP-MLD karena beberapa sinyal tautan ini mungkin tidak diterima oleh {i>firmware<i}.
Perangkat lunak vendor hanya melaporkan hasil pemindaian yang diterima secara {i>over the air<i}, dan harus tidak membuat (menyintesis secara artifisial) hasil pemindaian berdasarkan tautan yang diiklankan dengan AP-MLD.
Software vendor harus menyertakan multi-link varian dasar dan IE RNR yang diterima dari {i>instance<i} AP dalam hasil pemindaian yang dilaporkan. Jika AP terafiliasi detail yang hilang dalam hasil pemindaian, perangkat lunak vendor dapat mengirim tautan permintaan penyelidikan (frame permintaan penyelidikan yang mencakup pemeriksaan Meminta multi-link ) untuk menyertakan seperangkat kemampuan, parameter, dan elemen operasi AP dengan AP-MLD yang ditargetkan di kerangka respons yang jelas.
Perangkat lunak vendor dapat memicu pemeriksaan ML (menggunakan varian permintaan pemeriksaan ML IE dalam frame req pemeriksaan) jika diperlukan.
Asosiasi jaringan AP-MLD
Ketika perangkat bergabung dengan jaringan AP-MLD, perangkat lunak vendor menggunakan alamat AP (link terkait) untuk pemberian sinyal. Perangkat lunak vendor dapat hubungkan ke semua atau beberapa tautan yang didukung oleh perangkat.
Setelah pengaitan berhasil, pengemudi melaporkan
ISupplicantStaIfaceCallback#onStateChanged()
dengan BSSID link untuk
AP-MLD. Pengemudi kemudian memilih tautan
AP-MLD asalkan bahwa
hasil pemindaian dilaporkan ke
kerangka kerja untuk tautan tersebut.
Penilaian jaringan
Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, Pemilihan Jaringan Wi-Fi Android mendukung Wi-Fi 7 MLO. Ini berarti Android memilih yang terbaik Jaringan Wi-Fi untuk perangkat berdasarkan jumlah link yang tersedia untuk MLO.
Untuk mendukung MLO, algoritma pemilihan jaringan menggunakan MLO berikut kemampuan dari chip Wi-Fi:
- Jumlah link STR maksimum
- Jumlah maksimum link pengaitan
- Kombinasi band simultan
Gambar 2. Pemilihan jaringan MLO.
Jumlah link STR maksimum
Pengiriman dan penerimaan simultan (STR) adalah skema pertentangan medium Wi-Fi untuk multi-link. Isolasi sinyal di antara link yang berbeda sudah cukup sehingga tautan dapat beroperasi secara independen dan mampu mengirimkan dan secara bersamaan di tautan yang berbeda. STR berbeda dengan single lama (SL) STA dan STA dual band dual band lama (DBDC) yang lama. STA terafiliasi dengan STA MLD yang memiliki kesamaan nomor urut pemancar (SN) dan ruang untuk transmisi data yang dialokasikan ke tautan yang berbeda jika beberapa tautan memiliki kategori akses (AC) yang sama.
Jumlah maksimum link STR yang digunakan dapat berbeda dari jumlah maksimum radio yang didukung oleh chip tersebut. Pada contoh pada Gambar 2, STR maksimum jumlah link adalah 2.
Antarmuka AIDL HAL 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 tautan dapat beroperasi pada satu radio menggunakan skema pertentangan, Enhanced Multi-Link Single Radio (eMLSR). Perangkat multi-link menggunakan eMLSR melalui jaringan tautan jika ia dapat menerima {i>frame <i}kontrol dasar tertentu dan melakukan penilaian channel (CCA) secara bersamaan di kumpulan link. Namun, MLD mengirimkan atau menerima data hanya pada satu tautan (tautan dipilih secara dinamis di setiap periode peluang transmisi (TXOP) pada satu waktu.
Stasiun MLD dapat memaksimalkan jumlah tautan pengaitan untuk keandalan, throughput yang lebih baik, dan latensi yang lebih rendah (dibandingkan dengan link tunggal stasiun lama) dengan beroperasi secara serentak di STR dan eMLSR jika didukung oleh {i>chip<i}. Pada Gambar 2, jumlah maksimum tautan pengaitan adalah 3.
Antarmuka AIDL HAL berikut mendukung jumlah link asosiasi maksimum kemampuan:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kombinasi band simultan
Framework ini mengkueri chip untuk mendapatkan kombinasi radio yang diizinkan (melalui
antarmuka AIDL IWifiChip.aidl
) yang dapat beroperasi secara bersamaan. Dari sini
informasi, kerangka kerja ini menghasilkan kemungkinan kombinasi pita secara simultan. Tujuan
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 adalah dihitung untuk setiap grup, berdasarkan jumlah maksimum tautan STR dan kombinasi band yang didukung oleh chip tersebut. Jika kandidat mampu melakukan multi-link dan chip tersebut mendukung STR, prediksi skor throughput diganti dengan skor throughput berbasis multi-link. Hal ini memberikan dorongan kepada kandidat MLO selama pemilihan jaringan.
Saat bergabung dengan jaringan AP-MLD, framework melakukan pemilihan SSID berdasarkan
informasi yang diterima dalam objek ScanResults
seperti yang dilaporkan oleh vendor
{i>software<i}. Setelah pemilihan SSID oleh kerangka kerja, perangkat lunak vendor
bertanggung jawab untuk memilih BSSID sebagai
AP (atau tautan AP) terbaik yang digunakan untuk
asosiasi.
Penanganan alamat MAC STA perangkat
Bagian ini menjelaskan cara alamat MAC STA perangkat (alamat MAC MLD dan per-link STA alamat MAC) ditangani.
Alamat MAC MLD
Framework Wi-Fi mengelola alamat MAC MLD perangkat. MLD MAC
ditangani dengan cara yang sama seperti perangkat
non-MLD menangani alamat MAC-nya sendiri.
Alamat MAC dapat berupa alamat MAC acak atau MAC yang disediakan perangkat keras
sesuai dengan pilihan pengguna. Alamat MAC MLD ditetapkan oleh framework
menggunakan IWifiStaIface#setMacAddress()
HAL API.
Alamat MAC STA Per-Link
Perangkat lunak vendor mengelola alamat MAC STA instance (untuk setiap tautan). Ketika seorang setelah perangkat terhubung dengan AP, perangkat lunak vendor menetapkan MAC {i>instance<i} untuk setiap tautan yang terkait.
Perangkat lunak vendor menetapkan alamat MAC per-tautan berdasarkan algoritmanya. Tujuan algoritma harus dapat diulang dan menjadi fungsi berikut:
- Alamat MAC STA-MLD yang ditetapkan oleh framework Wi-Fi.
- ID Link (diterima dari AP)
Ini berarti bahwa jika kerangka kerja menggunakan kembali alamat MAC MLD yang sama, harus menggunakan kembali alamat MAC per-instance yang sama, dan sebaliknya. Ini menjamin bahwa ketika kerangka kerja yang menghasilkan alamat STA-MLD bersifat persisten untuk SSID, alamat MAC per-STA juga tetap ada.
Berikut ini adalah contoh algoritma untuk penetapan alamat MAC STA per-tautan (vendor dapat menerapkan algoritma apa pun yang memenuhi kriteria algoritma):
- Oktet 0: Pastikan bit yang dikelola secara lokal telah disetel
- Okt 1-4: Sama seperti Alamat MAC STA-MLD
- Okt 5: Per-STA = (STA-MLD + ID link + 1) MOD (256)
Penanganan multi-link
Firmware vendor dapat melakukan pengalihan link dan mengelola status penghematan daya link untuk aktivasi atau penonaktifan tanpa input dari Wi-Fi Google Workspace for Education.
Framework Wi-Fi tidak mengharapkan notifikasi saat status link ubah.
Pengelolaan status hemat daya
Status hemat daya diaktifkan secara default di framework Wi-Fi. Di kolom status hemat daya, {i>firmware<i} vendor mengelola penghematan daya status setiap link berdasarkan pola traffic dan aktivasi link, atau keputusan penonaktifan.
Namun, framework Wi-Fi dapat memaksa penonaktifan status hemat daya dengan
memanggil ISupplicantStaIface::setPowerSave(false)
HAL API. Jika
status penghematan daya dinonaktifkan oleh kerangka
kerja, {i>firmware vendor <i}harus menjaga agar
setidaknya satu link aktif (hemat daya dinonaktifkan). Dalam keadaan ini, {i>firmware<i}
implementasi memutuskan tautan mana yang ditetapkan.
Jalur data
Ini menjelaskan implementasi {i>firmware<i} vendor untuk menangani {i>uplink<i} dan traffic download.
Traffic uplink
Firmware merutekan traffic uplink ke satu (atau beberapa) link berdasarkan terlepas dari implementasi layanan. Firmware vendor memutuskan kapan harus melakukan {i>load balancing<i}, duplikasi, atau penggabungan lalu lintas berdasarkan pola lalu lintas. Saran dari kami firmware menduplikasi traffic ke beberapa link dalam kasus berikut:
- Saat mode latensi rendah disetel melalui
IWifiChip#setLatencyMode()
HAL API. - Saat ada traffic dengan prioritas pengguna 6 dan 7.
Traffic downlink
Firmware harus mengganti alamat MAC per-STA (tujuan) dari MAC dengan MAC MLD-STA dan MAC per-AP (sumber) alamat {i>header<i} 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 satu filter APF untuk semua tautan AP-MLD.
Serentak
Skenario konkurensi, di mana radio digunakan untuk antarmuka baru, harus memiliki lebih diprioritaskan daripada mendedikasikan beberapa radio untuk tautan dari antarmuka yang sama. Skenario konkurensi juga harus lebih diprioritaskan daripada MLO, apa pun bentuknya terlebih dahulu. Menggunakan beberapa tautan untuk satu antarmuka bersifat oportunistik, artinya bahwa multi-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 baru, saat Wi-Fi 7 AP mengumumkan penonaktifan sementara salah satu tautan melalui Elemen pemetaan TID-ke-link ditransmisikan dalam beacon, respons penyelidikan, dan frame respons asosiasi, stasiun Wi-Fi 7 melanjutkan koneksi dengan AP menggunakan tautan tersisa yang disiapkan, tanpa melakukan asosiasi.
Untuk perangkat yang menjalankan Android 13 atau yang lebih rendah, jaringan Wi-Fi tidak mendukung penerimaan notifikasi jika status link berubah karena pemetaan TID-ke-tautan, bahkan jika tautan terkait tidak ditautkan TID.
HAL AIDL
Pemohon Wi-Fi memberi tahu framework Wi-Fi tentang pemetaan TID-ke-link perubahan 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 bisa mendapatkan informasi tentang perubahan pemetaan TID-ke-link dengan menggunakan API berikut:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Callback jaringan dipicu oleh framework saat ada TID ke link perubahan pemetaan.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 baru, hal berikut API tersedia untuk mendapatkan kemampuan negosiasi peta TID-ke-link untuk stasiun dan AP.
Kemampuan chip
Antarmuka berikut mendukung kemampuan chip untuk pemetaan TID-ke-link negosiasi.
HAL AIDL
Antarmuka AIDL untuk negosiasi pemetaan TID ke link tersedia dalam FeatureSetMask
dalam hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
. Tujuan
Kemampuan T2LM_NEGOTIATION = 1 << 8
menunjukkan bahwa chip tersebut mendukung
Pemetaan TID ke link.
API
WifiManager.isTidToLinkMappingNegotiationSupported()
: Menampilkan chip yang mendukung negosiasi pemetaan TID ke link.
Kemampuan AP
Antarmuka berikut mendukung kemampuan AP untuk pemetaan TID-ke-link negosiasi.
HAL AIDL
Framework ini menanyakan kemampuan AP dari pemohon beserta kemampuan koneksi saat ini.
apTidToLinkMapNegotiationSupported
: Memeriksa apakah AP mendukung kemampuan negosiasi peta TID-ke-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 TX dan penghitung paket RX, dan statistik radio. Framework Wi-Fi melakukan polling secara berkala statistik lapisan link dan RSSI untuk memilih jaringan terbaik atau mengevaluasi kualitas dari jaringan yang terhubung. Untuk perangkat yang menjalankan Android 14 atau yang lebih tinggi, statistik lapisan tautan mencakup dukungan multi-link. Untuk mendukung Wi-Fi 7, Android mendukung MLO di kedua lapisan link statistik dan polling sinyal.
Statistik spesifik link ditemukan dalam antarmuka AIDL lapisan link berikut:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
Tujuan
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
system API memproses semua statistik lapisan link. Kerangka kerja 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 link tunggal (bukan MLO) menampilkan statistik gabungan untuk koneksi MLO. Tujuan
berikut adalah kriteria agregasinya:
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 {i>multilink<i} 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
dengan RSSI tertinggi.
StaLinkLayerStats.iface.beaconRx
: Melaporkan jumlah beacon untuk mengetahui cara terbaik yang digunakan untuk antarmuka.StaLinkLayerStats.iface.avgRssiMgmt
: LaporkanavgRssiMgmt
untuk tautan terbaik yang digunakan untuk antarmuka.StaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): Laporan statistik paket gabungan (total) melalui tautan 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
Ketika salah satu tautan titik akses Wi-Fi 7 digunakan kembali, dapat mengumumkan penghapusan link melalui konfigurasi ulang link MLO. Stasiun dapat mempertahankan konektivitas tanpa batas dengan AP tanpa pengaitan ulang pada tautan yang tersisa.
Tujuan
onMloLinksInfoChanged
AIDL, yang terletak di pemohon Wi-Fi di
ISupplicantStaIfaceCallback.aidl
,
mendukung konfigurasi ulang tautan (penghapusan AP dari tautan).
Saat framework Wi-Fi memproses penghapusan link, status link ditetapkan
dapat
MLO_LINK_STATE_UNASSOCIATED
Framework ini kemudian memicu
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
untuk perubahan status link.
Tujuan
WifiInfo#getAffiliatedMloLinks
akan menampilkan Link MLO yang berafiliasi. Tujuan
MloLink#getState
akan menampilkan status link. Jika link dihapus, link yang ditampilkan
negara bagian adalah
MLO_LINK_STATE_UNASSOCIATED
Strategi MLO Chip
MLO memungkinkan perangkat untuk mengirim dan menerima data di beberapa link Wi-Fi secara bersamaan waktu, yang dapat meningkatkan performa untuk aplikasi yang memiliki persyaratan tertentu seperti latensi rendah, bandwidth tinggi, dan daya rendah. Vendor {i>chip<i} dapat mengembangkan algoritma tentang cara menggunakan tautan yang tersedia.
Aplikasi dengan hak istimewa dapat memodifikasi algoritma ini menggunakan
setMloMode
di Wifimanager
, lalu setel atribut
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 AIDL IWifiChip
untuk mengatur mode MLO.