Android 9에는 기기가 STA 및 AP 모드에서 동시에 작동할 수 있는 기능이 도입되었습니다. DBS(Dual Band Simultaneous)를 지원하는 기기의 경우 사용자가 핫스팟(softAP)을 사용 설정하려고 하면 STA Wi-Fi를 방해하지 않는 등의 새로운 기능이 제공됩니다.
예시 및 소스
Wi-Fi STA/AP 동시 실행은 기본 AOSP Android 프레임워크 코드에서 지원됩니다. Wi-Fi HAL에 설명된 참조 HAL 구현에서도 지원됩니다. 아래의 구현 섹션에 설명된 WIFI_HIDL_FEATURE_DUAL_INTERFACE
빌드 시간 플래그는 STA 및 AP의 동시 지원을 나타내는 인터페이스 동시 실행 사양을 사용 설정합니다.
구현
기기에서 Wi-Fi STA/AP 동시 실행을 구현하려면 다음과 같이 합니다.
HAL의 두 인터페이스를 지원하도록 빌드 시간 플래그를 사용 설정합니다. 플래그는
device/<oem>/<device>/BoardConfig-common.mk
에 있습니다.- WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
다음의 두 네트워크 인터페이스를 노출합니다.
- wlan0 및 wlan1
WIFI_HAL_INTERFACE_COMBINATIONS
플래그가 지정되면 WIFI_HIDL_FEATURE_DUAL_INTERFACE
플래그는 무시됩니다. 자세한 내용은 Wi-Fi 다중 인터페이스 동시 실행을 참조하세요.
유효성 검사
이 기능이 의도한 대로 작동하는지 확인하려면 통합 테스트(ACTS)와 수동 테스트를 모두 실행합니다.
tools/test/connectivity/acts_tests/tests/google/wifi
에 있는 ACTS 파일인 WifiStaApConcurrencyTest.py
에는 STA와 AP의 다양한 조합을 제공하는 테스트 집합이 포함되어 있습니다.
수동으로 이 기능을 검사하려면 STA 및 AP 인터페이스를 UI와 별도로 켜고 끕니다.
AP와 STA가 동일한 서브넷에 있으면 DUT(device-under-test)의 라우팅 문제가 발생할 수 있습니다. 충돌을 피하려면 AP를 다른 서브넷으로 이동하세요.
일부 Wi-Fi 칩 공급업체는 STA와 AP가 동일한 대역이지만 다른 채널에 있는 경우 시간 공유 모드에서 무선을 설정합니다. 이렇게 하면 성능이 크게 저하됩니다. 이 문제를 해결하기 위해 칩은 CSA(Channel Switch Avoidance)를 사용하여 다음 중 하나를 할 수 있습니다.
- AP를 STA와 동일한 채널로 이동
- AP를 STA와 다른 대역으로 이동