Wi-Fi HAL

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: