На этой странице рассказывается, как тестировать, отлаживать и настраивать реализацию Wi-Fi с помощью инструментов, предоставляемых в AOSP.
Тестирование
Для тестирования фреймворка Wi-Fi в AOSP предусмотрены модульные тесты и тесты CTS.
Модульные тесты
AOSP включает функциональные и модульные тесты для стандартного фреймворка Wi-Fi: как для Wi-Fi Manager (код на стороне приложения), так и для Wi-Fi Service.
Тесты 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. Для проведения тестов CTS Wi-Fi необходимо, чтобы тестируемое устройство было подключено к точке доступа в начале тестирования.
Расширенные возможности ведения журналов для отладки
В Android 9 улучшено ведение журналов Wi-Fi, чтобы упростить отладку проблем с Wi-Fi. В Android 9 и более поздних версиях буферы кольцевой памяти драйвера или встроенного ПО могут быть включены всегда. Отчеты об ошибках могут создаваться автоматически при обнаружении некорректного состояния (только в сборках userdebug и eng). При использовании Wi-Fi HAL (AIDL или HIDL версии 1.2 или выше) буферы отладки встроенного ПО хранятся в HAL, а не в платформе, чтобы снизить затраты на IPC.
Реализация
Пример реализации можно найти в реализации по умолчанию в Vendor HAL.
Чтобы отключить ведение журнала встроенного ПО, задайте для ресурса config_wifi_enable_wifi_firmware_debugging значение false.
Тестирование вручную
Выполните этот тест вручную, чтобы убедиться, что старые файлы в каталоге tombstone удаляются.
- Включите Wi-Fi.
- Подключите устройство к сети.
- Создайте отчет об ошибке.
Проверьте ZIP-файл отчета об ошибке и убедитесь, что в нем есть заархивированные журналы встроенного ПО. Журналы находятся в следующих местах:
- AIDL HAL: раздел
dumpsysосновного файла bugreport - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: раздел
Настройка конфигурации
Чтобы управлять уровнем сигнала, при котором устройство подключается к сети или отключается от нее, фреймворк Wi-Fi использует пороговые значения RSSI entry и exit.
Пороговые значения входа и выхода хранятся как перегружаемые параметры конфигурации со следующими названиями (параметр bad относится к пороговому значению RSSI выхода):
config_wifi_framework_wifi_score_bad_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_entry_rssi_threshold_5GHzconfig_wifi_framework_wifi_score_bad_rssi_threshold_24GHzconfig_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>Например, следующая команда задает новые пороговые значения (в этом примере используются значения по умолчанию, заданные в кодовой базе AOSP):
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