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)
- Wi-Fi RTT (IEEE 802.11mc FTM)
Kablosuz hizmetlerini kullanan bir uygulama, Binder aracılığıyla çeşitli kablosuz hizmetleriyle doğrudan iletişim kurar. Kablosuz hizmetleri, sistem hizmetinde ç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, Wi-Fi çerçevesi ve donanımıyla etkileşim kurmak için çeşitli
android.net.wifi
API'lerini kullanan uygulama kodu bulunur. Dahili olarak bu kod, 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/ konumunda bulunur. Kablosuz hizmet, AIDL üzerinden Kablosuz HAL ile iletişim kurar.
Çeşitli kablosuz bağlantı hizmetleri vardır:
- Kablosuz Hizmet: Kablosuz altyapı modlarını (hem STA hem de AP) kontrol etmek için kullanılan birincil mekanizma.
- Kablosuz P2P Hizmeti: Kablosuz Direct modunu yönetir.
- Wi-Fi Aware Hizmeti: Wi-Fi Aware modunu yönetir.
- Wi-Fi 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'ler
Wi-Fi çerçevesinde üç farklı arayüzle temsil edilen üç Wi-Fi 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.