Wi-Fi P2P라고도 하는 Wi-Fi Direct 기능을 사용하면 지원 기기에서 인터넷 또는 모바일 데이터 네트워크에 액세스하지 않고도 Wi-Fi Direct 프로토콜을 사용하여 다른 기기를 직접 검색하고 서로 연결할 수 있습니다. Wi-Fi Alliance(WFA) Wi-Fi Direct 사양을 기반으로 하는 이 기능을 사용하면 네트워크 연결이 끊어진 신뢰할 수 있는 기기와 앱 간에 처리량이 많은 데이터를 공유할 수 있습니다.
예 및 소스
이 기능을 사용하려면 기기 제조업체에서 Wi-Fi 공급업체와 서플리컨트 HAL 인터페이스를 구현해야 합니다.
Android 13에서 서플리컨트 인터페이스는 HAL 정의에 AIDL을 사용합니다. Android 14 이상에서는 공급업체 HAL 인터페이스가 AIDL을 사용합니다. Android 12 이하에서는 Supplicant 및 공급업체 HAL 인터페이스가 HIDL을 사용하여 정의됩니다.
Wi-Fi Direct 기능을 사용하려면 다음 Wi-Fi HAL 노출 영역이 필요합니다.
hardware/interfaces/wifi/aidl
또는hardware/interfaces/wifi/1.3
이상hardware/interfaces/wifi/supplicant/aidl
또는hardware/interfaces/wifi/supplicant/1.2
이상
구현
기기 제조업체는 프레임워크와 HAL/펌웨어 지원을 모두 제공해야 합니다.
- 프레임워크:
- AOSP 코드
- Wi-Fi Direct 사용 설정: 기능 플래그 필요
- Wi-Fi Direct(P2P) HAL 지원(펌웨어 지원을 의미함)
이 기능을 구현하기 위해 기기 제조업체는 Wi-Fi HIDL 또는 AIDL 인터페이스를 구현하고 Wi-Fi Direct 기능 플래그를 사용 설정합니다. device/<oem>/<device>
에 있는 device.mk
에서 PRODUCT_COPY_FILES
환경 변수를 수정하여 Wi-Fi Direct 기능 지원을 포함합니다.
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
Wi-FI Direct를 지원하기 위한 기타 모든 요구사항은 AOSP에 포함되어 있습니다.
MAC 주소 무작위 지정
Android에서는 Wi-Fi Direct 기기 주소 및 인터페이스 주소가 무작위로 지정되어야 합니다. 이러한 주소는 기기의 실제 MAC 주소와 달라야 하며 다음 요구사항을 충족해야 합니다.
- 저장된 영구 그룹이 없다면 Wi-Fi Direct 기기 주소는 인터페이스 생성 시 무작위로 지정되어야 합니다. 그렇지 않으면 기기 주소는 마지막으로 생성된 MAC 주소를 계속 사용해야 합니다.
- 그룹 주소라고도 하는 Wi-Fi Direct 인터페이스 주소는 연결이 설정될 때마다 무작위로 지정되어야 합니다.
Wi-Fi Direct MAC 주소 무작위 지정은 'wpa_supplicant'로 구현되며 두 가지 구성, 즉 p2p_device_random_mac_addr
및 p2p_interface_random_mac_addr
로 제어됩니다.
이 기능을 사용 설정하려면 기기 제조업체에서 다음 작업을 완료해야 합니다.
- Wi-Fi 서플리컨트
ISupplicantP2pIface::setMacRandomization
API를 구현합니다. 이 API는 구현된 인터페이스에 따라 다음 위치에 있습니다.hardware/interface/wifi/supplicant/1.2
(HIDL의 경우)hardware/interface/wifi/supplicant/aidl
(AIDL의 경우)
- 기기 맞춤 오버레이에서
config_wifi_p2p_mac_randomization_supported
를 'true'로 설정합니다.
유효성 검사
Android는 Wi-Fi Direct 기능의 유효성을 검사하기 위해 일련의 단위 테스트, 호환성 테스트 모음 (CTS) 테스트, CTS 인증 도구 테스트를 제공합니다. 또한 공급업체 테스트 모음(VTS)을 사용하여 Wi-Fi Direct를 테스트할 수도 있습니다.
단위 테스트
다음 테스트를 사용하여 Wi-Fi Direct 패키지를 확인할 수 있습니다.
서비스 테스트:
atest com.android.server.wifi.p2p
관리자 테스트:
atest android.net.wifi.p2p
호환성 테스트 모음(CTS) 테스트
CTS 테스트를 사용하여 Wi-Fi Direct 기능의 유효성을 검사할 수 있습니다. CTS는 기능이 사용 설정되면 설정을 감지하고 관련 테스트를 자동으로 포함합니다.
CTS 테스트를 트리거하려면 다음을 실행합니다.
% atest android.net.wifi.p2p.cts
CTS 인증 도구 테스트
CTS 인증 도구 테스트는 두 가지 기기, 즉 테스트 기기와 정상으로 알려진 기기를 사용하여 Wi-Fi Direct 동작을 검증합니다. 테스트를 실행하려면 CTS 인증 도구를 열고 Wi-Fi Direct Tests 섹션으로 이동하세요.