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 doğrudan birbirlerini bulup bağlanmasına olanak tanır. Wi-Fi Alliance (WFA) Kablosuz Doğrudan Bağlantı spesifikasyonu'na dayalı bu özellik, ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek hızlı verilerin paylaşılmasına olanak tanır.
Örnekler ve kaynak
Bu özelliği kullanmak için cihaz üreticilerinin Wi-Fi Satıcı ve İstemci HAL arayüzlerini uygulaması gerekir.
Android 13'te, istemci 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.
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 üreticilerinin hem çerçeve hem de HAL/donanım yazılımı desteği sağlaması gerekir:
- Çerçeve:
- AOSP kodu
- Kablosuz Doğrudan Bağlantı'yı etkinleştir: Özellik işareti gerekir
- 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 HIDL veya AIDL arayüzlerini uygular ve kablosuz Direct özelliği işaretini etkinleştirir. device/<oem>/<device>
konumundaki device.mk
dosyasında, 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'ye dahildir.
MAC rastgele hale getirme
Android, Wi-Fi Direct cihaz adresinin ve arayüz adresinin rastgele olmasını gerektirir. Bu adresler, cihazın gerçek MAC adresinden farklı olmalı ve aşağıdaki şartları karşılamalıdır:
- Kayıtlı kalıcı grup yoksa arayüz oluşturulurken kablosuz doğrudan bağlantı cihaz adresi rastgele oluşturulmalıdır. Aksi takdirde cihaz adresi, son oluşturulan MAC adresini kullanmaya devam eder.
- Grup adresi olarak da bilinen kablosuz doğrudan arayüz adresi, her bağlantı kurulduktan sonra rastgele oluşturulmalıdır.
Wi-Fi Direct MAC rastgele hale getirme özelliği, "wpa_supplicant" içinde uygulanır ve p2p_device_random_mac_addr
ile p2p_interface_random_mac_addr
adlı iki yapılandırma tarafından kontrol edilir.
Cihaz üreticilerinin bu özelliği etkinleştirmesi için:
- 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. Kablosuz Doğrudan Bağlantı, Satıcı Testi Paketi (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 tarafından test edilir:
atest android.net.wifi.p2p
Compatibility Test Suite (CTS) testleri
Kablosuz Direkt özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin etkinleştirildiğini tespit eder 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, iki cihaz kullanarak kablosuz Direct davranışını doğrular: bir test cihazı ve iyi bilinen bir cihaz. 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.