Тестирование, отладка и настройка Wi-Fi

На этой странице описывается, как тестировать, отлаживать и настраивать реализацию Wi-Fi с помощью инструментов, предоставляемых в AOSP.

Тестирование

Для тестирования инфраструктуры Wi-Fi AOSP предоставляет сочетание модульных тестов, интеграционных тестов (ACTS) и тестов CTS.

Модульные тесты

AOSP включает функциональные и модульные тесты для платформы Wi-Fi по умолчанию: как для Wi-Fi Manager (код приложения), так и для службы Wi-Fi.

Тесты Wi-Fi Manager:

  • Находится в packages/modules/Wifi/framework/tests/
  • Запустите, используя следующий исполняемый файл оболочки (дополнительные параметры выполнения см. в файле):

    atest FrameworksWifiApiTests
    

Тесты службы Wi-Fi:

  • Находится в packages/modules/Wifi/service/tests/wifitests/
  • Запустите, используя следующий исполняемый файл оболочки (дополнительные параметры выполнения см. в файле):

    atest FrameworksWifiTests
    

Пакет тестов связи Android

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). При использовании Wi-Fi HAL (AIDL или HIDL версии 1.2 или выше) буферы отладки встроенного ПО сохраняются в HAL, а не в платформе, чтобы сэкономить затраты на IPC.

Выполнение

Эталонную реализацию см. в реализации по умолчанию в HAL поставщика.

Вы можете отключить ведение журнала встроенного ПО, установив для ресурса config_wifi_enable_wifi_firmware_debugging значение false.

Интеграционный тест (ACTS)

Интеграционный тест можно найти по адресу /tools/test/connectivity/acts_tests/tests/google/wifi/WifiDiagnosticsTest.py .

Проверенные дампы встроенного ПО сохраняются в соответствующем каталоге захоронения во флэш-памяти для сборок пользовательской отладки. Dumpstate собирается из этого каталога при создании отчета об ошибке.

Ручной тест

Запустите эту проверку вручную, чтобы убедиться, что старые файлы в каталоге захоронения удаляются.

  1. Включите Wi-Fi.
  2. Подключитесь к сети.
  3. Создайте отчет об ошибке .
  4. Проверьте ZIP-файл отчета об ошибке и убедитесь, что архивные журналы прошивки существуют. Журналы находятся в следующих местах:

    • AIDL HAL: раздел dumpsys основного файла отчета об ошибке.
    • HIDL HAL: /lshal-debug/android.hardware.wifi@1.x::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