На этой странице описано, как тестировать, отлаживать и настраивать реализацию Wi-Fi с помощью инструментов, предоставляемых AOSP.
Тестирование
Для тестирования Wi-Fi-фреймворка AOSP предоставляет сочетание модульных тестов и тестов 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 и более поздних версиях буферы отладки драйверов или прошивки могут быть постоянно включены. Отчеты об ошибках могут автоматически запускаться при обнаружении некорректного состояния (только в сборках userdebug и eng). При использовании Wi-Fi HAL (AIDL или HIDL версии 1.2 или выше) буферы отладки прошивки хранятся в HAL, а не в фреймворке, что позволяет снизить затраты на межпроцессное взаимодействие.
Выполнение
Пример эталонной реализации см. в реализации по умолчанию в 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 при входе и выходе .
Входные и выходные пороговые значения хранятся в виде переопределяемых параметров конфигурации со следующими именами (где параметр bad относится к выходному пороговому значению 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>Например, следующая команда настраивает новые параметры порогового значения (значения, используемые в этом примере команды, соответствуют значениям по умолчанию, заданным в кодовой базе 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