Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Wi-Fi HAL

Wi-Fi 프레임워크에는 다음과 같이 서로 다른 세 가지 HIDL 패키지로 표시되는 세 개의 Wi-Fi HAL 노출 영역이 있습니다.

  • 공급업체 HAL: Android 관련 명령어를 위한 HAL 노출 영역입니다. HIDL 파일은 hardware/interfaces/wifi/1.x에 있습니다.
  • 서플리컨트 HAL: wpa_supplicant를 위한 HAL 노출 영역입니다. HIDL 파일은 hardware/interfaces/supplicant/1.x에 있습니다.
  • Hostapd HAL: hostapd를 위한 HAL 노출 영역입니다. HIDL 파일은 hardware/interfaces/hostapd/1.x에 있습니다.

공급업체 HAL

공급업체 HAL은 Android 관련 명령어를 제공합니다. 공급업체 HAL은 인프라 스테이션(STA) 및 소프트 AP(SAP) 모드가 작동하는 데 선택사항입니다(필수 아님). 그러나 Wi-Fi AwareWi-Fi RTT 서비스에는 공급업체 HAL이 필수입니다.

HIDL 이전 Android(즉, Android 8.0 이전 버전)에서는 현재 레거시 HAL이라고 하는 HAL 메커니즘을 사용합니다. 현재 Android 소스 코드는 레거시 HAL에서 실행되는 shim을 사용하여 HIDL의 기본 구현을 제공합니다.

레거시 HAL 헤더는 hardware/libhardware_legacy/include/hardware_legacy/에 있습니다. 레거시 HAL 기반 구현은 hardware/interfaces/wifi/1.x/default에 있습니다.

서플리컨트 HAL

서플리컨트 HAL은 wpa_supplicant 데몬에 HIDL 인터페이스를 제공합니다.

wpa_supplicant 소스 코드는 external/wpa_supplicant_8/wpa_supplicant에 있습니다. HIDL 인터페이스를 제공하는 wpa_supplicant 코드는 hidl 하위 디렉터리에 있습니다.

Hostapd HAL

Hostapd HAL은 hostapd 데몬에 HIDL 인터페이스를 제공합니다.

hostapd 소스 코드는 external/wpa_supplicant_8/hostapd에 있습니다. HIDL 인터페이스를 제공하는 hostapd 코드는 hidl 하위 디렉터리에 있습니다.

Wi-Fi 다중 인터페이스 동시 실행

서로 다른 Android 기기가 다양한 Wi-Fi 인터페이스 조합을 동시에 지원할 수 있습니다. 지원되는 조합은 HAL에 정의되어 있으며 프레임워크에 노출됩니다. 사양 형식은 android/hardware/interfaces/wifi/1.0/IWifiChip.hal에 정의되어 있습니다. 예를 들어 기기는 STA 1개와 NAN(Wi-Fi Aware) 또는 P2P(Wi-Fi Direct) 유형 중 하나(둘 다는 아님)의 인터페이스 1개를 지원할 수 있습니다. 다음과 같이 표현될 수 있습니다.

[{STA} <= 1, {NAN,P2P} <= 1]

동시 실행 사양 형식은 유연하고 포괄적입니다. 따라서 아직 프레임워크에서 지원하지 않는 조합을 표현할 수 있습니다. 특정 조합을 구성하려면 device/<oem>/<device>/BoardConfig-common.mk에 있는 WIFI_HAL_INTERFACE_COMBINATIONS 빌드 플래그를 사용합니다. 또는 참조 HAL에는 (레거시) 빌드 플래그로 활성화될 수 있는 몇 가지 조합의 구성이 있습니다. 구성 안내는 다음을 참조하세요.