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.


ifeq ($(TARGET_PRODUCT),acme)
LOCAL_SRC_FILES += wifi/wifi_mywifi.c
LOCAL_SRC_FILES += wifi/wifi.c


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.

↑ Go to top