Wi-Fi RTT (IEEE 802.11mc)

Fitur Wi-Fi Round Trip Time (RTT) di Android 9 memungkinkan perangkat pendukung mengukur jarak ke perangkat pendukung lainnya: apakah itu Access Point (AP) atau rekan Wi-Fi Aware (jika Wi-Fi Aware didukung di perangkat). Fitur ini, yang dibangun berdasarkan protokol IEEE 802.11mc, memungkinkan aplikasi menggunakan akurasi dan kesadaran lokasi yang ditingkatkan.

Contoh dan sumber

Untuk menggunakan fitur ini, implementasikan antarmuka Vendor HAL. Di Android 14 dan lebih tinggi, antarmuka Vendor HAL ditentukan menggunakan AIDL. Di Android 13 dan yang lebih rendah, antarmuka Vendor HAL ditentukan menggunakan HIDL. Di Android 8.0, HIDL menggantikan struktur Lapisan Abstraksi Perangkat Keras (HAL) sebelumnya yang digunakan untuk menyederhanakan implementasi dengan menentukan tipe dan pemanggilan metode yang dikumpulkan ke dalam antarmuka dan paket.

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

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 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/rtt.h .

Penerapan

Untuk mengimplementasikan Wi-Fi RTT, Anda harus menyediakan dukungan kerangka kerja dan HAL/firmware:

  • Kerangka:

    • kode AOSP
    • Aktifkan Wi-Fi RTT: memerlukan tanda fitur
  • Dukungan HAL Wi-Fi RTT (IEEE 802.11mc) (yang berarti dukungan firmware)

Untuk menerapkan fitur ini, terapkan antarmuka Wi-Fi AIDL atau HIDL, dan aktifkan tanda fitur:

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

    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
    

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

pengacakan MAC

Untuk meningkatkan privasi, alamat MAC yang digunakan selama transaksi RTT Wi-Fi harus diacak, yaitu tidak boleh cocok dengan alamat MAC asli antarmuka Wi-Fi. Namun, sebagai pengecualian, ketika suatu perangkat dikaitkan dengan sebuah AP, perangkat tersebut dapat menggunakan alamat MAC yang dikaitkan dengannya untuk setiap transaksi RTT dengan AP tersebut atau dengan AP lainnya.

Validasi

Tes Android Compatibility Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi ketika fitur ini diaktifkan dan secara otomatis menyertakan pengujian terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS) dan act/sl4a , rangkaian pengujian yang melakukan pengujian integrasi ekstensif.

Tes satuan

Pengujian paket Wi-Fi RTT dijalankan menggunakan:

Tes layanan:

atest com.android.server.wifi.rtt

Tes manajer:

atest android.net.wifi.rtt

Tes Integrasi (ACTS).

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

CTS

Tes Android Compatibility Test Suite (CTS) tersedia untuk fitur ini. CTS mendeteksi ketika fitur ini diaktifkan dan secara otomatis menyertakan pengujian terkait. Titik Akses yang mendukung Wi-Fi RTT (IEEE 802.11mc) harus berada dalam jangkauan perangkat yang diuji.

Tes CTS dapat dipicu menggunakan:

atest WifiRttTest

Kalibrasi

Agar Wi-Fi RTT berfungsi dengan baik, rentang yang dikembalikan dalam protokol 802.11mc idealnya akurat dalam Indikator Kinerja Utama (KPI). Untuk kesalahan CDF 90%, pada bandwidth yang tercantum, KPI yang direkomendasikan untuk perkiraan rentang diharapkan memiliki toleransi berikut:

  • 80MHz: 2 meter
  • 40MHz: 4 meter
  • 20MHz: 8 meter

Untuk memastikan implementasi fitur berfungsi dengan benar, diperlukan pengujian kalibrasi.

Hal ini dapat dicapai dengan membandingkan rentang kebenaran dasar dengan rentang perkiraan RTT pada jarak yang semakin jauh. Untuk kesesuaian dasar, Anda harus memvalidasi solusi Anda terhadap perangkat yang diketahui telah dikalibrasi RTT. Kalibrasi rentang harus diuji dalam kondisi berikut:

  1. Laboratorium terbuka yang besar, atau koridor yang tidak memiliki banyak benda logam yang dapat mengakibatkan tingginya kejadian multi-jalur.
  2. Setidaknya jalur/jalur Line-Of-Sight (LOS) yang memanjang 25m.
  3. Penanda dengan jarak 0,5 meter dari satu ujung lintasan ke ujung lintasan lainnya.
  4. Tempat untuk mengamankan titik akses berkemampuan RTT di salah satu ujung lintasan yang dipasang 20cm di atas lantai, dan dudukan yang dapat dipindahkan untuk ponsel Android (atau perangkat seluler Android lainnya yang diuji) yang dapat dipindahkan di sepanjang lintasan, dan disejajarkan dengan Spidol 0,5m, juga pada ketinggian 20cm di atas lantai. Catatan: Tugas berulang ini dapat dilakukan oleh robot kecil, namun operator manusia juga dapat melakukannya.
  5. 50 hasil jangkauan harus dicatat pada setiap penanda, bersama dengan jarak dari titik akses. Statistik, seperti rentang rata-rata dan varians, harus dihitung untuk setiap posisi penanda.

Dari hasil pada langkah 5, dapat dibuat diagram kebenaran dasar (sumbu x) terhadap rentang perkiraan (sumbu y) dan perkiraan garis regresi yang paling sesuai. Kalibrasi perangkat yang ideal akan menghasilkan garis gradien 1,0, dengan offset 0,0m pada sumbu y. Penyimpangan dari nilai-nilai ini dapat diterima jika berada dalam KPI untuk bandwidth yang sesuai. Jika hasilnya di luar KPI, fitur perangkat harus dikalibrasi ulang agar hasilnya sesuai dengan spesifikasi KPI.