Kablosuz P2P olarak da bilinen Kablosuz Doğrudan Bağlantı özelliği, desteklenen cihazların internet veya mobil 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) Kablosuz Doğrudan Bağlantı spesifikasyonu üzerine kurulu bu özellik, aksi takdirde ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek verimli verilerin paylaşılmasına olanak tanır.
Örnekler ve kaynak
Bu özelliği kullanmak için cihaz üreticilerinin Kablosuz 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, tedarikçi 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.
Kablosuz Doğrudan Bağlantı özelliğini kullanmak için aşağıdaki Wi-Fi HAL yüzeyleri gereklidir:
hardware/interfaces/wifi/aidlveya,hardware/interfaces/wifi/1.3ya da sonraki sürümlerhardware/interfaces/wifi/supplicant/aidlveya,hardware/interfaces/wifi/supplicant/1.2ya da sonraki sürümler
Uygulama
Cihaz üreticilerinin hem çerçeve hem de HAL/firmware desteği sağlaması gerekir:
- Çerçeve:
- AOSP kodu
- Kablosuz Doğrudan Bağlantı'yı etkinleştirme: Özellik bayrağı gerektirir.
- Kablosuz Doğrudan Bağlantı (P2P) HAL desteği (bu da donanım yazılımı desteği anlamına gelir)
Bu özelliği uygulamak için cihaz üreticileri Kablosuz HIDL veya AIDL arayüzlerini uygular ve Kablosuz Doğrudan Bağlantı için özellik bayrağını etkinleştirir. device.mk konumundaki device/<oem>/<device> içinde, Kablosuz Doğrudan Bağlantı özelliğinin desteklenmesi için PRODUCT_COPY_FILES ortam değişkenini 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ı desteklemeyle ilgili diğer tüm koşullar AOSP'de yer alır.
MAC rastgele seçimi
Android, Kablosuz Doğrudan Bağlantı 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 adresi rastgele hale getirilmelidir. Aksi takdirde, cihaz adresi 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 oluşturulmalıdır.
Kablosuz Doğrudan Bağlantı MAC rastgele hale getirme, "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::setMacRandomizationAPI'yi uygulayın.- Uygulanan arayüze bağlı olarak:
- 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_supporteddeğ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) testi ve CTS Verifier testi sağlar. Kablosuz Doğrudan Bağlantı, Vendor Test Suite (VTS) kullanılarak da test edilebilir.
Birim testleri
Aşağıdaki testleri kullanarak Kablosuz Doğrudan Bağlantı paketini doğrulayın.
Hizmet testleri:
atest com.android.server.wifi.p2pYönetici testleri:
atest android.net.wifi.p2pCompatibility Test Suite (CTS) testleri
Kablosuz Doğrudan Bağlantı ö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.ctsCTS Doğrulayıcı testleri
CTS Verifier 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 Verifier'ı açın ve Kablosuz Doğrudan Bağlantı Testleri başlıklı bölüme gidin.