Wi-Fi Aware

Android 8.0'de eklenen Kablosuz Ağ Farkında özelliği, desteklenen cihazların internet veya hücresel ağ erişimi olmadan doğrudan kablosuz ağ farkında protokolünü kullanarak birbirlerini keşfetmelerini, bağlamalarını ve kapsama alanını (Android 9'da eklendi) belirlemelerini sağlar. Wi-Fi Alliance (WFA) Wi-Fi Aware spesifikasyonu (2.0, 3.0, 3.1 ve 4.0 sürümleri) temel alınarak geliştirilen bu özellik, ağ dışında olan güvenilir cihazlar ve uygulamalar arasında yüksek bant genişliğine sahip verilerin kolayca paylaşılmasına olanak tanır.

Örnekler ve kaynak

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

Kablosuz Ağ Uyarısı özelliğini kullanmak için kablosuz ağ arayüzünü takip edin. Hangi arayüzün uygulandığına bağlı olarak bu değer:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 veya sonrası

AIDL ve HIDL arayüzleri: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h).

Uygulama

Cihaz üreticilerinin hem çerçeve hem de HAL/donanım yazılımı desteği sağlaması gerekir:

  • Çerçeve:
    • AOSP kodu
    • Aware'i Etkinleştir: Hem özellik bayrağı hem de derleme bayrağı gerektirir
  • Wi-Fi Aware (NAN) HAL desteği (donanım yazılımı desteğini ifade eder)

Cihaz üreticileri, bu özelliği uygulamak için kablosuz ağ arayüzünü ve iki özellik bayrağını etkinleştirin:

  • device/<oem>/<device> bölümündeki BoardConfig.mk veya BoardConfig-common.mk alanına aşağıdaki işareti ekleyin:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device/<oem>/<device> konumundaki device.mk dosyasında, PRODUCT_COPY_FILES ortam değişkenini Wi-FiAware özelliğini destekleyecek şekilde 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, IEEE 802.11mc protokolünü ve Gidiş Dönüş Süresi (RTT) olarak da bilinir. Wi-Fi Aware'in bu alt özelliği Kablosuz RTT özelliğini destekleyen cihaza bağlı olarak cihazın hem Kablosuz Aware hem de kablosuz RTT'yi desteklemesi gerekir. Daha fazla bilgi için bkz. Kablosuz RTT.

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

Şu durumda WIFI_HIDL_FEATURE_AWARE işareti yoksayılır: WIFI_HAL_INTERFACE_COMBINATIONS belirtildiğinden emin olun. Daha fazla bilgi için Kablosuz çoklu arayüz eşzamanlılığı başlıklı makaleyi inceleyin.

MAC rastgele hale getirme

Android için, Wi-Fi Aware discovery (NMI) özelliğinin MAC adresi ve veri gerekir arayüzlerin (NDP'ler) rastgele hale getirilmesi ve gerçek MAC adresiyle aynı olmaması ekleyebilirsiniz. MAC adresleri şöyle 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 düzenli aralıklarla rastgele hale getirilmelidir zaman aralığı NanConfigRequest.macAddressRandomizationIntervalSec parametresinden yararlanın. Bu çerçeve tarafından varsayılan olarak 30 dakika olacak şekilde yapılandırılır.

Askıya alma ve devam ettirme

Android 14 ve sonraki sürümlerde Kablosuz Ağ Farkındalığı, ayrıcalıklı uygulamaların etkin keşif oturumlarını (bu oturumlarla ilişkili tüm veri yolları dahil) askıya alma ve devam ettirme özelliğini destekler. Destekleniyor özellikleri, cihazların keşif oturumlarını daha hızlı devam etmesine ve daha az güç tüketmesine discovery oturumları askıya alınabilir.

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ı, kablosuz ağ farkındalık oturumunu askıya alır. Keşif oturumu askıya alınmış durumdayken cihaz ileti göndermez. veya bu oturumdaki etkin NDP'ler dahil olmak üzere kabul edilir. Tüm keşif oturumları askıya alınırsa cihaz iletim yapmaz. veya Wi-Fi Aware kareleri alır.

Ayrıcalıklı bir uygulama askıya alınmış bir keşif oturumunu devam ettirdiğinde çerçeve, ilişkili tüm NDP oturumları da dahil olmak üzere oturumu önceki durumuna döndürür. Askıya alınmış bir keşif oturumunu devam ettirmek, kablosuz ağ farkındalığı özelliğini açıp yeni bir keşif oturumu oluşturmaktan daha hızlıdır.

Keşif oturumlarını duraklatma ve devam ettirme özelliğini desteklemek için cihaz üreticilerinin HAL ve donanım yazılımı desteği sağlaması gerekir. Ayrıntılı bilgi için IWifiNanIface.java başlıklı makaleyi inceleyin.

Cihaz üreticileri, bant dışı iletişimleri (örneğin, BDE) kullanarak birden çok cihazda askıya alma ve devam ettirme işlemlerini senkronize edebilirsiniz.

Doğrulama

Android, Wi-FiAware özelliğini doğrulamak için bir dizi birim testi, Uyumluluk Test Paketi (CTS) testi ve CTS Doğrulayıcı testi sağlar. Wi-Fi Aware, Tedarikçi Test Paketi (VTS) kullanılarak da test edilebilir.

Birim testleri

Wi-Fi Aware paket testleri şunlar kullanılarak yürütülür:

Hizmet testleri:

atest com.android.server.wifi.aware

Yönetici tarafından test edilir:

atest android.net.wifi.aware

Compatibility Test Suite (CTS) testleri

Wi-Fi Aware özelliğini doğrulamak için CTS testlerini kullanın. CTS, bir özelliğin etkinleştirilir ve ilişkili testleri otomatik olarak içerir.

CTS testleri şunlar kullanılarak tetiklenebilir:

atest SingleDeviceTest

CTS Doğrulayıcı testleri

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