Kablosuz P2P olarak da bilinen Kablosuz Doğrudan Bağlantı özelliği, desteklenen cihazların internet veya hücresel ağ erişimi olmadan Kablosuz Doğrudan Bağlantı protokolünü kullanarak birbirlerini doğrudan bulup bağlanmalarını sağlar. Wi-Fi Alliance (WFA) Wi-Fi Direct spesifikasyonu üzerine kurulu bu özellik, ağa bağlı olmayan güvenilir cihazlar ve uygulamalar arasında yüksek hızlı veri paylaşımına olanak tanır.
Örnekler ve kaynak
Bu özelliği kullanmak için cihaz üreticilerinin Wi-Fi Vendor ve Supplicant HAL arayüzlerini uygulaması gerekir.
Android 13'te, Supplicant arayüzü, HAL tanımı için AIDL'yi kullanır. Android 14 ve sonraki sürümlerde, Vendor HAL arayüzü AIDL'yi kullanır. Android 12 ve önceki sürümlerde Supplicant ve Vendor HAL arayüzleri HIDL kullanılarak tanımlanır.
Wi-Fi Direct özelliğini kullanmak için aşağıdaki Wi-Fi 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 üreticileri hem çerçeve hem de HAL/firmware desteği sağlamalıdır:
- Framework:
- AOSP kodu
- Kablosuz Doğrudan Bağlantı'yı etkinleştirme: Özellik işareti gerektirir.
- Wi-Fi Direct (P2P) HAL desteği (donanım yazılımı desteği anlamına gelir)
Bu özelliği uygulamak için cihaz üreticileri Wi-Fi HIDL veya AIDL arayüzlerini uygular ve Wi-Fi Direct için özellik bayrağını etkinleştirir. device.mk
konumundaki device/<oem>/<device>
içinde, PRODUCT_COPY_FILES
ortam değişkenini
Wi-Fi Direct özelliğini destekleyecek ş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
```
Wi-Fi Direct'i desteklemeyle ilgili diğer tüm koşullar AOSP'de yer alır.
MAC rastgele seçimi
Android, Wi-Fi Direct cihaz adresinin ve arayüz adresinin rastgele olmasını gerektirir. Cihazın gerçek MAC adresinden farklı olmalı ve aşağıdaki koşulları karşılamalıdır:
- Kalıcı bir grup kaydedilmemişse arayüz oluşturulurken Kablosuz Doğrudan Bağlantı cihaz adresinin rastgele hale getirilmesi gerekir. Aksi takdirde, cihaz adresi en son oluşturulan MAC adresini kullanmaya devam etmelidir.
- Grup adresi olarak da bilinen Wi-Fi Direct arayüz adresi, her bağlantı kurulduğunda rastgele hale getirilmelidir.
Wi-Fi Direct MAC rastgele seçimi, "wpa_supplicant" içinde uygulanır ve p2p_device_random_mac_addr
ile p2p_interface_random_mac_addr
olmak üzere iki yapılandırmayla kontrol edilir.
Bu özelliği etkinleştirmek için cihaz üreticilerinin yapması gerekenler:
- Wi-Fi Supplicant
ISupplicantP2pIface::setMacRandomization
API'sini uygulayın. Uygulanan arayüze bağlı olarak bu, şurada bulunur:- HIDL için
hardware/interface/wifi/supplicant/1.2
- AIDL için
hardware/interface/wifi/supplicant/aidl
- HIDL için
- Bir 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, Uyumluluk Test Paketi (CTS) testi ve CTS Doğrulayıcı testi sağlar. Kablosuz Doğrudan Bağlantı, Vendor Test Suite (VTS) kullanılarak da 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 testleri:
atest android.net.wifi.p2p
Compatibility Test Suite (CTS) testleri
Wi-Fi Direct özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin etkinleştirildiğini algıladığında ilişkili testleri otomatik olarak dahil eder.
CTS testlerini tetiklemek için şunu çalıştırın:
% atest android.net.wifi.p2p.cts
CTS Doğrulayıcı testleri
CTS Verifier testleri, bir test cihazı ve bir bilinen iyi cihaz olmak üzere iki cihaz kullanarak Wi-Fi Direct davranışını doğrular. Testleri çalıştırmak için CTS Verifier'ı açın ve Wi-Fi Direct Testleri başlıklı bölüme gidin.