測試、偵錯及調整 Wi-Fi

本頁說明如何使用 所提供的工具

測試

為測試 Wi-Fi 架構,Android 開放原始碼計畫提供單元測試和 CTS 測試。

單元測試

Android 開放原始碼計畫提供預設 Wi-Fi 架構的功能和單元測試: Wi-Fi Manager (應用程式端程式碼) 和 Wi-Fi 服務

Wi-Fi 管理員測試:

  • 位於packages/modules/Wifi/framework/tests/
  • 使用下列殼層執行檔執行 (讀取檔案以便執行其他工作) 選項):

    atest FrameworksWifiApiTests
    

Wi-Fi 服務測試:

  • 位於packages/modules/Wifi/service/tests/wifitests/
  • 使用下列殼層執行檔執行 (讀取檔案以便執行其他工作) 選項):

    atest FrameworksWifiTests
    

CTS 測試

Compatibility Test Suite (CTS) 包含 Wi-Fi 架構。位於 cts/tests/tests/net/src/android/net/wifi。Wi-Fi CTS 測試需要 要在測試開始時與某個存取點建立關聯的裝置下達測試 此程序的第一步 是將程式碼簽入執行所有單元測試的存放區中

強化版記錄選項,用於偵錯

Android 9 改善 Wi-Fi 記錄功能,讓 Wi-Fi 問題偵錯。在 Android 9 以上版本中 驅動程式或韌體環緩衝區可隨時開啟。錯誤報告會自動 (僅適用於使用者偵錯版本和 eng 版本) 偵測到錯誤狀態時觸發。 使用 Wi-Fi HAL (AIDL 或 HIDL 1.2 以上版本) 時,韌體 偵錯緩衝區會儲存在 HAL 中,而非儲存處理序間通訊 (IPC) 成本的架構。

實作

如需參考實作,請參閱 預設實作 受制於供應商 HAL

如要停用韌體記錄功能,您可以設定資源 config_wifi_enable_wifi_firmware_debugging 設為 false。

手動測試

執行這項手動測試,驗證 正在刪除 tombstone 目錄

  1. 開啟 Wi-Fi。
  2. 連線至網路。
  3. 產生錯誤報告
  4. 檢查錯誤報告 ZIP 檔案,並確認已封存的韌體記錄 個值。記錄位於下列位置:

    • AIDL HAL:主要錯誤報告檔案的 dumpsys 部分
    • HIDL HAL:/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt

設定調整

控制裝置與/或裝置連結的訊號強度 未與網路建立關聯,Wi-Fi 架構會使用 entryexit RSSI 門檻。

entryexit 門檻會以可超載設定的形式儲存 參數如下所示 (其中 bad 參數是指 exit RSSI 門檻):

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

參數會儲存在 <root>/frameworks/base/core/res/res/values/config.xml,且可能超載 使用疊加層檔案 <root>/device/<dev_dir>/overlay/frameworks/base/core/res/res/values/config.xml

您可以使用 ADB 指令設定裝置,測試新的閾值。 (您也可以使用新的疊加層建立建構,但使用 ADB 指令) 加快測試作業)

adb shell settings put global wifi_score_params \
                             [rssi2|rssi5]=<bad>:<entry>:<low>:<good>

舉例來說,下列指令會設定新的門檻參數 ( 這個範例指令中使用的值是 Android 開放原始碼計畫中設定的預設值 程式碼集):

adb shell settings put global wifi_score_params \
                       rssi2=-85:-85:-73:-60,rssi5=-82:-82:-70:-57

如要還原內建參數值 (例如移除覆寫),請使用 以下 ADB 指令:

adb shell settings delete global wifi_score_params