1*03f9172cSAndroid Build Coastguard Worker# Example hostapd build time configuration 2*03f9172cSAndroid Build Coastguard Worker# 3*03f9172cSAndroid Build Coastguard Worker# This file lists the configuration options that are used when building the 4*03f9172cSAndroid Build Coastguard Worker# hostapd binary. All lines starting with # are ignored. Configuration option 5*03f9172cSAndroid Build Coastguard Worker# lines must be commented out complete, if they are not to be included, i.e., 6*03f9172cSAndroid Build Coastguard Worker# just setting VARIABLE=n is not disabling that variable. 7*03f9172cSAndroid Build Coastguard Worker# 8*03f9172cSAndroid Build Coastguard Worker# This file is included in Makefile, so variables like CFLAGS and LIBS can also 9*03f9172cSAndroid Build Coastguard Worker# be modified from here. In most cass, these lines should use += in order not 10*03f9172cSAndroid Build Coastguard Worker# to override previous values of the variables. 11*03f9172cSAndroid Build Coastguard Worker 12*03f9172cSAndroid Build Coastguard Worker# Driver interface for Host AP driver 13*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_HOSTAP=y 14*03f9172cSAndroid Build Coastguard Worker 15*03f9172cSAndroid Build Coastguard Worker# Driver interface for wired authenticator 16*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_WIRED=y 17*03f9172cSAndroid Build Coastguard Worker 18*03f9172cSAndroid Build Coastguard Worker# Driver interface for drivers using the nl80211 kernel interface 19*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_NL80211=y 20*03f9172cSAndroid Build Coastguard Worker# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be 21*03f9172cSAndroid Build Coastguard Worker# shipped with your distribution yet. If that is the case, you need to build 22*03f9172cSAndroid Build Coastguard Worker# newer libnl version and point the hostapd build to use it. 23*03f9172cSAndroid Build Coastguard Worker#LIBNL=/usr/src/libnl 24*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I$(LIBNL)/include 25*03f9172cSAndroid Build Coastguard Worker#LIBS += -L$(LIBNL)/lib 26*03f9172cSAndroid Build Coastguard WorkerCONFIG_LIBNL20=y 27*03f9172cSAndroid Build Coastguard Worker 28*03f9172cSAndroid Build Coastguard Worker# Broadcom vendor extensions to nl80211 29*03f9172cSAndroid Build Coastguard Workerifeq ($(BOARD_WLAN_DEVICE),bcmdhd) 30*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_BRCM=y 31*03f9172cSAndroid Build Coastguard Worker# Synaptics vendor extensions to nl80211 32*03f9172cSAndroid Build Coastguard Workerelse ifeq ($(BOARD_WLAN_DEVICE),synadhd) 33*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_SYNA=y 34*03f9172cSAndroid Build Coastguard Workerelse 35*03f9172cSAndroid Build Coastguard Worker# QCA vendor extensions to nl80211 36*03f9172cSAndroid Build Coastguard WorkerCONFIG_DRIVER_NL80211_QCA=y 37*03f9172cSAndroid Build Coastguard Workerendif 38*03f9172cSAndroid Build Coastguard Worker 39*03f9172cSAndroid Build Coastguard Worker# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) 40*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_BSD=y 41*03f9172cSAndroid Build Coastguard Worker#CFLAGS += -I/usr/local/include 42*03f9172cSAndroid Build Coastguard Worker#LIBS += -L/usr/local/lib 43*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -L/usr/local/lib 44*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -L/usr/local/lib 45*03f9172cSAndroid Build Coastguard Worker 46*03f9172cSAndroid Build Coastguard Worker# Driver interface for no driver (e.g., RADIUS server only) 47*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_NONE=y 48*03f9172cSAndroid Build Coastguard Worker 49*03f9172cSAndroid Build Coastguard Worker# WPA2/IEEE 802.11i RSN pre-authentication 50*03f9172cSAndroid Build Coastguard Worker#CONFIG_RSN_PREAUTH=y 51*03f9172cSAndroid Build Coastguard Worker 52*03f9172cSAndroid Build Coastguard Worker# Support Operating Channel Validation 53*03f9172cSAndroid Build Coastguard Worker#CONFIG_OCV=y 54*03f9172cSAndroid Build Coastguard Worker 55*03f9172cSAndroid Build Coastguard Worker# Integrated EAP server 56*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP=y 57*03f9172cSAndroid Build Coastguard Worker 58*03f9172cSAndroid Build Coastguard Worker# EAP-MD5 for the integrated EAP server 59*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_MD5=y 60*03f9172cSAndroid Build Coastguard Worker 61*03f9172cSAndroid Build Coastguard Worker# EAP-TLS for the integrated EAP server 62*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TLS=y 63*03f9172cSAndroid Build Coastguard Worker 64*03f9172cSAndroid Build Coastguard Worker# EAP-MSCHAPv2 for the integrated EAP server 65*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_MSCHAPV2=y 66*03f9172cSAndroid Build Coastguard Worker 67*03f9172cSAndroid Build Coastguard Worker# EAP-PEAP for the integrated EAP server 68*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PEAP=y 69*03f9172cSAndroid Build Coastguard Worker 70*03f9172cSAndroid Build Coastguard Worker# EAP-GTC for the integrated EAP server 71*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GTC=y 72*03f9172cSAndroid Build Coastguard Worker 73*03f9172cSAndroid Build Coastguard Worker# EAP-TTLS for the integrated EAP server 74*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TTLS=y 75*03f9172cSAndroid Build Coastguard Worker 76*03f9172cSAndroid Build Coastguard Worker# EAP-SIM for the integrated EAP server 77*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SIM=y 78*03f9172cSAndroid Build Coastguard Worker 79*03f9172cSAndroid Build Coastguard Worker# EAP-AKA for the integrated EAP server 80*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA=y 81*03f9172cSAndroid Build Coastguard Worker 82*03f9172cSAndroid Build Coastguard Worker# EAP-AKA' for the integrated EAP server 83*03f9172cSAndroid Build Coastguard Worker# This requires CONFIG_EAP_AKA to be enabled, too. 84*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_AKA_PRIME=y 85*03f9172cSAndroid Build Coastguard Worker 86*03f9172cSAndroid Build Coastguard Worker# EAP-PAX for the integrated EAP server 87*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PAX=y 88*03f9172cSAndroid Build Coastguard Worker 89*03f9172cSAndroid Build Coastguard Worker# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) 90*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_PSK=y 91*03f9172cSAndroid Build Coastguard Worker 92*03f9172cSAndroid Build Coastguard Worker# EAP-SAKE for the integrated EAP server 93*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_SAKE=y 94*03f9172cSAndroid Build Coastguard Worker 95*03f9172cSAndroid Build Coastguard Worker# EAP-GPSK for the integrated EAP server 96*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK=y 97*03f9172cSAndroid Build Coastguard Worker# Include support for optional SHA256 cipher suite in EAP-GPSK 98*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_GPSK_SHA256=y 99*03f9172cSAndroid Build Coastguard Worker 100*03f9172cSAndroid Build Coastguard Worker# EAP-FAST for the integrated EAP server 101*03f9172cSAndroid Build Coastguard Worker# Note: Default OpenSSL package does not include support for all the 102*03f9172cSAndroid Build Coastguard Worker# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, 103*03f9172cSAndroid Build Coastguard Worker# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) 104*03f9172cSAndroid Build Coastguard Worker# to add the needed functions. 105*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_FAST=y 106*03f9172cSAndroid Build Coastguard Worker 107*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Protected Setup (WPS) 108*03f9172cSAndroid Build Coastguard WorkerCONFIG_WPS=y 109*03f9172cSAndroid Build Coastguard Worker# Enable UPnP support for external WPS Registrars 110*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPS_UPNP=y 111*03f9172cSAndroid Build Coastguard Worker 112*03f9172cSAndroid Build Coastguard Worker# EAP-IKEv2 113*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_IKEV2=y 114*03f9172cSAndroid Build Coastguard Worker 115*03f9172cSAndroid Build Coastguard Worker# Trusted Network Connect (EAP-TNC) 116*03f9172cSAndroid Build Coastguard Worker#CONFIG_EAP_TNC=y 117*03f9172cSAndroid Build Coastguard Worker 118*03f9172cSAndroid Build Coastguard Worker# PKCS#12 (PFX) support (used to read private key and certificate file from 119*03f9172cSAndroid Build Coastguard Worker# a file that usually has extension .p12 or .pfx) 120*03f9172cSAndroid Build Coastguard WorkerCONFIG_PKCS12=y 121*03f9172cSAndroid Build Coastguard Worker 122*03f9172cSAndroid Build Coastguard Worker# RADIUS authentication server. This provides access to the integrated EAP 123*03f9172cSAndroid Build Coastguard Worker# server from external hosts using RADIUS. 124*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_SERVER=y 125*03f9172cSAndroid Build Coastguard Worker 126*03f9172cSAndroid Build Coastguard Worker# Build IPv6 support for RADIUS operations 127*03f9172cSAndroid Build Coastguard WorkerCONFIG_IPV6=y 128*03f9172cSAndroid Build Coastguard Worker 129*03f9172cSAndroid Build Coastguard Worker# Include support fo RADIUS/TLS into the RADIUS client 130*03f9172cSAndroid Build Coastguard Worker#CONFIG_RADIUS_TLS=y 131*03f9172cSAndroid Build Coastguard Worker 132*03f9172cSAndroid Build Coastguard Worker# IEEE Std 802.11r-2008 (Fast BSS Transition) 133*03f9172cSAndroid Build Coastguard Worker#CONFIG_IEEE80211R=y 134*03f9172cSAndroid Build Coastguard Worker 135*03f9172cSAndroid Build Coastguard Worker# Use the hostapd's IEEE 802.11 authentication (ACL), but without 136*03f9172cSAndroid Build Coastguard Worker# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) 137*03f9172cSAndroid Build Coastguard Worker#CONFIG_DRIVER_RADIUS_ACL=y 138*03f9172cSAndroid Build Coastguard Worker 139*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ac (Very High Throughput) support 140*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211AC=y 141*03f9172cSAndroid Build Coastguard Worker 142*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11ax (High Efficiency) support 143*03f9172cSAndroid Build Coastguard Workerifeq ($(WIFI_FEATURE_HOSTAPD_11AX), true) 144*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211AX=y 145*03f9172cSAndroid Build Coastguard Workerendif 146*03f9172cSAndroid Build Coastguard Worker 147*03f9172cSAndroid Build Coastguard Worker# IEEE 802.11be EHT (Extremely High Throughput) support 148*03f9172cSAndroid Build Coastguard Worker# Note: Enabling CONFIG_IEEE80211BE requires CONFIG_IEEE80211AX to be enabled as well. Therefore, 149*03f9172cSAndroid Build Coastguard Worker# the hostapd/Android.mk file automatically enables CONFIG_IEEE80211AX when CONFIG_IEEE80211BE is 150*03f9172cSAndroid Build Coastguard Worker# enabled here. 151*03f9172cSAndroid Build Coastguard Workerifeq ($(WIFI_FEATURE_HOSTAPD_11BE), true) 152*03f9172cSAndroid Build Coastguard WorkerCONFIG_IEEE80211BE=y 153*03f9172cSAndroid Build Coastguard Workerendif 154*03f9172cSAndroid Build Coastguard Worker 155*03f9172cSAndroid Build Coastguard Worker# Remove debugging code that is printing out debug messages to stdout. 156*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce the size of the hostapd considerably if debugging 157*03f9172cSAndroid Build Coastguard Worker# code is not needed. 158*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_STDOUT_DEBUG=y 159*03f9172cSAndroid Build Coastguard Worker 160*03f9172cSAndroid Build Coastguard Worker# Add support for writing debug log to Android logcat instead of standard output 161*03f9172cSAndroid Build Coastguard WorkerCONFIG_ANDROID_LOG=y 162*03f9172cSAndroid Build Coastguard Worker 163*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS accounting 164*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_ACCOUNTING=y 165*03f9172cSAndroid Build Coastguard Worker 166*03f9172cSAndroid Build Coastguard Worker# Remove support for RADIUS 167*03f9172cSAndroid Build Coastguard WorkerCONFIG_NO_RADIUS=y 168*03f9172cSAndroid Build Coastguard Worker 169*03f9172cSAndroid Build Coastguard Worker# Remove support for VLANs 170*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_VLAN=y 171*03f9172cSAndroid Build Coastguard Worker 172*03f9172cSAndroid Build Coastguard Worker# Remove support for dumping internal state through control interface commands 173*03f9172cSAndroid Build Coastguard Worker# This can be used to reduce binary size at the cost of disabling a debugging 174*03f9172cSAndroid Build Coastguard Worker# option. 175*03f9172cSAndroid Build Coastguard Worker#CONFIG_NO_DUMP_STATE=y 176*03f9172cSAndroid Build Coastguard Worker 177*03f9172cSAndroid Build Coastguard Worker# Select wrapper for operatins system and C library specific functions 178*03f9172cSAndroid Build Coastguard Worker# unix = UNIX/POSIX like systems (default) 179*03f9172cSAndroid Build Coastguard Worker# win32 = Windows systems 180*03f9172cSAndroid Build Coastguard Worker# none = Empty template 181*03f9172cSAndroid Build Coastguard WorkerCONFIG_OS=unix 182*03f9172cSAndroid Build Coastguard Worker 183*03f9172cSAndroid Build Coastguard Worker# Enable tracing code for developer debugging 184*03f9172cSAndroid Build Coastguard Worker# This tracks use of memory allocations and other registrations and reports 185*03f9172cSAndroid Build Coastguard Worker# incorrect use with a backtrace of call (or allocation) location. 186*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE=y 187*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these. 188*03f9172cSAndroid Build Coastguard Worker#LIBS += -lexecinfo 189*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lexecinfo 190*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lexecinfo 191*03f9172cSAndroid Build Coastguard Worker 192*03f9172cSAndroid Build Coastguard Worker# Use libbfd to get more details for developer debugging 193*03f9172cSAndroid Build Coastguard Worker# This enables use of libbfd to get more detailed symbols for the backtraces 194*03f9172cSAndroid Build Coastguard Worker# generated by CONFIG_WPA_TRACE=y. 195*03f9172cSAndroid Build Coastguard Worker#CONFIG_WPA_TRACE_BFD=y 196*03f9172cSAndroid Build Coastguard Worker# For BSD, comment out these. 197*03f9172cSAndroid Build Coastguard Worker#LIBS += -lbfd -liberty -lz 198*03f9172cSAndroid Build Coastguard Worker#LIBS_p += -lbfd -liberty -lz 199*03f9172cSAndroid Build Coastguard Worker#LIBS_c += -lbfd -liberty -lz 200*03f9172cSAndroid Build Coastguard Worker 201*03f9172cSAndroid Build Coastguard Worker# Should we use poll instead of select? Select is used by default. 202*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_POLL=y 203*03f9172cSAndroid Build Coastguard Worker 204*03f9172cSAndroid Build Coastguard Worker# Should we use epoll instead of select? Select is used by default. 205*03f9172cSAndroid Build Coastguard Worker#CONFIG_ELOOP_EPOLL=y 206*03f9172cSAndroid Build Coastguard Worker 207*03f9172cSAndroid Build Coastguard Worker# Enable AP 208*03f9172cSAndroid Build Coastguard WorkerCONFIG_AP=y 209*03f9172cSAndroid Build Coastguard Worker 210*03f9172cSAndroid Build Coastguard Worker# Enable Fast Session Transfer (FST) 211*03f9172cSAndroid Build Coastguard Worker#CONFIG_FST=y 212*03f9172cSAndroid Build Coastguard Worker 213*03f9172cSAndroid Build Coastguard Worker# Multiband Operation support 214*03f9172cSAndroid Build Coastguard Worker# These extensions facilitate efficient use of multiple frequency bands 215*03f9172cSAndroid Build Coastguard Worker# available to the AP and the devices that may associate with it. 216*03f9172cSAndroid Build Coastguard Worker#CONFIG_MBO=y 217*03f9172cSAndroid Build Coastguard Worker 218*03f9172cSAndroid Build Coastguard Worker# Include internal line edit mode in hostapd_cli. 219*03f9172cSAndroid Build Coastguard WorkerCONFIG_WPA_CLI_EDIT=y 220*03f9172cSAndroid Build Coastguard Worker 221*03f9172cSAndroid Build Coastguard Worker# Opportunistic Wireless Encryption (OWE) 222*03f9172cSAndroid Build Coastguard Worker# Experimental implementation of draft-harkins-owe-07.txt 223*03f9172cSAndroid Build Coastguard Worker#CONFIG_OWE=y 224*03f9172cSAndroid Build Coastguard Worker 225*03f9172cSAndroid Build Coastguard Worker# WLAN Authentication and Privacy Infrastructure (WAPI): interface only. 226*03f9172cSAndroid Build Coastguard Worker# Configure the building of the interface which allows WAPI configuration. 227*03f9172cSAndroid Build Coastguard Worker# Note: does not configure WAPI implementation itself. 228*03f9172cSAndroid Build Coastguard Worker#CONFIG_WAPI_INTERFACE=y 229*03f9172cSAndroid Build Coastguard Worker 230*03f9172cSAndroid Build Coastguard Worker# Wpa_supplicant's random pool is not necessary on Android. Randomness is 231*03f9172cSAndroid Build Coastguard Worker# already provided by the entropymixer service which ensures sufficient 232*03f9172cSAndroid Build Coastguard Worker# entropy is maintained across reboots. Commit b410eb1913 'Initialize 233*03f9172cSAndroid Build Coastguard Worker# /dev/urandom earlier in boot' seeds /dev/urandom with that entropy before 234*03f9172cSAndroid Build Coastguard Worker# either wpa_supplicant or hostapd are run. 235*03f9172cSAndroid Build Coastguard WorkerCONFIG_NO_RANDOM_POOL=y 236*03f9172cSAndroid Build Coastguard Worker 237*03f9172cSAndroid Build Coastguard Worker# Add support for Aidl control interface 238*03f9172cSAndroid Build Coastguard Worker# Only applicable for Android platforms. 239*03f9172cSAndroid Build Coastguard WorkerCONFIG_CTRL_IFACE_AIDL=y 240*03f9172cSAndroid Build Coastguard Worker 241*03f9172cSAndroid Build Coastguard Worker# Enable support of Automatic Channel Selection 242*03f9172cSAndroid Build Coastguard WorkerCONFIG_ACS=y 243*03f9172cSAndroid Build Coastguard Worker 244*03f9172cSAndroid Build Coastguard Worker# Easy Connect (Device Provisioning Protocol - DPP) 245*03f9172cSAndroid Build Coastguard WorkerCONFIG_DPP=y 246*03f9172cSAndroid Build Coastguard Worker 247*03f9172cSAndroid Build Coastguard Worker# WPA3-Personal (SAE) 248*03f9172cSAndroid Build Coastguard WorkerCONFIG_SAE=y 249*03f9172cSAndroid Build Coastguard Worker 250*03f9172cSAndroid Build Coastguard Worker# Wired equivalent privacy (WEP) 251*03f9172cSAndroid Build Coastguard Worker# WEP is an obsolete cryptographic data confidentiality algorithm that is not 252*03f9172cSAndroid Build Coastguard Worker# considered secure. It should not be used for anything anymore. The 253*03f9172cSAndroid Build Coastguard Worker# functionality needed to use WEP is available in the current hostapd 254*03f9172cSAndroid Build Coastguard Worker# release under this optional build parameter. This functionality is subject to 255*03f9172cSAndroid Build Coastguard Worker# be completely removed in a future release. 256*03f9172cSAndroid Build Coastguard WorkerCONFIG_WEP=y 257*03f9172cSAndroid Build Coastguard Worker 258*03f9172cSAndroid Build Coastguard Worker# Interworking (IEEE 802.11u) 259*03f9172cSAndroid Build Coastguard Worker# This can be used to enable functionality to improve interworking with 260*03f9172cSAndroid Build Coastguard Worker# external networks. 261*03f9172cSAndroid Build Coastguard WorkerCONFIG_INTERWORKING=y 262*03f9172cSAndroid Build Coastguard Worker 263*03f9172cSAndroid Build Coastguard Worker# Testing options 264*03f9172cSAndroid Build Coastguard Worker# This can be used to enable some testing options (see also the example 265*03f9172cSAndroid Build Coastguard Worker# configuration file) that are useful for testing clients that 266*03f9172cSAndroid Build Coastguard Worker# connect to this hostapd. These options allow, for example, to drop a 267*03f9172cSAndroid Build Coastguard Worker# certain percentage of probe requests or auth/(re)assoc frames. 268*03f9172cSAndroid Build Coastguard Worker# Each test case requires a flag set in hostapd.conf or through hostapd_cli 269*03f9172cSAndroid Build Coastguard Worker#CONFIG_TESTING_OPTIONS=y 270*03f9172cSAndroid Build Coastguard Worker 271*03f9172cSAndroid Build Coastguard Worker# Wi-Fi Aware unsynchronized service discovery (NAN USD) 272*03f9172cSAndroid Build Coastguard Worker#CONFIG_NAN_USD=y 273