Kablosuz ağ çerçevesi, üç farklı arayüzle temsil edilen üç kablosuz ağ HAL yüzeyine sahiptir. Android 14 veya sonraki sürümleri çalıştıran cihazlarda bu üç arayüzün tümü kararlı AIDL paketleri olarak kullanılabilir. Bu arayüzler daha önce HIDL kullanılarak tanımlanıyordu.
- Tedarikçi HAL: Android'e özgü komutlar için bir HAL yüzeyi. AIDL dosyaları
hardware/interfaces/aidl
, HIDL dosyaları isehardware/interfaces/wifi/1.x
içindedir. - Supplicant HAL: wpa_supplicant için bir HAL yüzeyi. AIDL dosyaları
hardware/interfaces/supplicant/aidl
, HIDL dosyaları isehardware/interfaces/supplicant/1.x
içindedir. - Hostapd HAL: hostapd için bir HAL yüzeyi. AIDL dosyaları
hardware/interfaces/hostapd/aidl
, HIDL dosyaları isehardware/interfaces/hostapd/1.x
içindedir.
Tedarikçi HAL
Satıcı HAL'i, Android'e özel komutlar sağlar. Altyapı istasyonu (STA) ve yumuşak AP (SAP) modlarının çalışması isteğe bağlıdır (zorunlu değildir). Ancak Wi-Fi Aware ve Wi-Fi RTT hizmetleri için zorunludur.
Android 14 ve sonraki sürümlerde tedarikçi HAL arayüzü AIDL kullanılarak tanımlanır. Android 13 ve önceki sürümlerde tedarikçi HAL arayüzü HIDL kullanılarak tanımlanır.
Android, HIDL öncesi (Android 8.0'den önce) şu anda eski HAL olarak adlandırılan bir HAL mekanizması kullanıyordu. Android kaynak kodu şu anda eski HAL'in üzerinde çalışan bir dolgu kullanarak AIDL veya HIDL'nin varsayılan bir uygulamasını sağlar.
Eski HAL üstbilgileri hardware/libhardware_legacy/include/hardware_legacy/
içinde bulunur. Eski HAL tabanlı uygulama, AIDL için hardware/interfaces/wifi/aidl/default
ve HIDL için hardware/interfaces/wifi/1.x/default
adresinde bulunur.
İstemci HAL'si
Supplicant HAL, wpa_supplicant daemon'u için bir arayüz sağlar. Android 13'ten itibaren arayüz, HAL tanımı için AIDL'yi kullanır. Android 13'ten önceki sürümlerde arayüzler ve tedarikçi firma bölümleri HIDL'yi kullanır.
wpa_supplicant kaynak kodu external/wpa_supplicant_8/wpa_supplicant
adresinde bulunur. Referans uygulama, aidl
alt dizininde uygulanan bir AIDL arayüzü sağlar.
Hostapd HAL
Hostapd HAL, hostapd daemon'u için bir arayüz sağlar. Android 13'ten itibaren arayüz, HAL tanımı için AIDL'yi kullanır. Android 13'ten önceki sürümlerde arayüzler ve tedarikçi firma bölümleri HIDL'yi kullanır.
hostapd kaynak kodu external/wpa_supplicant_8/hostapd
adresinde bulunur.
Referans uygulama, aidl
alt dizininde uygulanan bir AIDL arayüzü sağlar.
Kablosuz ağda çoklu arayüz eşzamanlılığı
Farklı Android cihazlar, aynı anda farklı kablosuz arayüz kombinasyonlarını destekleyebilir. Desteklenen kombinasyonlar HAL'de tanımlanır ve çerçeveye sunulur. Spesifikasyon biçimi, AIDL kablosuz HAL için hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
, kablosuz HAL 1.6 için android/hardware/interfaces/wifi/1.6/IWifiChip.hal
ve kablosuz HAL 1.5 ve önceki sürümler için android/hardware/interfaces/wifi/1.0/IWifiChip.hal
olarak tanımlanır.
Android 14 ve sonraki sürümlerde kullanılabilen AIDL HAL ve Android 13'te kullanılabilen Wi-Fi HAL 1.6 sürümü, köprülenmiş bir AP arayüzünü (çift bant eşzamanlı) açık bir kombinasyon öğesi olarak belirtme olanağı sunar.
Eşzamanlılık spesifikasyonu biçimi esnek ve geneldir. Henüz çerçeve tarafından desteklenmeyen kombinasyonları ifade edebilir. Belirli bir kombinasyonu yapılandırmak için device/<oem>/<device>/BoardConfig-common.mk
bölümündeki WIFI_HAL_INTERFACE_COMBINATIONS
derleme işaretini kullanın.
Örneğin, bir cihaz iki STA'yı ve NAN (Kablosuz Ağ Farkında) veya P2P (Kablosuz Ağ Doğrudan) türündeki bir arayüzü destekleyebilir (ancak ikisini birden desteklemez). Bu, device/<oem>/<device>/BoardConfig-common.mk
'te şu şekilde ifade edilir:
WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 2}, {{NAN, P2P}, 1}}
Tek bir AP'ye sahip bir STA'yı veya başka arayüzü olmayan köprülenmiş bir AP'yi (eşzamanlı çift bant) destekleyen bir cihaz da buna örnek verilebilir. Bu, şu şekilde gösterilir:
WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{AP}, 1}}, {{{AP_BRIDGED}, 1}}
Alternatif olarak, referans HAL'de (eski) derleme işaretleriyle etkinleştirilebilen çeşitli kombinasyonlar için yapılandırmalar bulunur. Yapılandırma talimatları için: