이 페이지에서는 AOSP에서 제공한 도구를 사용하여 Wi-Fi 구현을 테스트, 디버그, 미세 조정하는 방법을 설명합니다.
테스트
Wi-Fi 프레임워크를 테스트할 수 있도록 AOSP에서는 단위 테스트와 CTS 테스트를 혼합하여 제공합니다.
단위 테스트
AOSP에는 기본 Wi-Fi 프레임워크, 즉 Wi-Fi 관리자(앱 측 코드)와 Wi-Fi 서비스의 기능 및 단위 테스트가 포함되어 있습니다.
Wi-Fi 관리자 테스트:
packages/modules/Wifi/framework/tests/
에 있습니다.다음 셸 실행 파일을 사용하여 실행합니다(자세한 실행 옵션은 파일 참조).
atest FrameworksWifiApiTests
Wi-Fi 서비스 테스트:
packages/modules/Wifi/service/tests/wifitests/
에 있습니다.다음 셸 실행 파일을 사용하여 실행합니다(자세한 실행 옵션은 파일 참조).
atest FrameworksWifiTests
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 이상)을 사용하는 경우 펌웨어는 디버그 버퍼는 IPC 비용을 절약하기 위해 프레임워크 대신 HAL에 저장됩니다.
구현
참조 구현은 다음을 확인하세요. 기본 구현 구현됩니다.
config_wifi_enable_wifi_firmware_debugging
리소스를 false로 설정하여 펌웨어 로깅을 사용 중지할 수 있습니다.
수동 테스트
이 수동 테스트를 실행하여 Tombstone 디렉터리의 이전 파일이 삭제되어 있는지 확인합니다.
- Wi-Fi를 사용 설정합니다.
- 네트워크에 연결합니다.
- 버그 신고를 생성합니다.
버그 신고 ZIP 파일을 검사하여 보관처리된 펌웨어 로그가 있는지 확인합니다. 로그는 다음 위치에서 찾을 수 있습니다.
- AIDL HAL: 기본 버그 신고 파일의
dumpsys
섹션 - HIDL HAL:
/lshal-debug/android.hardware.wifi@1.x::IWifi_default.txt
- AIDL HAL: 기본 버그 신고 파일의
구성 미세 조정
기기가 장치와 연결하는 신호 강도를 제어하기 위해 네트워크에서 연결이 해제되는 경우 Wi-Fi 프레임워크는 entry 및 exit를 사용합니다. 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>
예를 들어 다음 명령어는 새 임계값 매개변수를 구성합니다(이 샘플 명령어에 사용된 값은 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