Wi-Fi Aware

Android 8.0'da eklenen Wi-Fi Aware özelliği, desteklenen cihazların internet veya hücresel ağ erişimi olmadan Wi-Fi Aware protokolünü kullanarak birbirlerini doğrudan bulmasını, birbirlerine bağlanmasını ve birbirlerine olan mesafeyi ölçmesini (Android 9'da eklenmiştir) sağlar. Wi-Fi Alliance (WFA) Wi-Fi Aware spesifikasyonuna (2.0, 3.0, 3.1 ve 4.0 sürümleri) dayalı bu özellik, aksi takdirde ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek işleme hızlı verilerin paylaşılmasını kolaylaştırır.

Örnekler ve kaynak

Bu özelliği kullanmak için cihaz üreticilerinin Kablosuz Tedarikçi HAL'ını uygulaması gerekir. Android 14 ve sonraki sürümlerde, Vendor HAL arayüzü AIDL kullanılarak tanımlanır. Android 13 ve önceki sürümlerde, Vendor HAL arayüzü HIDL kullanılarak tanımlanır.

Kablosuz Aware özelliğini kullanmak için kablosuz arayüzünü takip edin. Uygulanan arayüze bağlı olarak:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 veya sonraki sürümler

AIDL ve HIDL arayüzleriyle nasıl ilişkili olduğunu görmek için eski Kablosuz HAL'ye başvurabilirsiniz: hardware/libhardware_legacy/+/android16-qpr2-release/include/hardware_legacy/wifi_nan.h.

Uygulama

Cihaz üreticileri hem çerçeve hem de HAL/firmware desteği sağlamalıdır:

  • Framework:
    • Android Açık Kaynak Projesi (AOSP) kodu
    • Aware'i etkinleştirme: Hem özellik bayrağı hem de derleme bayrağı gerektirir.
  • Kablosuz Aware (NAN) HAL desteği (bu da donanım yazılımı desteği anlamına gelir)

Bu özelliği uygulamak için cihaz üreticileri Kablosuz arayüzünü uygular ve iki özellik bayrağını etkinleştirir:

  • BoardConfig.mk veya BoardConfig-common.mk içinde device/<oem>/<device> konumunda aşağıdaki işareti ekleyin:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device.mk konumundaki device/<oem>/<device> içinde, Wi-Fi Aware ö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.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

Wi-Fi Aware, gidiş dönüş süresi (RTT) olarak da bilinen IEEE 802.11mc protokolü kullanılarak eş cihazlara mesafeyi ölçmeyi içerir. Wi-Fi Aware'in bu alt özelliği, cihazın Wi-Fi RTT özelliğini desteklemesine bağlıdır. Yani cihazın hem Wi-Fi Aware'i hem de Wi-Fi RTT'yi desteklemesi gerekir. Daha fazla bilgi için Wi-Fi RTT başlıklı makaleye göz atın.

Aksi takdirde, bu özellik için gereken her şey AOSP'ye dahil edilir.

WIFI_HAL_INTERFACE_COMBINATIONS işareti belirtilmişse WIFI_HIDL_FEATURE_AWARE işareti yoksayılır. Daha fazla bilgi için Wi-Fi çok arayüzlü eşzamanlılık başlıklı makaleyi inceleyin.

MAC rastgele seçimi

Android, Wi-Fi Aware keşif (NMI) ve veri arayüzlerinin (NDP'ler) MAC adresinin rastgele olmasını ve cihazın gerçek MAC adresiyle aynı olmamasını gerektirir. MAC adresleri şu şekilde olmalıdır:

  • Wi-Fi Aware etkinleştirildiğinde veya yeniden etkinleştirildiğinde rastgele hale getirilir.
  • Wi-Fi Aware etkinleştirildiğinde MAC adresi, NanConfigRequest.macAddressRandomizationIntervalSec parametresi tarafından yapılandırılan düzenli aralıklarla rastgele hale getirilmelidir. Bu süre, varsayılan olarak çerçeve tarafından 30 dakika olarak yapılandırılır.

Askıya alma ve devam ettirme

Android 14 ve sonraki sürümlerde Wi-Fi Aware, ayrıcalıklı uygulamaların etkin keşif oturumlarını (bu oturumlarla ilişkili tüm veri yolları dahil) askıya alıp devam ettirme özelliğini destekler. Bu özelliği desteklemek, cihazların keşif oturumlarına daha hızlı devam etmesini ve keşif oturumları askıya alınabildiğinden daha az güç kullanmasını sağlar.

Bir cihaz bu askıya alma ve devam ettirme özelliğini destekliyorsa ayrıcalıklı bir uygulama keşif oturumunu askıya aldığında donanım yazılımı Wi-Fi Aware oturumunu askıya alır. Keşif oturumu askıya alınmış durumdayken cihaz, oturumdaki etkin NDP'ler de dahil olmak üzere oturumla ilgili herhangi bir çerçeve iletmez veya almaz. Tüm keşif oturumları askıya alınırsa cihaz herhangi bir Wi-Fi Aware çerçevesi iletmez veya almaz.

Ayrıcalıklı bir uygulama, askıya alınmış bir keşif oturumunu sürdürdüğünde çerçeve, oturumu ilişkili tüm NDP oturumları da dahil olmak üzere önceki durumuna döndürür. Askıya alınmış bir keşif oturumunu sürdürmek, Wi-Fi Aware'i başlatıp yeni bir keşif oturumu oluşturmaktan daha hızlıdır.

Bulma oturumlarını askıya alma ve devam ettirme özelliğini desteklemek için cihaz üreticileri HAL ve donanım yazılımı desteği sağlamalıdır. Ayrıntılı bilgi için IWifiNanIface.java başlıklı makaleyi inceleyin.

Cihaz üreticileri, birden fazla cihazda askıya alma ve devam ettirme işlemlerini senkronize etmek için bant dışı iletişimleri (ör. BLE) kullanabilir.

Doğrulama

Android, Wi-Fi Aware özelliğini doğrulamak için bir dizi birim testi, Compatibility Test Suite (CTS) testleri ve CTS Verifier testleri sağlar. Wi-Fi Aware, Vendor Test Suite (VTS) kullanılarak da test edilebilir.

Birim testleri

Wi-Fi Aware paket testleri şu şekilde yürütülür:

Hizmet testleri:

atest com.android.server.wifi.aware

Yönetici testleri:

atest android.net.wifi.aware

Compatibility Test Suite (CTS) testleri

Wi-Fi Aware ö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 testleri şu yöntemlerle tetiklenebilir:

atest SingleDeviceTest

CTS Doğrulayıcı testleri

CTS Verifier testleri, bir test cihazı ve bir bilinen iyi cihaz kullanarak Wi-Fi Aware davranışını doğrular. Testleri çalıştırmak için CTS Verifier'ı açın ve Wi-Fi Aware Testleri başlıklı bölüme gidin.