blob: eaeda89c162264236e4e5e36c2127a3923a9fc02 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001# Example hostapd build time configuration
2#
3# This file lists the configuration options that are used when building the
4# hostapd binary. All lines starting with # are ignored. Configuration option
5# lines must be commented out complete, if they are not to be included, i.e.,
6# just setting VARIABLE=n is not disabling that variable.
7#
8# This file is included in Makefile, so variables like CFLAGS and LIBS can also
9# be modified from here. In most cass, these lines should use += in order not
10# to override previous values of the variables.
11
12# Driver interface for Host AP driver
Dmitry Shmidte61a2d62011-06-27 10:59:51 -070013#CONFIG_DRIVER_HOSTAP=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070014
15# Driver interface for wired authenticator
16#CONFIG_DRIVER_WIRED=y
17
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070018# Driver interface for drivers using the nl80211 kernel interface
19#CONFIG_DRIVER_NL80211=y
20# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be
21# shipped with your distribution yet. If that is the case, you need to build
22# newer libnl version and point the hostapd build to use it.
23#LIBNL=/usr/src/libnl
24#CFLAGS += -I$(LIBNL)/include
25#LIBS += -L$(LIBNL)/lib
26CONFIG_LIBNL20=y
27
Hai Shalomc1a21442022-02-04 13:43:00 -080028# Broadcom vendor extensions to nl80211
Ajay Davanagerib921bb82020-09-16 12:49:08 +053029ifeq ($(BOARD_WLAN_DEVICE),bcmdhd)
30CONFIG_DRIVER_NL80211_BRCM=y
Andy Kuoaba17c12022-04-14 16:05:31 +080031# Synaptics vendor extensions to nl80211
32else ifeq ($(BOARD_WLAN_DEVICE),synadhd)
33CONFIG_DRIVER_NL80211_SYNA=y
Ajay Davanagerib921bb82020-09-16 12:49:08 +053034else
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080035# QCA vendor extensions to nl80211
36CONFIG_DRIVER_NL80211_QCA=y
Ajay Davanagerib921bb82020-09-16 12:49:08 +053037endif
Hai Shalomc1a21442022-02-04 13:43:00 -080038
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070039# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
40#CONFIG_DRIVER_BSD=y
41#CFLAGS += -I/usr/local/include
42#LIBS += -L/usr/local/lib
43#LIBS_p += -L/usr/local/lib
44#LIBS_c += -L/usr/local/lib
45
46# Driver interface for no driver (e.g., RADIUS server only)
47#CONFIG_DRIVER_NONE=y
48
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070049# WPA2/IEEE 802.11i RSN pre-authentication
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070050#CONFIG_RSN_PREAUTH=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070051
Hai Shalom74f70d42019-02-11 14:42:39 -080052# Support Operating Channel Validation
53#CONFIG_OCV=y
54
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070055# Integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070056#CONFIG_EAP=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070057
58# EAP-MD5 for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070059#CONFIG_EAP_MD5=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070060
61# EAP-TLS for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070062#CONFIG_EAP_TLS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070063
64# EAP-MSCHAPv2 for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070065#CONFIG_EAP_MSCHAPV2=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070066
67# EAP-PEAP for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070068#CONFIG_EAP_PEAP=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070069
70# EAP-GTC for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070071#CONFIG_EAP_GTC=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070072
73# EAP-TTLS for the integrated EAP server
Dmitry Shmidt497c1d52011-07-21 15:19:46 -070074#CONFIG_EAP_TTLS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070075
76# EAP-SIM for the integrated EAP server
77#CONFIG_EAP_SIM=y
78
79# EAP-AKA for the integrated EAP server
80#CONFIG_EAP_AKA=y
81
82# EAP-AKA' for the integrated EAP server
83# This requires CONFIG_EAP_AKA to be enabled, too.
84#CONFIG_EAP_AKA_PRIME=y
85
86# EAP-PAX for the integrated EAP server
87#CONFIG_EAP_PAX=y
88
89# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
90#CONFIG_EAP_PSK=y
91
92# EAP-SAKE for the integrated EAP server
93#CONFIG_EAP_SAKE=y
94
95# EAP-GPSK for the integrated EAP server
96#CONFIG_EAP_GPSK=y
97# Include support for optional SHA256 cipher suite in EAP-GPSK
98#CONFIG_EAP_GPSK_SHA256=y
99
100# EAP-FAST for the integrated EAP server
101# Note: Default OpenSSL package does not include support for all the
102# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
103# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
104# to add the needed functions.
105#CONFIG_EAP_FAST=y
106
107# Wi-Fi Protected Setup (WPS)
108CONFIG_WPS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700109# Enable UPnP support for external WPS Registrars
110#CONFIG_WPS_UPNP=y
111
112# EAP-IKEv2
113#CONFIG_EAP_IKEV2=y
114
115# Trusted Network Connect (EAP-TNC)
116#CONFIG_EAP_TNC=y
117
118# PKCS#12 (PFX) support (used to read private key and certificate file from
119# a file that usually has extension .p12 or .pfx)
120CONFIG_PKCS12=y
121
122# RADIUS authentication server. This provides access to the integrated EAP
123# server from external hosts using RADIUS.
124#CONFIG_RADIUS_SERVER=y
125
126# Build IPv6 support for RADIUS operations
127CONFIG_IPV6=y
128
129# IEEE Std 802.11r-2008 (Fast BSS Transition)
130#CONFIG_IEEE80211R=y
131
132# Use the hostapd's IEEE 802.11 authentication (ACL), but without
Dmitry Shmidtfb45fd52015-01-05 13:08:17 -0800133# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211)
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700134#CONFIG_DRIVER_RADIUS_ACL=y
135
Hai Shalom2aa93c52020-04-28 10:28:08 -0700136# IEEE 802.11ac (Very High Throughput) support
137CONFIG_IEEE80211AC=y
138
Kai Shi35d8ea42020-10-07 15:24:01 -0700139# IEEE 802.11ax (High Efficiency) support
140ifeq ($(WIFI_FEATURE_HOSTAPD_11AX), true)
141CONFIG_IEEE80211AX=y
142endif
143
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700144# Remove debugging code that is printing out debug messages to stdout.
145# This can be used to reduce the size of the hostapd considerably if debugging
146# code is not needed.
147#CONFIG_NO_STDOUT_DEBUG=y
148
149# Add support for writing debug log to Android logcat instead of standard output
150CONFIG_ANDROID_LOG=y
151
152# Remove support for RADIUS accounting
153#CONFIG_NO_ACCOUNTING=y
154
155# Remove support for RADIUS
Dmitry Shmidt497c1d52011-07-21 15:19:46 -0700156CONFIG_NO_RADIUS=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700157
158# Remove support for VLANs
159#CONFIG_NO_VLAN=y
160
Dmitry Shmidtfb79edc2014-01-10 10:45:54 -0800161# Remove support for dumping internal state through control interface commands
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700162# This can be used to reduce binary size at the cost of disabling a debugging
163# option.
164#CONFIG_NO_DUMP_STATE=y
165
166# Select wrapper for operatins system and C library specific functions
167# unix = UNIX/POSIX like systems (default)
168# win32 = Windows systems
169# none = Empty template
170CONFIG_OS=unix
171
172# Enable tracing code for developer debugging
173# This tracks use of memory allocations and other registrations and reports
174# incorrect use with a backtrace of call (or allocation) location.
175#CONFIG_WPA_TRACE=y
176# For BSD, comment out these.
177#LIBS += -lexecinfo
178#LIBS_p += -lexecinfo
179#LIBS_c += -lexecinfo
180
181# Use libbfd to get more details for developer debugging
182# This enables use of libbfd to get more detailed symbols for the backtraces
183# generated by CONFIG_WPA_TRACE=y.
184#CONFIG_WPA_TRACE_BFD=y
185# For BSD, comment out these.
186#LIBS += -lbfd -liberty -lz
187#LIBS_p += -lbfd -liberty -lz
188#LIBS_c += -lbfd -liberty -lz
Dmitry Shmidt497c1d52011-07-21 15:19:46 -0700189
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800190# Should we use poll instead of select? Select is used by default.
191#CONFIG_ELOOP_POLL=y
192
193# Should we use epoll instead of select? Select is used by default.
194#CONFIG_ELOOP_EPOLL=y
195
Dmitry Shmidt497c1d52011-07-21 15:19:46 -0700196# Enable AP
197CONFIG_AP=y
Dmitry Shmidtd80a4012015-11-05 16:35:40 -0800198
199# Enable Fast Session Transfer (FST)
200#CONFIG_FST=y
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800201
202# Multiband Operation support
Hai Shalom899fcc72020-10-19 14:38:18 -0700203# These extensions facilitate efficient use of multiple frequency bands
Dmitry Shmidt57c2d392016-02-23 13:40:19 -0800204# available to the AP and the devices that may associate with it.
205#CONFIG_MBO=y
Dmitry Shmidt9839ecd2016-11-07 11:05:47 -0800206
207# Include internal line edit mode in hostapd_cli.
208CONFIG_WPA_CLI_EDIT=y
Dmitry Shmidtd2986c22017-10-23 14:22:09 -0700209
210# Opportunistic Wireless Encryption (OWE)
211# Experimental implementation of draft-harkins-owe-07.txt
212#CONFIG_OWE=y
Jeff Vander Stoepc88b7522017-11-30 11:13:52 -0800213
Jimmy Chencaaac072019-09-16 16:36:06 +0800214# WLAN Authentication and Privacy Infrastructure (WAPI): interface only.
215# Configure the building of the interface which allows WAPI configuration.
216# Note: does not configure WAPI implementation itself.
217#CONFIG_WAPI_INTERFACE=y
218
Jeff Vander Stoepc88b7522017-11-30 11:13:52 -0800219# Wpa_supplicant's random pool is not necessary on Android. Randomness is
220# already provided by the entropymixer service which ensures sufficient
221# entropy is maintained across reboots. Commit b410eb1913 'Initialize
222# /dev/urandom earlier in boot' seeds /dev/urandom with that entropy before
223# either wpa_supplicant or hostapd are run.
224CONFIG_NO_RANDOM_POOL=y
Roshan Piuscc817562017-12-22 14:45:05 -0800225
Gabriel Biren72cf9a52021-06-25 23:29:26 +0000226# Add support for Aidl control interface
Roshan Piuscc817562017-12-22 14:45:05 -0800227# Only applicable for Android platforms.
Gabriel Biren72cf9a52021-06-25 23:29:26 +0000228CONFIG_CTRL_IFACE_AIDL=y
Ningyuan Wang065218c2017-12-19 14:07:29 -0800229
230# Enable support of Automatic Channel Selection
231CONFIG_ACS=y
Hai Shalom749644d2018-09-06 11:50:46 -0700232
233# Easy Connect (Device Provisioning Protocol - DPP)
234CONFIG_DPP=y
235
236# WPA3-Personal (SAE)
237CONFIG_SAE=y
Hai Shalomfdcde762020-04-02 11:19:20 -0700238
239# Wired equivalent privacy (WEP)
240# WEP is an obsolete cryptographic data confidentiality algorithm that is not
241# considered secure. It should not be used for anything anymore. The
242# functionality needed to use WEP is available in the current hostapd
243# release under this optional build parameter. This functionality is subject to
244# be completely removed in a future release.
245CONFIG_WEP=y
246
leslb0f4d542020-09-16 23:06:03 +0800247# Interworking (IEEE 802.11u)
248# This can be used to enable functionality to improve interworking with
249# external networks.
250CONFIG_INTERWORKING=y
Kai Shie75b0652020-11-24 20:31:29 -0800251
252# Testing options
253# This can be used to enable some testing options (see also the example
254# configuration file) that are useful for testing clients that
255# connect to this hostapd. These options allow, for example, to drop a
256# certain percentage of probe requests or auth/(re)assoc frames.
257# Each test case requires a flag set in hostapd.conf or through hostapd_cli
258#CONFIG_TESTING_OPTIONS=y