Android uses wpa_supplicant as the platform interface to the Wi-Fi device. Your Wi-Fi driver must be compatible with the standard wpa_supplicant in addition to extensions added to the supplicant (specifically, the "DRIVER" commands described in wifi.h/wifi_command()
).
Building a Wi-Fi Library
To create a Wi-Fi driver for Android:
- create a shared library that implements the interface defined in
include/hardware/wifi.h
, which also defines the Wi-Fi supplicant. - Follow the instructions posted at http://hostap.epitest.fi/wpa_supplicant/.
- Place your driver in
libs/hardware/wifi/
- Test your driver using the command line
wpa_cli
utilities.
You can find the default implementation in libs/hardware/wifi/wifi.c
. If you need to make changes, create a new source file similar to wifi.c
, for example, wifi_mywifi.c
.
Update the default Android.mk
file (libs/hardware/wifi/Android.mk
) as shown below.
LOCAL_SHARED_LIBRARIES += libnetutils ifeq ($(TARGET_PRODUCT),acme) LOCAL_SRC_FILES += wifi/wifi_mywifi.c else LOCAL_SRC_FILES += wifi/wifi.c endif
Interface
Note: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, click here.
wifi.h File Reference
Go to the source code of this file.