Wi-Fi RTT (IEEE 802.11mc)

Android 9 的 Wi-Fi 封包往返時間 (RTT) 功能可讓支援裝置測量與其他支援裝置的距離,例如其為存取點 (AP) 或 Wi-Fi 感知類裝置 (如果裝置支援 Wi-Fi Aware)。這項功能以 IEEE 802.11mc 通訊協定為基礎,可讓應用程式使用更精確的定位精確度和偵測。

範例和來源

如要使用這項功能,請實作供應商 HAL 介面。在 Android 14 以上版本中,供應商 HAL 介面是以 AIDL 定義。在 Android 13 及以下版本中,供應商 HAL 介面是以 HIDL 定義。在 Android 8.0 中,HIDL 取代了先前用於簡化實作項目的硬體抽象層 (HAL) 結構,方法是指定介面和套件收集到的類型和方法呼叫。

按照 Wi-Fi 介面操作,使用 Wi-Fi RTT 功能。 視實作的介面而定,這可能是:

  • AIDL:hardware/interfaces/wifi/aidl
  • HIDL:hardware/interfaces/wifi/1.0 以上版本。

您可以參考舊版 Wi-Fi HAL,瞭解該版本與 AIDL 和 HIDL 介面之間的關聯:hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h

導入作業

如要實作 Wi-Fi RTT,您必須提供架構和 HAL/韌體支援:

  • 架構:

    • Android 開放原始碼計畫程式碼
    • 啟用 Wi-Fi RTT:功能標記
  • Wi-Fi RTT (IEEE 802.11mc) HAL 支援 (代表韌體支援)

如要實作這項功能,請實作 Wi-Fi AIDL 或 HIDL 介面,然後啟用功能旗標:

  • device/<oem>/<device> 中的 device.mk 中,修改 PRODUCT_COPY_FILES 環境變數以支援 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
    

在其他情況下,Android 開放原始碼計畫已納入這項功能所需的一切資訊。

MAC 隨機化

為進一步保護隱私,Wi-Fi RTT 交易期間使用的 MAC 位址必須使用隨機化,也就是必須與 Wi-Fi 介面的原生 MAC 位址不相符。不過例外情況是,當裝置與 AP 建立關聯時,可能會使用與該 AP 或其他 AP 相關的任何 RTT 交易相關聯的 MAC 位址。

驗證

有 Android Compatibility Test Suite (CTS) 測試支援這項功能。CTS 會偵測這項功能啟用時,並自動納入相關測試。您也可以使用供應商測試套件 (VTS) 來測試這項功能。

單元測試

Wi-Fi RTT 套件測試是使用以下方式執行:

服務測試:

atest com.android.server.wifi.rtt

管理員測試:

atest android.net.wifi.rtt

CTS

有 Android Compatibility Test Suite (CTS) 測試支援這項功能。CTS 會偵測這項功能啟用時,並自動納入相關測試。支援 Wi-Fi RTT (IEEE 802.11mc) 的存取點必須位於受測裝置的範圍內。

您可以透過以下方式觸發 CTS 測試:

atest WifiRttTest

校準

為了讓 Wi-Fi RTT 發揮最佳效能,802.11mc 通訊協定中傳回的範圍在主要成效指標 (KPI) 中相當準確。針對 90% CDF 錯誤,根據列出的頻寬,建議的範圍 KPI 應具有下列容忍度:

  • 80MHz:2 公尺
  • 40MHz:4 公尺
  • 20MHz:8 公尺

為確保功能的實作方式能正常運作,請務必進行校正測試。

要達成這個目的,您可以將真值範圍與增加距離的 RTT 預估範圍進行比較。針對基本符合性,您應根據已知已完成 RTT 校正的裝置驗證解決方案。應在下列條件下測試範圍校正:

  1. 大型開放實驗室,或是不含大量金屬物體的走廊,可能會導致多徑發生異常大量的情況。
  2. 至少 25 公尺的視線 (LOS) 軌道或路徑延展至 25 公尺。
  3. 以 0.5 公尺為單位的標記,從軌道一端到另一端之間遞增。
  4. 將 RTT 支援的 RTT 存取點固定在跑道上一端上方 20 公分的安裝處,以及可隨著軌道移動並對齊 0.5 公尺標記的 Android 手機 (或其他受測試的 Android 行動裝置) 的可移動掛架。

  5. 每個標記應記錄 50 筆距離結果,並記錄與存取點之間的距離。應針對每個標記位置計算範圍平均值和變異數等統計資料。

根據步驟 5 的結果,系統會根據預估範圍 (y 軸) 和預估最佳適配迴歸線,繪製實際資料 (x 軸) 圖表。理想情況下,裝置校正會產生漸層 1.0 的折線,y 軸的偏移值為 0.0m。如果這些值落在對應頻寬的 KPI 內,則可以接受這些值的偏差。如果結果不在 KPI 範圍內,則應重新校正裝置功能,根據 KPI 規格提供結果。