Wi-Fi Aware

Fitur Wi-Fi Aware yang ditambahkan di Android 8.0 memungkinkan perangkat pendukung menemukan, terhubung, dan menjangkau (ditambahkan di Android 9) satu sama lain secara langsung menggunakan protokol Wi-Fi Aware tanpa akses internet atau jaringan seluler. Fitur ini, yang dibangun berdasarkan spesifikasi Wi-Fi Aware Wi- Fi Alliance (WFA) (versi 2.0, 3.0, 3.1, dan 4.0), memungkinkan berbagi data dengan throughput tinggi dengan mudah di antara perangkat dan aplikasi tepercaya yang berada di luar jaringan.

Contoh dan sumber

Untuk menggunakan fitur ini, produsen perangkat harus menerapkan Wi-Fi Vendor HAL. Di Android 14 dan lebih tinggi, antarmuka Vendor HAL ditentukan menggunakan AIDL. Untuk Android 13 dan lebih rendah, antarmuka Vendor HAL ditentukan menggunakan HIDL.

Ikuti antarmuka Wi-Fi untuk menggunakan fitur Wi-Fi Aware. Tergantung pada antarmuka mana yang diimplementasikan, ini adalah:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.2 atau lebih baru

Anda dapat merujuk ke HAL Wi-Fi lama untuk melihat korelasinya dengan antarmuka AIDL dan HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h .

Penerapan

Produsen perangkat perlu menyediakan kerangka kerja dan dukungan HAL/firmware:

  • Kerangka:
    • kode AOSP
    • Aktifkan Sadar: Memerlukan tanda fitur dan tanda build
  • Dukungan Wi-Fi Aware (NAN) HAL (yang berarti dukungan firmware)

Untuk menerapkan fitur ini, produsen perangkat menerapkan antarmuka Wi-Fi dan mengaktifkan dua tanda fitur:

  • Di BoardConfig.mk atau BoardConfig-common.mk yang terletak di device/<oem>/<device> , tambahkan tanda berikut:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • Di device.mk yang terletak di device/<oem>/<device> , ubah variabel lingkungan PRODUCT_COPY_FILES untuk menyertakan dukungan untuk fitur Wi-Fi Aware:

    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 mencakup perangkat peer-to-peer yang menggunakan protokol IEEE 802.11mc, juga dikenal sebagai Round Trip Time (RTT). Sub-fitur Wi-Fi Aware ini bergantung pada perangkat yang mendukung fitur Wi-Fi RTT, yaitu mengharuskan perangkat mendukung Wi-Fi Aware dan Wi-Fi RTT. Untuk detail selengkapnya, lihat RTT Wi-Fi .

Jika tidak, semua yang diperlukan untuk fitur ini disertakan dalam AOSP.

Tanda WIFI_HIDL_FEATURE_AWARE diabaikan jika tanda WIFI_HAL_INTERFACE_COMBINATIONS ditentukan. Untuk informasi selengkapnya, lihat Konkurensi multi-antarmuka Wi-Fi .

pengacakan MAC

Android mengharuskan alamat MAC penemuan Wi-Fi Aware (NMI) dan antarmuka data (NDP) diacak dan tidak sama dengan alamat MAC perangkat yang sebenarnya. Alamat MAC harus:

  • Diacak setiap kali Wi-Fi Aware diaktifkan atau diaktifkan kembali.
  • Saat Wi-Fi Aware diaktifkan, alamat MAC harus diacak secara berkala yang dikonfigurasi oleh parameter NanConfigRequest.macAddressRandomizationIntervalSec . Ini dikonfigurasi oleh kerangka kerja secara default menjadi 30 menit.

Tangguhkan dan lanjutkan

Di Android 14 dan lebih tinggi, Wi-Fi Aware mendukung kemampuan aplikasi yang memiliki hak istimewa untuk menangguhkan dan melanjutkan sesi penemuan aktif (termasuk semua jalur data yang terkait dengan sesi tersebut). Mendukung kemampuan ini memungkinkan perangkat melanjutkan sesi penemuan lebih cepat dan menggunakan lebih sedikit daya karena sesi penemuan dapat ditangguhkan.

Jika perangkat mendukung kemampuan penangguhan dan melanjutkan ini, firmware akan menangguhkan sesi Wi-Fi Aware ketika aplikasi yang memiliki hak istimewa menangguhkan sesi penemuan. Saat sesi penemuan berada dalam status ditangguhkan, perangkat tidak mengirimkan atau menerima frame apa pun untuk sesi tersebut termasuk NDP aktif apa pun dalam sesi tersebut. Jika semua sesi penemuan ditangguhkan, perangkat tidak mengirimkan atau menerima frame Wi-Fi Aware apa pun.

Saat aplikasi yang memiliki hak istimewa melanjutkan sesi penemuan yang ditangguhkan, kerangka kerja akan mengembalikan sesi tersebut ke keadaan sebelumnya, termasuk semua sesi NDP terkait. Melanjutkan sesi penemuan yang ditangguhkan lebih cepat daripada membuka Wi-Fi Aware dan membuat sesi penemuan baru.

Untuk mendukung kemampuan menangguhkan dan melanjutkan sesi penemuan, produsen perangkat harus menyediakan dukungan HAL dan firmware. Untuk detailnya, lihat IWifiNanIface.java .

Produsen perangkat dapat menggunakan komunikasi out-of-band (misalnya, BLE) untuk menyinkronkan penundaan dan melanjutkan di beberapa perangkat.

Validasi

Android menyediakan serangkaian pengujian unit, pengujian integrasi (ACTS), pengujian Compatibility Test Suite (CTS) , dan pengujian CTS Verifier untuk memvalidasi fitur Wi-Fi Aware. Wi-Fi Aware juga dapat diuji menggunakan Vendor Test Suite (VTS) .

Tes satuan

Pengujian paket Wi-Fi Aware dijalankan menggunakan:

Tes layanan:

atest com.android.server.wifi.aware

Tes manajer:

atest android.net.wifi.aware

Tes integrasi (ACTS)

Rangkaian pengujian acts/sl4a , yang dijelaskan dalam tools/test/connectivity/acts_tests/tests/google/wifi/aware/README.md , menyediakan pengujian fungsional, kinerja, dan stres.

Tes Rangkaian Tes Kompatibilitas (CTS).

Gunakan tes CTS untuk memvalidasi fitur Wi-Fi Aware. CTS mendeteksi ketika fitur ini diaktifkan dan secara otomatis menyertakan pengujian terkait.

Tes CTS dapat dipicu menggunakan:

atest SingleDeviceTest

Tes Pemverifikasi CTS

Pengujian CTS Verifier memvalidasi perilaku Wi-Fi Aware menggunakan dua perangkat: perangkat pengujian dan perangkat yang diketahui berfungsi baik . Untuk menjalankan pengujian, buka CTS Verifier dan navigasikan ke bagian berjudul Wi-Fi Aware Tests.