Kablosuz Doğrudan Bağlantı

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 ü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
    • 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
  • 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.