Project: /_project.yaml Book: /_book.yaml
{% include “_versions.html” %}
Android provides a default Android framework implementation that includes support for various Wi-Fi protocols and modes, including:
An application using Wi-Fi services directly communicates with the various Wi-Fi services through Binder. The Wi-Fi services run in the System Service and communicate with the HAL over HIDL. This diagram shows the general structure of the Android Wi-Fi stack.
Figure 1. Android Wi-Fi architecture
At the application framework level is application code, which uses the various android.net.wifi{: .external} APIs to interact with the Wi-Fi framework and hardware. Internally, this code calls the Wi-Fi process through the Binder IPC mechanism.
The Wi-Fi services run in the System Service, and are located in frameworks/opt/net/wifi
. The Wi-Fi service communicates with the Wi-Fi HAL over HIDL.
There are various Wi-Fi services:
The Wi-Fi framework also includes a stand-alone process, wificond, located at system/connectivity/wificond
. The wificond process communicates with the Wi-Fi driver over standard nl80211
commands.
The Wi-Fi framework has three Wi-Fi HAL surfaces represented by three different HIDL packages: Vendor HAL, Supplicant HAL, and Hostapd HAL.
For details about implementations of the various HALs, see Wi-Fi HAL.