Wi-Fi P2P olarak da bilinen Wi-Fi Direct özelliği, destekleyen cihazların internet veya hücresel ağ erişimi olmadan Wi-Fi Direct protokolü kullanarak doğrudan birbirlerini keşfedip bağlanmalarını sağlar. Wi-Fi Alliance (WFA) Wi-Fi Direct spesifikasyonu temel alınarak geliştirilen bu özellik, yüksek işleme hızına sahip verilerin güvenilir cihazlar ve aksi halde ağ dışında olan uygulamalar arasında paylaşılmasına olanak tanır.
Örnekler ve kaynak
Cihaz üreticilerinin bu özelliği kullanmak için kablosuz ağ tedarikçisi ve ek HAL arayüzlerini uygulaması gerekir.
Android 13'te Ek arayüzü, HAL tanımı için AIDL kullanır. Android 14 ve sonraki sürümlerde Tedarikçi HAL arayüzü AIDL'yi kullanır. Android 12 ve önceki sürümlerde Ek ve Tedarikçi HAL arayüzleri HIDL kullanılarak tanımlanır.
Kablosuz Doğrudan Bağlantı özelliğinin kullanılabilmesi için aşağıdaki kablosuz HAL yüzeyleri gereklidir:
hardware/interfaces/wifi/aidl
veya,hardware/interfaces/wifi/1.3
veya üzerihardware/interfaces/wifi/supplicant/aidl
veya,hardware/interfaces/wifi/supplicant/1.2
veya üzeri
Uygulama
Cihaz üreticilerinin hem çerçeve hem de HAL/donanım yazılımı desteği sağlaması gerekir:
- Çerçeve:
- AOSP kodu
- Wi-Fi Direct'i etkinleştir: Bir özellik bayrağı gerektirir
- Wi-Fi Direct (P2P) HAL desteği (donanım yazılımı desteğini ifade eder)
Cihaz üreticileri, bu özelliği uygulamak için kablosuz bağlantı HIDL veya AIDL arayüzlerini uygular ve Wi-Fi Direct için özellik bayrağını etkinleştirir. device/<oem>/<device>
bölgesinde bulunan device.mk
ürününde, PRODUCT_COPY_FILES
ortam değişkenini Wi-Fi Direct özelliği desteği içerecek şekilde değiştirin:
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
Kablosuz Doğrudan Bağlantı'yı desteklemek için diğer tüm gereksinimler AOSP'ye dahildir.
MAC rastgele hale getirme
Android, Wi-Fi Direct cihaz adresinin ve arayüz adresinin rastgele olmasını gerektirir. Bunlar, cihazın gerçek MAC adresinden farklı olmalı ve aşağıdaki gereksinimleri karşılamalıdır:
- Kayıtlı bir kalıcı grup yoksa Wi-Fi Direct cihaz adresi, arayüz oluşturulurken rastgele hale getirilmelidir. Aksi takdirde, cihaz adresi en son oluşturulan MAC adresini kullanmaya devam etmelidir.
- Grup adresi olarak da bilinen Kablosuz Doğrudan Bağlantı arayüz adresi, her bağlantı kurulduğunda rastgele hale getirilmelidir.
Wi-Fi Direct MAC rastgele hale getirme özelliği "wpa_supplicant" içinde uygulanır ve p2p_device_random_mac_addr
ve p2p_interface_random_mac_addr
olmak üzere iki yapılandırmayla kontrol edilir.
Bu özelliği etkinleştirmek için cihaz üreticilerinin aşağıdaki koşulları karşılaması gerekir:
- Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
API'yi uygulayın. Uygulanan arayüze bağlı olarak bu ayar aşağıdaki gibidir:- HIDL için
hardware/interface/wifi/supplicant/1.2
- AIDL için
hardware/interface/wifi/supplicant/aidl
- HIDL için
- Cihaz özel yer paylaşımında
config_wifi_p2p_mac_randomization_supported
değerini "true" olarak ayarlayın.
Doğrulama
Android, Wi-Fi Direct özelliğini doğrulamak için bir dizi birim testi, Compatibility Test Suite (CTS) testleri ve CTS Doğrulayıcı testleri sağlar. Wi-Fi Direct, Tedarikçi Firma Test Paketi (VTS) ile de test edilebilir.
Birim testleri
Aşağıdaki testleri kullanarak Wi-Fi Direct paketini doğrulayın.
Hizmet testleri:
atest com.android.server.wifi.p2p
Yönetici tarafından test edilir:
atest android.net.wifi.p2p
Uyumluluk Test Paketi (CTS) testleri
Wi-Fi Direct özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin etkinleştirildiğini algılar ve ilgili testleri otomatik olarak dahil eder.
CTS testlerini tetiklemek için şu komutu çalıştırın:
% atest android.net.wifi.p2p.cts
CTS Doğrulayıcı testleri
CTS Doğrulayıcı testleri, bir test cihazı ve bilinen iyi bir cihaz olmak üzere iki cihaz kullanarak Kablosuz Doğrudan Bağlantı davranışını doğrular. Testleri çalıştırmak için CTS Doğrulayıcı'yı açın ve Wi-Fi Direct Tests başlıklı bölüme gidin.