На этой странице описывается, как тестировать, отлаживать и настраивать реализацию Wi-Fi с помощью инструментов, предоставляемых в AOSP.
Тестирование
Для тестирования инфраструктуры Wi-Fi AOSP предоставляет набор модульных тестов, интеграционных тестов (ACTS) и тестов 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
Тестовый набор Android Comms
Android Comms Test Suite (ACTS) выполняет автоматизированное тестирование стеков подключения, таких как Wi-Fi, Bluetooth и услуги сотовой связи. Инструмент тестирования требует adb и Python, и его можно найти в tools/test/connectivity/acts
.
Тесты ACTS для Wi-Fi находятся в tools/test/connectivity/acts_tests/tests/google/wifi
с примером конфигурации теста в том же каталоге: example_config.json
.
CTS-тесты
Набор тестов совместимости (CTS) включает тесты для платформы Wi-Fi. Они расположены в cts/tests/tests/net/src/android/net/wifi
. Тесты Wi-Fi CTS требуют, чтобы тестируемое устройство было связано с точкой доступа в начале выполнения теста.
Расширенные параметры ведения журнала для отладки
В Android 9 улучшено ведение журнала Wi-Fi, чтобы упростить отладку проблем с Wi-Fi. В Android 9 и более поздних версиях кольцевые буферы драйверов/прошивок всегда могут быть включены. Отчеты об ошибках могут автоматически запускаться при обнаружении плохого состояния (только в сборках userdebug и eng). Когда используется HAL Wi-Fi (версия 1.2 или выше), буферы отладки встроенного ПО сохраняются в HAL, а не в инфраструктуре, чтобы сократить затраты на IPC.
Реализация
Для эталонной реализации см. реализацию по умолчанию в поставщике HAL.
Вы можете отключить ведение журнала прошивки, установив для ресурса config_wifi_enable_wifi_firmware_debugging
значение false.
Интеграционный тест (ACTS)
Интеграционный тест можно найти по адресу /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py
.
Проверенные дампы встроенного ПО сохраняются в соответствующем каталоге захоронения во флэш-памяти для сборок пользовательской отладки. Dumpstate собирается из этого каталога при создании отчета об ошибке.
Ручной тест
Запустите этот ручной тест, чтобы убедиться, что старые файлы в каталоге захоронения удаляются.
- Включите Wi-Fi.
- Подключиться к сети.
- Создайте отчет об ошибке .
- Проверьте ZIP-файл отчета об ошибке и убедитесь, что
/lshal-debug/android.hardware.wifi@1.2__IWifi_default.txt
содержит заархивированные журналы прошивки.
Настройка конфигурации
Для управления уровнем сигнала, при котором устройство подключается к сети или отключается от нее, платформа 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