Kablosuz Doğrudan Bağlantı

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 üzeri
  • hardware/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
  • 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.