Android, aşağıdakiler dahil olmak üzere çeşitli kablosuz protokol ve modlar için destek içeren varsayılan bir Android çerçevesi uygulaması sağlar:
- Kablosuz ağ 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 bağlantı hizmetlerini kullanan bir uygulama, Binder aracılığıyla çeşitli kablosuz bağlantı hizmetleriyle doğrudan iletişim kurar. Kablosuz ağ hizmetleri, sistem hizmetinde çalışır ve sağlanan HIDL ve AIDL arayüzleri üzerinden HAL ile iletişim kurar. Bu şemada, Android kablosuz yığınının genel yapısı gösterilmektedir.
Şekil 1. Android kablosuz mimari
Uygulama çerçevesi
Uygulama çerçevesi düzeyinde, kablosuz ağ ç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 kablosuz ağ sürecini çağırır.
Kablosuz hizmetler
WiFi hizmetleri, Sistem Hizmeti'nde çalışır ve packages/modules/Wifi/service/
içinde bulunur. Kablosuz ağ hizmeti, AIDL üzerinden kablosuz ağ 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 birincil mekanizma.
- Kablosuz P2P Hizmeti: Kablosuz Direkt modunu yönetir.
- Kablosuz Ağ Farkında Hizmeti: Kablosuz Ağ Farkında modunu yönetir.
- Kablosuz RTT Hizmeti: IEEE 802.11mc FTM işlevini yönetir.
Kablosuz ağ çerçevesi, system/connectivity/wificond
adresinde bulunan wificond adlı bağımsız bir işlem de içerir. wificond işlemi, standart nl80211
komutları üzerinden kablosuz sürücüyle iletişim kurar.
Kablosuz HAL'ler
Kablosuz ağ çerçevesi, üç farklı arayüzle temsil edilen üç kablosuz ağ HAL yüzeyine sahiptir: Tedarikçi HAL, İstemci HAL ve Hostapd HAL.
Çeşitli HAL'lerin uygulamaları hakkında ayrıntılı bilgi için Kablosuz LAN HAL başlıklı makaleyi inceleyin.