Android menyediakan implementasi kerangka kerja Android default yang mencakup dukungan untuk berbagai protokol dan mode Wi-Fi, termasuk:
- Infrastruktur Wi-Fi (STA)
- Hotspot Wi-Fi (Soft AP) dalam mode tertambat atau hanya lokal
- Wi-Fi Langsung (p2p)
- Sadar Wi-Fi (NAN)
- Wi-Fi RTT (IEEE 802.11mc FTM)
Aplikasi yang menggunakan layanan Wi-Fi berkomunikasi langsung dengan berbagai layanan Wi-Fi melalui Binder. Layanan Wi-Fi berjalan di Layanan Sistem dan berkomunikasi dengan HAL melalui antarmuka HIDL dan AIDL yang disediakan. Diagram ini menunjukkan struktur umum tumpukan Wi-Fi Android.
Gambar 1. Arsitektur Wi-Fi Android
Kerangka aplikasi
Pada level framework aplikasi terdapat kode aplikasi, yang menggunakan berbagai API android.net.wifi untuk berinteraksi dengan framework dan perangkat keras Wi-Fi. Secara internal, kode ini memanggil proses Wi-Fi melalui mekanisme Binder IPC.
Layanan Wi-Fi
Layanan Wi-Fi berjalan di Layanan Sistem, dan terletak di packages/modules/Wifi/service/
. Layanan Wi-Fi berkomunikasi dengan Wi-Fi HAL melalui AIDL.
Ada berbagai layanan Wi-Fi:
- Layanan Wi-Fi: Mekanisme utama untuk mengontrol mode infrastruktur Wi-Fi (STA dan AP).
- Layanan P2P Wi-Fi: Mengelola mode Wi-Fi Direct.
- Layanan Wi-Fi Aware: Mengelola mode Wi-Fi Aware.
- Layanan RTT Wi-Fi: Mengelola fungsionalitas IEEE 802.11mc FTM.
Kerangka kerja Wi-Fi juga mencakup proses yang berdiri sendiri, wificond , yang terletak di system/connectivity/wificond
. Proses wificond berkomunikasi dengan driver Wi-Fi melalui perintah standar nl80211
.
HAL Wi-Fi
Kerangka kerja Wi-Fi memiliki tiga permukaan HAL Wi-Fi yang diwakili oleh tiga antarmuka berbeda: Vendor HAL, Supplicant HAL, dan Hostapd HAL.
Untuk detail tentang implementasi berbagai HAL, lihat Wi-Fi HAL .