本頁面說明如何使用 AOSP 提供的工具測試、偵錯及調整 Wi-Fi 實作。
測試
為了測試 Wi-Fi 架構,Android 開放原始碼計畫提供單元測試和 CTS 測試。
單元測試
AOSP 包含預設 Wi-Fi 架構的功能和單元測試:針對 Wi-Fi 管理工具 (應用程式端程式碼) 和 Wi-Fi 服務。
Wi-Fi Manager 測試:
- 位於
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 以上版本中,驅動程式或韌體環緩衝區可隨時開啟。系統僅會在使用者偵錯和工程版本偵測到錯誤狀態時,自動觸發錯誤報告。使用 Wi-Fi HAL (AIDL 或 HIDL 1.2 以上版本) 時,韌體偵錯緩衝區會儲存在 HAL 中,而非儲存處理處理序間通訊 (IPC) 費用的架構。
實作
如需參考實作方式,請參閱供應商 HAL 中的預設實作方式。
您可以將資源 config_wifi_enable_wifi_firmware_debugging
設為 false,停用韌體記錄功能。
手動測試
請執行這項手動測試,確認系統會刪除墓碑目錄中的舊檔案。
- 開啟 Wi-Fi。
- 連線至網路。
- 產生錯誤報告。
檢查錯誤報告 ZIP 檔案,確認是否有封存的韌體記錄。記錄檔位於下列位置:
- AIDL HAL:主要錯誤報告檔案的
dumpsys
部分 - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL:主要錯誤報告檔案的
設定調整
為控制裝置連結或解除連結網路的信號強度,Wi-Fi 架構會使用進入和離開 RSSI 閾值。
entry 和 exit 門檻會儲存為具有下列名稱的可超載設定參數 (其中 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