Android, aşağıdakiler de dahil olmak üzere çeşitli Wi-Fi protokolleri ve modları için destek içeren varsayılan bir Android çerçevesi uygulaması sağlar:
- Wi-Fi altyapısı (STA)
- Tethering veya yalnızca yerel modlarda kablosuz hotspot (Soft AP)
- Wi-Fi Direct (p2p)
- Wi-Fi Aware (NAN)
- Kablosuz RTT (IEEE 802.11mc FTM)
Kablosuz hizmetlerini kullanan bir uygulama, Binder aracılığıyla çeşitli kablosuz hizmetleriyle doğrudan iletişim kurar. Kablosuz hizmetler, Sistem Hizmeti'nde çalışır ve sağlanan HIDL ve AIDL arayüzleri üzerinden HAL ile iletişim kurar. Bu şemada, Android Wi-Fi yığınının genel yapısı gösterilmektedir.
Şekil 1. Android Wi-Fi mimarisi
Uygulama çerçevesi
Uygulama çerçevesi düzeyinde, kablosuz çerçevesi ve donanımıyla etkileşim kurmak için çeşitli android.net.wifi API'lerini kullanan uygulama kodu bulunur. Bu kod, dahili olarak Binder IPC mekanizması aracılığıyla Wi-Fi sürecini çağırır.
Kablosuz hizmetler
Kablosuz hizmetler, Sistem Hizmeti'nde çalışır ve packages/modules/Wifi/service/ konumundadır. Kablosuz hizmeti, AIDL üzerinden Kablosuz HAL ile iletişim kurar.
Çeşitli kablosuz bağlantı hizmetleri vardır:
- Kablosuz Hizmeti: Kablosuz altyapı modlarını (hem STA hem de AP) kontrol etmek için kullanılan birincil mekanizma.
- Kablosuz P2P Hizmeti: Kablosuz Doğrudan Bağlantı modunu yönetir.
- Wi-Fi Aware Hizmeti: Wi-Fi Aware modunu yönetir.
- Kablosuz RTT Hizmeti: IEEE 802.11mc FTM işlevini yönetir.
Kablosuz ağ çerçevesi, system/connectivity/wificond konumunda bulunan bağımsız bir işlem olan wificond'u da içerir. wificond işlemi, standart nl80211 komutları üzerinden kablosuz sürücüyle iletişim kurar.
Kablosuz HAL'leri
Kablosuz çerçevesinde üç farklı arayüzle temsil edilen üç Kablosuz HAL yüzeyi bulunur: Vendor HAL, Supplicant HAL ve Hostapd HAL.
Çeşitli HAL'lerin uygulanmasıyla ilgili ayrıntılar için Wi-Fi HAL başlıklı makaleye bakın.