Kerangka kerja Wi-Fi memiliki tiga permukaan HAL Wi-Fi yang diwakili oleh tiga paket HIDL yang berbeda:
- Vendor HAL: Permukaan HAL untuk perintah khusus Android. File HIDL ada di
hardware/interfaces/wifi/1.x
. - Supplicant HAL: Permukaan HAL untuk wpa_supplicant . File HIDL ada di
hardware/interfaces/supplicant/1.x
. - Hostapd HAL: Permukaan HAL untuk hostapd . File HIDL ada di
hardware/interfaces/hostapd/1.x
.
Penjual HAL
Vendor HAL menyediakan perintah khusus Android. Ini adalah opsional (tidak diperlukan) agar mode Stasiun infrastruktur (STA) dan Soft AP (SAP) berfungsi. Namun, ini wajib untuk Wi-Fi Aware dan untuk layanan Wi-Fi RTT .
Pra-HIDL (yaitu pra-Android 8.0) Android menggunakan mekanisme HAL yang sekarang disebut HAL warisan . Kode sumber Android saat ini menyediakan implementasi default HIDL menggunakan shim yang berjalan di atas HAL lama.
Header HAL lama terletak di hardware/libhardware_legacy/include/hardware_legacy/
. Implementasi berbasis HAL lama terletak di hardware/interfaces/wifi/1.x/default
.
Pemohon HAL
Supplicant HAL menyediakan antarmuka HIDL untuk daemon wpa_supplicant .
Kode sumber wpa_supplicant terletak di external/wpa_supplicant_8/wpa_supplicant
. Kode wpa_supplicant yang menyediakan antarmuka HIDL terletak di sub-direktori hidl
.
Hostapd HAL
Hostapd HAL menyediakan antarmuka HIDL untuk daemon hostapd .
Kode sumber hostapd terletak di external/wpa_supplicant_8/hostapd
. Kode hostapd yang menyediakan antarmuka HIDL terletak di sub-direktori hidl
.
Konkurensi multi-antarmuka Wi-Fi
Perangkat Android yang berbeda dapat mendukung kombinasi antarmuka Wi-Fi yang berbeda secara bersamaan. Kombinasi yang didukung didefinisikan dalam HAL dan diekspos ke kerangka kerja. Format spesifikasi ditentukan dalam android/hardware/interfaces/wifi/1.0/IWifiChip.hal
. Misalnya, perangkat dapat mendukung dua STA dan satu antarmuka jenis NAN ( Wi-Fi Aware ) atau P2P ( Wi-Fi Direct ) (tetapi tidak keduanya). Ini akan dinyatakan sebagai:
[{STA} <= 2, {NAN,P2P} <= 1]
Format spesifikasi konkurensi fleksibel dan umum. Itu dapat mengekspresikan kombinasi yang belum didukung oleh kerangka kerja. Untuk mengonfigurasi kombinasi tertentu, gunakan flag build WIFI_HAL_INTERFACE_COMBINATIONS
yang terletak di device/<oem>/<device>/BoardConfig-common.mk
. Atau, referensi HAL memiliki konfigurasi untuk beberapa kombinasi yang dapat diaktifkan dengan flag build (warisan). Untuk petunjuk konfigurasi, lihat: