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 Points (AP) atau rekan Wi-Fi Aware (jika Wi-Fi Aware didukung di perangkat). Fitur ini, dibangun di atas protokol IEEE 802.11mc, memungkinkan aplikasi menggunakan akurasi dan kesadaran lokasi yang ditingkatkan.

Contoh dan sumber

Untuk menggunakan fitur ini, terapkan Wi-Fi Hardware Interface Design Language (HIDL) yang disediakan di Android Open Source Project (AOSP). Di Android 8.0, HIDL menggantikan struktur Hardware Abstraction Layer (HAL) sebelumnya yang digunakan untuk menyederhanakan implementasi dengan menentukan jenis dan panggilan metode yang dikumpulkan ke dalam antarmuka dan paket.

Ikuti Wi-Fi HIDL untuk menggunakan fitur Wi-Fi RTT: hardware/interfaces/wifi/1.0 atau yang lebih baru.

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

Penerapan

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

  • Kerangka:

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

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

  • Di device.mk terletak di device/<oem>/<device> , ubah variabel lingkungan PRODUCT_COPY_FILES untuk menyertakan dukungan 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 termasuk 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, saat perangkat dikaitkan dengan AP, perangkat tersebut dapat menggunakan alamat MAC yang terkait dengan transaksi RTT apa pun dengan AP tersebut atau dengan AP lain.

Validasi

Pengujian Android Compatibility Test Suite (CTS) ada untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan tes terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS) dan act/sl4a , suite pengujian yang melakukan pengujian integrasi ekstensif.

Tes unit

Pengujian paket RTT Wi-Fi 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

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

Tes CTS dapat dipicu menggunakan:

atest WifiRttTest

Kalibrasi

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

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

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

Hal ini dapat dicapai dengan membandingkan rentang kebenaran dasar terhadap rentang perkiraan RTT pada jarak yang meningkat. 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 mengakibatkan terjadinya multi-jalur yang luar biasa tinggi.
  2. Setidaknya jalur/jalur Line-Of-Sight (LOS) memanjang sejauh 25m.
  3. Penanda dengan kenaikan 0,5 meter dari satu ujung trek ke ujung lainnya.
  4. Tempat untuk mengamankan titik akses berkemampuan RTT di salah satu ujung trek yang dipasang 20cm di atas lantai, dan dudukan yang dapat dipindahkan untuk ponsel Android (atau perangkat seluler Android lainnya yang sedang diuji) yang dapat dipindahkan di sepanjang trek, dan disejajarkan dengan Penanda 0,5m, juga pada 20cm di atas lantai. Catatan: Tugas berulang ini dapat dilakukan oleh robot kecil, tetapi operator manusia juga baik-baik saja.
  5. 50 hasil rentang harus dicatat pada setiap penanda, bersama dengan jarak dari titik akses. Statistik, seperti rentang mean dan varians, harus dihitung untuk setiap posisi penanda.

Dari hasil pada langkah 5, sebuah bagan dapat dibuat untuk kebenaran dasar (sumbu x) terhadap kisaran perkiraan (sumbu y) dan garis regresi yang paling cocok diestimasi. 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.