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 titik Akses (AP) atau pembanding Wi-Fi Aware (jika Wi-Fi Aware didukung pada perangkat tersebut). Fitur ini, yang dibuat berdasarkan protokol IEEE 802.11mc, memungkinkan aplikasi menggunakan deteksi dan akurasi lokasi yang ditingkatkan.

Contoh dan sumber

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

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

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 atau yang lebih baru.

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

Penerapan

Untuk menerapkan Wi-Fi RTT, Anda harus memberikan dukungan framework dan HAL/firmware:

  • Kerangka kerja:

    • Kode AOSP
    • Mengaktifkan Wi-Fi RTT: memerlukan tombol fitur
  • Dukungan HAL Wi-Fi RTT (IEEE 802.11mc) (yang menyiratkan dukungan firmware)

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

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

    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 sudah disertakan dalam AOSP.

Pengacakan MAC

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

Validasi

Terdapat uji coba Compatibility Test Suite (CTS) Android untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan otomatis menyertakan pengujian terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS).

Pengujian Unit

Pengujian paket Wi-Fi RTT dijalankan menggunakan:

Pengujian layanan:

atest com.android.server.wifi.rtt

Pengelola menguji:

atest android.net.wifi.rtt

CTS

Terdapat uji coba Compatibility Test Suite (CTS) Android untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan otomatis menyertakan pengujian terkait. Titik Akses yang mendukung Wi-Fi RTT (IEEE 802.11mc) harus berada dalam jangkauan perangkat yang sedang diuji.

Uji CTS dapat dipicu menggunakan:

atest WifiRttTest

Kalibrasi

Agar Wi-Fi RTT berperforma baik, rentang yang ditampilkan dalam protokol 802.11mc idealnya akurat dalam Key Performance Indicator (KPI). Untuk error CDF 90%, pada bandwidth yang tercantum, KPI yang direkomendasikan untuk estimasi rentang diperkirakan memiliki toleransi berikut:

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

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

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

  1. Laboratorium terbuka yang besar, atau koridor yang tidak memiliki banyak benda logam yang dapat menghasilkan kemunculan multijalur yang sangat tinggi.
  2. Setidaknya jalur Line-Of-Sight (LOS) atau jalur yang membentang sepanjang 25 m.
  3. Penanda dengan kelipatan 0,5 meter dari satu ujung trek ke ujung lainnya.
  4. Tempat untuk mengamankan titik akses berkemampuan RTT di salah satu ujung jalur yang dipasang 20 cm di atas lantai, dan dudukan yang dapat dipindah untuk ponsel Android (atau perangkat seluler Android yang sedang diuji) yang dapat digerakkan di sepanjang lintasan, dan sejajar dengan penanda 0,5 m, juga pada ketinggian 20 cm di atas lantai.

  5. 50 hasil rentang harus dicatat pada setiap penanda, bersama dengan jarak dari titik akses. Statistik, seperti rata-rata rentang dan varians, harus dihitung untuk setiap posisi penanda.

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