Kablosuz Doğrudan Bağlantı

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/aidl veya, hardware/interfaces/wifi/1.3 ya da sonraki sürümler
  • hardware/interfaces/wifi/supplicant/aidl veya, hardware/interfaces/wifi/supplicant/1.2 ya 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::setMacRandomization API'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
  • 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, 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.p2p

Yönetici testleri:

atest android.net.wifi.p2p

Compatibility 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.cts

CTS 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.