Kablosuz Uyumlu

Android 8.0'da eklenen Wi-Fi Aware özelliği, destekleyen cihazların internet veya hücresel ağ erişimi olmadan Wi-Fi Aware protokolünü kullanarak doğrudan birbirlerini keşfetmesine, bağlanmasına ve (Android 9'da eklenmiştir) menzile girmesine olanak tanır. Wi-Fi Alliance (WFA) Wi-Fi Aware spesifikasyonu (sürüm 2.0, 3.0, 3.1 ve 4.0) üzerine inşa edilen bu özellik, yüksek verimli verilerin, normalde ağ dışında olan güvenilir cihazlar ve uygulamalar arasında kolayca paylaşılmasına olanak tanır.

Örnekler ve kaynak

Bu özelliği kullanmak için cihaz üreticilerinin Wi-Fi Satıcısı HAL'yi uygulaması gerekir. Android 14 ve üzeri sürümlerde Satıcı HAL arayüzü AIDL kullanılarak tanımlanır. Android 13 ve önceki sürümler için Satıcı HAL arayüzü HIDL kullanılarak tanımlanır.

Wi-Fi Aware özelliğini kullanmak için Wi-Fi arayüzünü takip edin. Hangi arayüzün uygulandığına bağlı olarak bu şunlardan biridir:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 veya üstü

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

Uygulama

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

  • Çerçeve:
    • AOSP kodu
    • Aware'i Etkinleştir: Hem özellik bayrağı hem de yapı bayrağı gerektirir
  • Wi-Fi Aware (NAN) HAL desteği (ürün yazılımı desteği anlamına gelir)

Bu özelliği uygulamak için cihaz üreticileri Wi-Fi arayüzünü uygular ve iki özellik işaretini etkinleştirir:

  • device/<oem>/<device> konumunda bulunan BoardConfig.mk veya BoardConfig-common.mk dosyasına aşağıdaki bayrağı ekleyin:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • device/<oem>/<device> konumunda bulunan device.mk dosyasında, Wi-Fi Aware özelliği desteğini içerecek şekilde 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ünü kullanan eşdüzey cihazlara kadar menzili 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 hem de Wi-Fi RTT'yi desteklemesi gerekir. Daha fazla ayrıntı için Wi-Fi RTT'ye bakın.

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

WIFI_HAL_INTERFACE_COMBINATIONS bayrağı belirtilirse, WIFI_HIDL_FEATURE_AWARE bayrağı dikkate alınmaz. Daha fazla bilgi için bkz. Wi-Fi çoklu arayüz eşzamanlılığı .

MAC rastgeleleştirmesi

Android, Wi-Fi Aware Discovery'nin (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 şöyle olmalıdır:

  • Wi-Fi Aware etkinleştirildiğinde veya yeniden etkinleştirildiğinde rastgele seçilir.
  • Wi-Fi Aware etkinleştirildiğinde, MAC adresinin NanConfigRequest.macAddressRandomizationIntervalSec parametresi tarafından yapılandırılan düzenli aralıklarla rastgele seçilmesi gerekir. Bu, çerçeve tarafından varsayılan olarak 30 dakika olacak şekilde yapılandırılmıştır.

Askıya al ve devam ettir

Android 14 ve üzeri sürümlerde Wi-Fi Aware, ayrıcalıklı uygulamaların aktif keşif oturumlarını (bu oturumlarla ilişkili tüm veri yolları dahil) askıya alma ve devam ettirme yeteneğini destekler. Bu yeteneğin desteklenmesi, cihazların keşif oturumlarına daha hızlı devam etmesine ve keşif oturumları askıya alınabileceğinden daha az güç kullanmasına olanak tanır.

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

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

Keşif oturumlarını askıya alma ve sürdürme yeteneğini desteklemek için cihaz üreticilerinin HAL ve ürün yazılımı desteği sağlaması gerekir. Ayrıntılar için bkz. IWifiNanIface.java .

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

Doğrulama

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

Birim testleri

Wi-Fi Aware paket testleri aşağıdakiler kullanılarak gerçekleştirilir:

Servis testleri:

atest com.android.server.wifi.aware

Yönetici testleri:

atest android.net.wifi.aware

Entegrasyon testleri (ACTS)

tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md adresinde açıklanan acts/sl4a test paketi işlevsellik, performans ve stres testleri sağlar.

Uyumluluk Test Paketi (CTS) testleri

Wi-Fi Aware özelliğini doğrulamak için CTS testlerini kullanın. CTS, özelliğin ne zaman etkinleştirildiğini algılar ve ilgili testleri otomatik olarak dahil eder.

CTS testleri aşağıdakiler kullanılarak tetiklenebilir:

atest SingleDeviceTest

CTS Doğrulayıcı testleri

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