Wi-Fi Direct

Wi-Fi P2P라고도 하는 Wi-Fi Direct 기능을 사용하면 지원 기기에서 인터넷 또는 모바일 데이터 네트워크에 액세스하지 않고도 Wi-Fi Direct 프로토콜을 사용하여 다른 기기를 직접 검색하고 서로 연결할 수 있습니다. Wi-Fi Alliance(WFA) Wi-Fi Direct 사양을 기반으로 하는 이 기능을 사용하면 네트워크 연결이 끊어진 신뢰할 수 있는 기기와 앱 간에 처리량이 많은 데이터를 공유할 수 있습니다.

예시 및 소스

이 기능을 사용하려면 기기 제조업체가 Android 오픈소스 프로젝트(AOSP)에서 제공하는 Wi-Fi HIDL(Hardware Interface Design Language)을 구현해야 합니다. HIDL은 이전에 사용된 하드웨어 추상화 레이어(HAL) 구조를 대체해 인터페이스 및 패키지에 수집되는 유형 및 메서드 호출을 지정하여 구현을 간소화합니다.

Wi-Fi Direct 기능을 사용하려면 다음 + hardware/interfaces/wifi/1.3 이상 + hardware/interfaces/wifi/supplicant/1.2 이상의 Wi-Fi HAL 노출 영역이 필요합니다.

구현

기기 제조업체는 프레임워크와 HAL/펌웨어 지원을 모두 제공해야 합니다.

  • 프레임워크:
    • AOSP 코드
    • Wi-Fi Direct 사용 설정: 기능 플래그 필요
  • Wi-Fi Direct(P2P) HAL 지원(펌웨어 지원을 의미함)

이 기능을 구현하려면 기기 제조업체가 Wi-Fi HIDL을 구현하고 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_addrp2p_interface_random_mac_addr로 제어됩니다.

이 기능을 사용하려면 기기 제조업체가 다음을 실행해야 합니다. + hardware/interface/wifi/supplicant/1.2에서 Wi-Fi 서플리컨트 HIDL API ISupplicantP2pIface::setMacRandomization을 구현해야 합니다.

  • 기기 맞춤 오버레이에서 config_wifi_p2p_mac_randomization_supported를 'true'로 설정해야 합니다.

유효성 검사

Android는 Wi-Fi Direct 기능의 유효성을 검사하기 위해 일련의 단위 테스트, 통합 테스트(Android 연결 테스트 모음 또는 ACTS), 호환성 테스트 모음(CTS) 테스트 및 CTS 인증 도구 테스트를 제공합니다. 또한 공급업체 테스트 도구 모음(VTS)을 사용하여 Wi-Fi Direct를 테스트할 수도 있습니다.

단위 테스트

다음 테스트를 사용하여 Wi-Fi Direct 패키지를 확인할 수 있습니다.

서비스 테스트:

atest com.android.server.wifi.p2p

관리자 테스트:

atest android.net.wifi.p2p

통합 테스트(ACTS)

tools/test/connectivity/acts_tests/tests/google/wifi/p2p에 있는 ACTS Wi-FI Direct 테스트 도구 모음은 Wi-Fi Direct의 기능 테스트를 구현합니다.

호환성 테스트 모음(CTS) 테스트

CTS 테스트를 사용하여 Wi-Fi Direct 기능의 유효성을 검사할 수 있습니다. CTS는 기능이 사용 설정되면 설정을 감지하고 관련 테스트를 자동으로 포함합니다.

CTS 테스트를 트리거하려면 다음을 실행합니다.

% atest android.net.wifi.p2p.cts

CTS 인증 도구 테스트

CTS 인증 도구 테스트는 두 가지 기기, 즉 테스트 기기와 정상으로 알려진 기기를 사용하여 Wi-Fi Direct 동작을 검증합니다. 테스트를 실행하려면 CTS 인증 도구를 열고 Wi-Fi Direct Tests 섹션으로 이동하세요.