| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | # Example wpa_supplicant build time configuration | 
|  | 2 | # | 
|  | 3 | # This file lists the configuration options that are used when building the | 
|  | 4 | # wpa_supplicant binary. All lines starting with # are ignored. Configuration | 
|  | 5 | # option lines must be commented out complete, if they are not to be included, | 
|  | 6 | # i.e., 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 cases, these lines should use += in order not | 
|  | 10 | # to override previous values of the variables. | 
|  | 11 |  | 
|  | 12 |  | 
|  | 13 | # Uncomment following two lines and fix the paths if you have installed TLS | 
|  | 14 | # libraries in a non-default location | 
|  | 15 | #CFLAGS += -I/usr/local/openssl/include | 
|  | 16 | #LIBS += -L/usr/local/openssl/lib | 
|  | 17 |  | 
|  | 18 | # Some Red Hat versions seem to include kerberos header files from OpenSSL, but | 
|  | 19 | # the kerberos files are not in the default include path. Following line can be | 
|  | 20 | # used to fix build issues on such systems (krb5.h not found). | 
|  | 21 | #CFLAGS += -I/usr/include/kerberos | 
|  | 22 |  | 
|  | 23 |  | 
|  | 24 | # Driver interface for generic Linux wireless extensions | 
|  | 25 | # Note: WEXT is deprecated in the current Linux kernel version and no new | 
|  | 26 | # functionality is added to it. nl80211-based interface is the new | 
|  | 27 | # replacement for WEXT and its use allows wpa_supplicant to properly control | 
|  | 28 | # the driver to improve existing functionality like roaming and to support new | 
|  | 29 | # functionality. | 
|  | 30 | CONFIG_DRIVER_WEXT=y | 
|  | 31 |  | 
|  | 32 | # Driver interface for Linux drivers using the nl80211 kernel interface | 
|  | 33 | CONFIG_DRIVER_NL80211=y | 
|  | 34 |  | 
|  | 35 | # QCA vendor extensions to nl80211 | 
|  | 36 | #CONFIG_DRIVER_NL80211_QCA=y | 
|  | 37 |  | 
|  | 38 | # driver_nl80211.c requires libnl. If you are compiling it yourself | 
|  | 39 | # you may need to point hostapd to your version of libnl. | 
|  | 40 | # | 
|  | 41 | #CFLAGS += -I$<path to libnl include files> | 
|  | 42 | #LIBS += -L$<path to libnl library files> | 
|  | 43 |  | 
|  | 44 | # Use libnl v2.0 (or 3.0) libraries. | 
|  | 45 | #CONFIG_LIBNL20=y | 
|  | 46 |  | 
|  | 47 | # Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) | 
|  | 48 | CONFIG_LIBNL32=y | 
|  | 49 |  | 
|  | 50 |  | 
|  | 51 | # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) | 
|  | 52 | #CONFIG_DRIVER_BSD=y | 
|  | 53 | #CFLAGS += -I/usr/local/include | 
|  | 54 | #LIBS += -L/usr/local/lib | 
|  | 55 | #LIBS_p += -L/usr/local/lib | 
|  | 56 | #LIBS_c += -L/usr/local/lib | 
|  | 57 |  | 
|  | 58 | # Driver interface for Windows NDIS | 
|  | 59 | #CONFIG_DRIVER_NDIS=y | 
|  | 60 | #CFLAGS += -I/usr/include/w32api/ddk | 
|  | 61 | #LIBS += -L/usr/local/lib | 
|  | 62 | # For native build using mingw | 
|  | 63 | #CONFIG_NATIVE_WINDOWS=y | 
|  | 64 | # Additional directories for cross-compilation on Linux host for mingw target | 
|  | 65 | #CFLAGS += -I/opt/mingw/mingw32/include/ddk | 
|  | 66 | #LIBS += -L/opt/mingw/mingw32/lib | 
|  | 67 | #CC=mingw32-gcc | 
|  | 68 | # By default, driver_ndis uses WinPcap for low-level operations. This can be | 
|  | 69 | # replaced with the following option which replaces WinPcap calls with NDISUIO. | 
|  | 70 | # However, this requires that WZC is disabled (net stop wzcsvc) before starting | 
|  | 71 | # wpa_supplicant. | 
|  | 72 | # CONFIG_USE_NDISUIO=y | 
|  | 73 |  | 
|  | 74 | # Driver interface for wired Ethernet drivers | 
|  | 75 | CONFIG_DRIVER_WIRED=y | 
|  | 76 |  | 
|  | 77 | # Driver interface for MACsec capable Qualcomm Atheros drivers | 
|  | 78 | #CONFIG_DRIVER_MACSEC_QCA=y | 
|  | 79 |  | 
|  | 80 | # Driver interface for Linux MACsec drivers | 
|  | 81 | CONFIG_DRIVER_MACSEC_LINUX=y | 
|  | 82 |  | 
|  | 83 | # Driver interface for the Broadcom RoboSwitch family | 
|  | 84 | #CONFIG_DRIVER_ROBOSWITCH=y | 
|  | 85 |  | 
|  | 86 | # Driver interface for no driver (e.g., WPS ER only) | 
|  | 87 | #CONFIG_DRIVER_NONE=y | 
|  | 88 |  | 
|  | 89 | # Solaris libraries | 
|  | 90 | #LIBS += -lsocket -ldlpi -lnsl | 
|  | 91 | #LIBS_c += -lsocket | 
|  | 92 |  | 
|  | 93 | # Enable IEEE 802.1X Supplicant (automatically included if any EAP method or | 
|  | 94 | # MACsec is included) | 
|  | 95 | CONFIG_IEEE8021X_EAPOL=y | 
|  | 96 |  | 
|  | 97 | # EAP-MD5 | 
|  | 98 | CONFIG_EAP_MD5=y | 
|  | 99 |  | 
|  | 100 | # EAP-MSCHAPv2 | 
|  | 101 | CONFIG_EAP_MSCHAPV2=y | 
|  | 102 |  | 
|  | 103 | # EAP-TLS | 
|  | 104 | CONFIG_EAP_TLS=y | 
|  | 105 | # Enable EAP-TLSv1.3 support by default (currently disabled unless explicitly | 
|  | 106 | # enabled in network configuration) | 
|  | 107 | #CONFIG_EAP_TLSV1_3=y | 
|  | 108 |  | 
|  | 109 | # EAL-PEAP | 
|  | 110 | CONFIG_EAP_PEAP=y | 
|  | 111 |  | 
|  | 112 | # EAP-TTLS | 
|  | 113 | CONFIG_EAP_TTLS=y | 
|  | 114 |  | 
|  | 115 | # EAP-FAST | 
|  | 116 | CONFIG_EAP_FAST=y | 
|  | 117 |  | 
|  | 118 | # EAP-TEAP | 
|  | 119 | # Note: The current EAP-TEAP implementation is experimental and should not be | 
|  | 120 | # enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number | 
|  | 121 | # of conflicting statements and missing details and the implementation has | 
|  | 122 | # vendor specific workarounds for those and as such, may not interoperate with | 
|  | 123 | # any other implementation. This should not be used for anything else than | 
|  | 124 | # experimentation and interoperability testing until those issues has been | 
|  | 125 | # resolved. | 
|  | 126 | #CONFIG_EAP_TEAP=y | 
|  | 127 |  | 
|  | 128 | # EAP-GTC | 
|  | 129 | CONFIG_EAP_GTC=y | 
|  | 130 |  | 
|  | 131 | # EAP-OTP | 
|  | 132 | CONFIG_EAP_OTP=y | 
|  | 133 |  | 
|  | 134 | # EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) | 
|  | 135 | #CONFIG_EAP_SIM=y | 
|  | 136 |  | 
|  | 137 | # Enable SIM simulator (Milenage) for EAP-SIM | 
|  | 138 | #CONFIG_SIM_SIMULATOR=y | 
|  | 139 |  | 
|  | 140 | # EAP-PSK (experimental; this is _not_ needed for WPA-PSK) | 
|  | 141 | #CONFIG_EAP_PSK=y | 
|  | 142 |  | 
|  | 143 | # EAP-pwd (secure authentication using only a password) | 
|  | 144 | CONFIG_EAP_PWD=y | 
|  | 145 |  | 
|  | 146 | # EAP-PAX | 
|  | 147 | CONFIG_EAP_PAX=y | 
|  | 148 |  | 
|  | 149 | # LEAP | 
|  | 150 | CONFIG_EAP_LEAP=y | 
|  | 151 |  | 
|  | 152 | # EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) | 
|  | 153 | #CONFIG_EAP_AKA=y | 
|  | 154 |  | 
|  | 155 | # EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used). | 
|  | 156 | # This requires CONFIG_EAP_AKA to be enabled, too. | 
|  | 157 | #CONFIG_EAP_AKA_PRIME=y | 
|  | 158 |  | 
|  | 159 | # Enable USIM simulator (Milenage) for EAP-AKA | 
|  | 160 | #CONFIG_USIM_SIMULATOR=y | 
|  | 161 |  | 
|  | 162 | # EAP-SAKE | 
|  | 163 | CONFIG_EAP_SAKE=y | 
|  | 164 |  | 
|  | 165 | # EAP-GPSK | 
|  | 166 | CONFIG_EAP_GPSK=y | 
|  | 167 | # Include support for optional SHA256 cipher suite in EAP-GPSK | 
|  | 168 | CONFIG_EAP_GPSK_SHA256=y | 
|  | 169 |  | 
|  | 170 | # EAP-TNC and related Trusted Network Connect support (experimental) | 
|  | 171 | CONFIG_EAP_TNC=y | 
|  | 172 |  | 
|  | 173 | # Wi-Fi Protected Setup (WPS) | 
|  | 174 | CONFIG_WPS=y | 
|  | 175 | # Enable WPS external registrar functionality | 
|  | 176 | #CONFIG_WPS_ER=y | 
|  | 177 | # Disable credentials for an open network by default when acting as a WPS | 
|  | 178 | # registrar. | 
|  | 179 | #CONFIG_WPS_REG_DISABLE_OPEN=y | 
|  | 180 | # Enable WPS support with NFC config method | 
|  | 181 | #CONFIG_WPS_NFC=y | 
|  | 182 |  | 
|  | 183 | # EAP-IKEv2 | 
|  | 184 | CONFIG_EAP_IKEV2=y | 
|  | 185 |  | 
|  | 186 | # EAP-EKE | 
|  | 187 | #CONFIG_EAP_EKE=y | 
|  | 188 |  | 
|  | 189 | # MACsec | 
|  | 190 | CONFIG_MACSEC=y | 
|  | 191 |  | 
|  | 192 | # PKCS#12 (PFX) support (used to read private key and certificate file from | 
|  | 193 | # a file that usually has extension .p12 or .pfx) | 
|  | 194 | CONFIG_PKCS12=y | 
|  | 195 |  | 
|  | 196 | # Smartcard support (i.e., private key on a smartcard), e.g., with openssl | 
|  | 197 | # engine. | 
|  | 198 | CONFIG_SMARTCARD=y | 
|  | 199 |  | 
|  | 200 | # PC/SC interface for smartcards (USIM, GSM SIM) | 
|  | 201 | # Enable this if EAP-SIM or EAP-AKA is included | 
|  | 202 | #CONFIG_PCSC=y | 
|  | 203 |  | 
|  | 204 | # Support HT overrides (disable HT/HT40, mask MCS rates, etc.) | 
|  | 205 | #CONFIG_HT_OVERRIDES=y | 
|  | 206 |  | 
|  | 207 | # Support VHT overrides (disable VHT, mask MCS rates, etc.) | 
|  | 208 | #CONFIG_VHT_OVERRIDES=y | 
|  | 209 |  | 
|  | 210 | # Support HE overrides | 
|  | 211 | #CONFIG_HE_OVERRIDES=y | 
|  | 212 |  | 
|  | 213 | # Development testing | 
|  | 214 | #CONFIG_EAPOL_TEST=y | 
|  | 215 |  | 
|  | 216 | # Select control interface backend for external programs, e.g, wpa_cli: | 
|  | 217 | # unix = UNIX domain sockets (default for Linux/*BSD) | 
|  | 218 | # udp = UDP sockets using localhost (127.0.0.1) | 
|  | 219 | # udp6 = UDP IPv6 sockets using localhost (::1) | 
|  | 220 | # named_pipe = Windows Named Pipe (default for Windows) | 
|  | 221 | # udp-remote = UDP sockets with remote access (only for tests systems/purpose) | 
|  | 222 | # udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose) | 
|  | 223 | # y = use default (backwards compatibility) | 
|  | 224 | # If this option is commented out, control interface is not included in the | 
|  | 225 | # build. | 
|  | 226 | CONFIG_CTRL_IFACE=y | 
|  | 227 |  | 
|  | 228 | # Include support for GNU Readline and History Libraries in wpa_cli. | 
|  | 229 | # When building a wpa_cli binary for distribution, please note that these | 
|  | 230 | # libraries are licensed under GPL and as such, BSD license may not apply for | 
|  | 231 | # the resulting binary. | 
|  | 232 | #CONFIG_READLINE=y | 
|  | 233 |  | 
|  | 234 | # Include internal line edit mode in wpa_cli. This can be used as a replacement | 
|  | 235 | # for GNU Readline to provide limited command line editing and history support. | 
|  | 236 | #CONFIG_WPA_CLI_EDIT=y | 
|  | 237 |  | 
|  | 238 | # Remove debugging code that is printing out debug message to stdout. | 
|  | 239 | # This can be used to reduce the size of the wpa_supplicant considerably | 
|  | 240 | # if debugging code is not needed. The size reduction can be around 35% | 
|  | 241 | # (e.g., 90 kB). | 
|  | 242 | #CONFIG_NO_STDOUT_DEBUG=y | 
|  | 243 |  | 
|  | 244 | # Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save | 
|  | 245 | # 35-50 kB in code size. | 
|  | 246 | #CONFIG_NO_WPA=y | 
|  | 247 |  | 
|  | 248 | # Remove IEEE 802.11i/WPA-Personal ASCII passphrase support | 
|  | 249 | # This option can be used to reduce code size by removing support for | 
|  | 250 | # converting ASCII passphrases into PSK. If this functionality is removed, the | 
|  | 251 | # PSK can only be configured as the 64-octet hexstring (e.g., from | 
|  | 252 | # wpa_passphrase). This saves about 0.5 kB in code size. | 
|  | 253 | #CONFIG_NO_WPA_PASSPHRASE=y | 
|  | 254 |  | 
|  | 255 | # Simultaneous Authentication of Equals (SAE), WPA3-Personal | 
|  | 256 | CONFIG_SAE=y | 
|  | 257 |  | 
|  | 258 | # SAE Public Key, WPA3-Personal | 
|  | 259 | #CONFIG_SAE_PK=y | 
|  | 260 |  | 
|  | 261 | # Disable scan result processing (ap_scan=1) to save code size by about 1 kB. | 
|  | 262 | # This can be used if ap_scan=1 mode is never enabled. | 
|  | 263 | #CONFIG_NO_SCAN_PROCESSING=y | 
|  | 264 |  | 
|  | 265 | # Select configuration backend: | 
|  | 266 | # file = text file (e.g., wpa_supplicant.conf; note: the configuration file | 
|  | 267 | #	path is given on command line, not here; this option is just used to | 
|  | 268 | #	select the backend that allows configuration files to be used) | 
|  | 269 | # winreg = Windows registry (see win_example.reg for an example) | 
|  | 270 | CONFIG_BACKEND=file | 
|  | 271 |  | 
|  | 272 | # Remove configuration write functionality (i.e., to allow the configuration | 
|  | 273 | # file to be updated based on runtime configuration changes). The runtime | 
|  | 274 | # configuration can still be changed, the changes are just not going to be | 
|  | 275 | # persistent over restarts. This option can be used to reduce code size by | 
|  | 276 | # about 3.5 kB. | 
|  | 277 | #CONFIG_NO_CONFIG_WRITE=y | 
|  | 278 |  | 
|  | 279 | # Remove support for configuration blobs to reduce code size by about 1.5 kB. | 
|  | 280 | #CONFIG_NO_CONFIG_BLOBS=y | 
|  | 281 |  | 
|  | 282 | # Select program entry point implementation: | 
|  | 283 | # main = UNIX/POSIX like main() function (default) | 
|  | 284 | # main_winsvc = Windows service (read parameters from registry) | 
|  | 285 | # main_none = Very basic example (development use only) | 
|  | 286 | #CONFIG_MAIN=main | 
|  | 287 |  | 
|  | 288 | # Select wrapper for operating system and C library specific functions | 
|  | 289 | # unix = UNIX/POSIX like systems (default) | 
|  | 290 | # win32 = Windows systems | 
|  | 291 | # none = Empty template | 
|  | 292 | #CONFIG_OS=unix | 
|  | 293 |  | 
|  | 294 | # Select event loop implementation | 
|  | 295 | # eloop = select() loop (default) | 
|  | 296 | # eloop_win = Windows events and WaitForMultipleObject() loop | 
|  | 297 | #CONFIG_ELOOP=eloop | 
|  | 298 |  | 
|  | 299 | # Should we use poll instead of select? Select is used by default. | 
|  | 300 | #CONFIG_ELOOP_POLL=y | 
|  | 301 |  | 
|  | 302 | # Should we use epoll instead of select? Select is used by default. | 
|  | 303 | #CONFIG_ELOOP_EPOLL=y | 
|  | 304 |  | 
|  | 305 | # Should we use kqueue instead of select? Select is used by default. | 
|  | 306 | #CONFIG_ELOOP_KQUEUE=y | 
|  | 307 |  | 
|  | 308 | # Select layer 2 packet implementation | 
|  | 309 | # linux = Linux packet socket (default) | 
|  | 310 | # pcap = libpcap/libdnet/WinPcap | 
|  | 311 | # freebsd = FreeBSD libpcap | 
|  | 312 | # winpcap = WinPcap with receive thread | 
|  | 313 | # ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y) | 
|  | 314 | # none = Empty template | 
|  | 315 | #CONFIG_L2_PACKET=linux | 
|  | 316 |  | 
|  | 317 | # Disable Linux packet socket workaround applicable for station interface | 
|  | 318 | # in a bridge for EAPOL frames. This should be uncommented only if the kernel | 
|  | 319 | # is known to not have the regression issue in packet socket behavior with | 
|  | 320 | # bridge interfaces (commit 'bridge: respect RFC2863 operational state')'). | 
|  | 321 | #CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y | 
|  | 322 |  | 
|  | 323 | # Support Operating Channel Validation | 
|  | 324 | #CONFIG_OCV=y | 
|  | 325 |  | 
|  | 326 | # Select TLS implementation | 
|  | 327 | # openssl = OpenSSL (default) | 
|  | 328 | # gnutls = GnuTLS | 
|  | 329 | # internal = Internal TLSv1 implementation (experimental) | 
|  | 330 | # mbedtls = mbed TLS | 
|  | 331 | # linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) | 
|  | 332 | # none = Empty template | 
|  | 333 | #CONFIG_TLS=openssl | 
|  | 334 |  | 
|  | 335 | # TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) | 
|  | 336 | # can be enabled to get a stronger construction of messages when block ciphers | 
|  | 337 | # are used. It should be noted that some existing TLS v1.0 -based | 
|  | 338 | # implementation may not be compatible with TLS v1.1 message (ClientHello is | 
|  | 339 | # sent prior to negotiating which version will be used) | 
|  | 340 | #CONFIG_TLSV11=y | 
|  | 341 |  | 
|  | 342 | # TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) | 
|  | 343 | # can be enabled to enable use of stronger crypto algorithms. It should be | 
|  | 344 | # noted that some existing TLS v1.0 -based implementation may not be compatible | 
|  | 345 | # with TLS v1.2 message (ClientHello is sent prior to negotiating which version | 
|  | 346 | # will be used) | 
|  | 347 | #CONFIG_TLSV12=y | 
|  | 348 |  | 
|  | 349 | # Select which ciphers to use by default with OpenSSL if the user does not | 
|  | 350 | # specify them. | 
|  | 351 | #CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" | 
|  | 352 |  | 
|  | 353 | # If CONFIG_TLS=internal is used, additional library and include paths are | 
|  | 354 | # needed for LibTomMath. Alternatively, an integrated, minimal version of | 
|  | 355 | # LibTomMath can be used. See beginning of libtommath.c for details on benefits | 
|  | 356 | # and drawbacks of this option. | 
|  | 357 | #CONFIG_INTERNAL_LIBTOMMATH=y | 
|  | 358 | #ifndef CONFIG_INTERNAL_LIBTOMMATH | 
|  | 359 | #LTM_PATH=/usr/src/libtommath-0.39 | 
|  | 360 | #CFLAGS += -I$(LTM_PATH) | 
|  | 361 | #LIBS += -L$(LTM_PATH) | 
|  | 362 | #LIBS_p += -L$(LTM_PATH) | 
|  | 363 | #endif | 
|  | 364 | # At the cost of about 4 kB of additional binary size, the internal LibTomMath | 
|  | 365 | # can be configured to include faster routines for exptmod, sqr, and div to | 
|  | 366 | # speed up DH and RSA calculation considerably | 
|  | 367 | #CONFIG_INTERNAL_LIBTOMMATH_FAST=y | 
|  | 368 |  | 
|  | 369 | # Include NDIS event processing through WMI into wpa_supplicant/wpasvc. | 
|  | 370 | # This is only for Windows builds and requires WMI-related header files and | 
|  | 371 | # WbemUuid.Lib from Platform SDK even when building with MinGW. | 
|  | 372 | #CONFIG_NDIS_EVENTS_INTEGRATED=y | 
|  | 373 | #PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib" | 
|  | 374 |  | 
|  | 375 | # Add support for new DBus control interface | 
|  | 376 | # (fi.w1.wpa_supplicant1) | 
|  | 377 | CONFIG_CTRL_IFACE_DBUS_NEW=y | 
|  | 378 |  | 
|  | 379 | # Add introspection support for new DBus control interface | 
|  | 380 | CONFIG_CTRL_IFACE_DBUS_INTRO=y | 
|  | 381 |  | 
|  | 382 | # Add support for loading EAP methods dynamically as shared libraries. | 
|  | 383 | # When this option is enabled, each EAP method can be either included | 
|  | 384 | # statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn). | 
|  | 385 | # Dynamic EAP methods are build as shared objects (eap_*.so) and they need to | 
|  | 386 | # be loaded in the beginning of the wpa_supplicant configuration file | 
|  | 387 | # (see load_dynamic_eap parameter in the example file) before being used in | 
|  | 388 | # the network blocks. | 
|  | 389 | # | 
|  | 390 | # Note that some shared parts of EAP methods are included in the main program | 
|  | 391 | # and in order to be able to use dynamic EAP methods using these parts, the | 
|  | 392 | # main program must have been build with the EAP method enabled (=y or =dyn). | 
|  | 393 | # This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries | 
|  | 394 | # unless at least one of them was included in the main build to force inclusion | 
|  | 395 | # of the shared code. Similarly, at least one of EAP-SIM/AKA must be included | 
|  | 396 | # in the main build to be able to load these methods dynamically. | 
|  | 397 | # | 
|  | 398 | # Please also note that using dynamic libraries will increase the total binary | 
|  | 399 | # size. Thus, it may not be the best option for targets that have limited | 
|  | 400 | # amount of memory/flash. | 
|  | 401 | #CONFIG_DYNAMIC_EAP_METHODS=y | 
|  | 402 |  | 
|  | 403 | # IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode | 
|  | 404 | CONFIG_IEEE80211R=y | 
|  | 405 |  | 
|  | 406 | # Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) | 
|  | 407 | CONFIG_DEBUG_FILE=y | 
|  | 408 |  | 
|  | 409 | # Send debug messages to syslog instead of stdout | 
|  | 410 | CONFIG_DEBUG_SYSLOG=y | 
|  | 411 | # Set syslog facility for debug messages | 
|  | 412 | #CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON | 
|  | 413 |  | 
|  | 414 | # Add support for sending all debug messages (regardless of debug verbosity) | 
|  | 415 | # to the Linux kernel tracing facility. This helps debug the entire stack by | 
|  | 416 | # making it easy to record everything happening from the driver up into the | 
|  | 417 | # same file, e.g., using trace-cmd. | 
|  | 418 | #CONFIG_DEBUG_LINUX_TRACING=y | 
|  | 419 |  | 
|  | 420 | # Add support for writing debug log to Android logcat instead of standard | 
|  | 421 | # output | 
|  | 422 | #CONFIG_ANDROID_LOG=y | 
|  | 423 |  | 
|  | 424 | # Enable privilege separation (see README 'Privilege separation' for details) | 
|  | 425 | #CONFIG_PRIVSEP=y | 
|  | 426 |  | 
|  | 427 | # Enable mitigation against certain attacks against TKIP by delaying Michael | 
|  | 428 | # MIC error reports by a random amount of time between 0 and 60 seconds | 
|  | 429 | #CONFIG_DELAYED_MIC_ERROR_REPORT=y | 
|  | 430 |  | 
|  | 431 | # Enable tracing code for developer debugging | 
|  | 432 | # This tracks use of memory allocations and other registrations and reports | 
|  | 433 | # incorrect use with a backtrace of call (or allocation) location. | 
|  | 434 | #CONFIG_WPA_TRACE=y | 
|  | 435 | # For BSD, uncomment these. | 
|  | 436 | #LIBS += -lexecinfo | 
|  | 437 | #LIBS_p += -lexecinfo | 
|  | 438 | #LIBS_c += -lexecinfo | 
|  | 439 |  | 
|  | 440 | # Use libbfd to get more details for developer debugging | 
|  | 441 | # This enables use of libbfd to get more detailed symbols for the backtraces | 
|  | 442 | # generated by CONFIG_WPA_TRACE=y. | 
|  | 443 | #CONFIG_WPA_TRACE_BFD=y | 
|  | 444 | # For BSD, uncomment these. | 
|  | 445 | #LIBS += -lbfd -liberty -lz | 
|  | 446 | #LIBS_p += -lbfd -liberty -lz | 
|  | 447 | #LIBS_c += -lbfd -liberty -lz | 
|  | 448 |  | 
|  | 449 | # wpa_supplicant depends on strong random number generation being available | 
|  | 450 | # from the operating system. os_get_random() function is used to fetch random | 
|  | 451 | # data when needed, e.g., for key generation. On Linux and BSD systems, this | 
|  | 452 | # works by reading /dev/urandom. It should be noted that the OS entropy pool | 
|  | 453 | # needs to be properly initialized before wpa_supplicant is started. This is | 
|  | 454 | # important especially on embedded devices that do not have a hardware random | 
|  | 455 | # number generator and may by default start up with minimal entropy available | 
|  | 456 | # for random number generation. | 
|  | 457 | # | 
|  | 458 | # As a safety net, wpa_supplicant is by default trying to internally collect | 
|  | 459 | # additional entropy for generating random data to mix in with the data fetched | 
|  | 460 | # from the OS. This by itself is not considered to be very strong, but it may | 
|  | 461 | # help in cases where the system pool is not initialized properly. However, it | 
|  | 462 | # is very strongly recommended that the system pool is initialized with enough | 
|  | 463 | # entropy either by using hardware assisted random number generator or by | 
|  | 464 | # storing state over device reboots. | 
|  | 465 | # | 
|  | 466 | # wpa_supplicant can be configured to maintain its own entropy store over | 
|  | 467 | # restarts to enhance random number generation. This is not perfect, but it is | 
|  | 468 | # much more secure than using the same sequence of random numbers after every | 
|  | 469 | # reboot. This can be enabled with -e<entropy file> command line option. The | 
|  | 470 | # specified file needs to be readable and writable by wpa_supplicant. | 
|  | 471 | # | 
|  | 472 | # If the os_get_random() is known to provide strong random data (e.g., on | 
|  | 473 | # Linux/BSD, the board in question is known to have reliable source of random | 
|  | 474 | # data from /dev/urandom), the internal wpa_supplicant random pool can be | 
|  | 475 | # disabled. This will save some in binary size and CPU use. However, this | 
|  | 476 | # should only be considered for builds that are known to be used on devices | 
|  | 477 | # that meet the requirements described above. | 
|  | 478 | #CONFIG_NO_RANDOM_POOL=y | 
|  | 479 |  | 
|  | 480 | # Should we attempt to use the getrandom(2) call that provides more reliable | 
|  | 481 | # yet secure randomness source than /dev/random on Linux 3.17 and newer. | 
|  | 482 | # Requires glibc 2.25 to build, falls back to /dev/random if unavailable. | 
|  | 483 | #CONFIG_GETRANDOM=y | 
|  | 484 |  | 
|  | 485 | # IEEE 802.11ac (Very High Throughput) support (mainly for AP mode) | 
|  | 486 | CONFIG_IEEE80211AC=y | 
|  | 487 |  | 
|  | 488 | # IEEE 802.11ax HE support (mainly for AP mode) | 
|  | 489 | CONFIG_IEEE80211AX=y | 
|  | 490 |  | 
|  | 491 | # IEEE 802.11be EHT support (mainly for AP mode) | 
|  | 492 | # CONFIG_IEEE80211AX is mandatory for setting CONFIG_IEEE80211BE. | 
|  | 493 | # Note: This is experimental and work in progress. The definitions are still | 
|  | 494 | # subject to change and this should not be expected to interoperate with the | 
|  | 495 | # final IEEE 802.11be version. | 
|  | 496 | #CONFIG_IEEE80211BE=y | 
|  | 497 |  | 
|  | 498 | # Wireless Network Management (IEEE Std 802.11v-2011) | 
|  | 499 | # Note: This is experimental and not complete implementation. | 
|  | 500 | #CONFIG_WNM=y | 
|  | 501 |  | 
|  | 502 | # Interworking (IEEE 802.11u) | 
|  | 503 | # This can be used to enable functionality to improve interworking with | 
|  | 504 | # external networks (GAS/ANQP to learn more about the networks and network | 
|  | 505 | # selection based on available credentials). | 
|  | 506 | CONFIG_INTERWORKING=y | 
|  | 507 |  | 
|  | 508 | # Hotspot 2.0 | 
|  | 509 | CONFIG_HS20=y | 
|  | 510 |  | 
|  | 511 | # Enable interface matching in wpa_supplicant | 
|  | 512 | #CONFIG_MATCH_IFACE=y | 
|  | 513 |  | 
|  | 514 | # Disable roaming in wpa_supplicant | 
|  | 515 | #CONFIG_NO_ROAMING=y | 
|  | 516 |  | 
|  | 517 | # AP mode operations with wpa_supplicant | 
|  | 518 | # This can be used for controlling AP mode operations with wpa_supplicant. It | 
|  | 519 | # should be noted that this is mainly aimed at simple cases like | 
|  | 520 | # WPA2-Personal while more complex configurations like WPA2-Enterprise with an | 
|  | 521 | # external RADIUS server can be supported with hostapd. | 
|  | 522 | CONFIG_AP=y | 
|  | 523 |  | 
|  | 524 | # P2P (Wi-Fi Direct) | 
|  | 525 | # This can be used to enable P2P support in wpa_supplicant. See README-P2P for | 
|  | 526 | # more information on P2P operations. | 
|  | 527 | CONFIG_P2P=y | 
|  | 528 |  | 
|  | 529 | # Enable TDLS support | 
|  | 530 | CONFIG_TDLS=y | 
|  | 531 |  | 
|  | 532 | # Wi-Fi Display | 
|  | 533 | # This can be used to enable Wi-Fi Display extensions for P2P using an external | 
|  | 534 | # program to control the additional information exchanges in the messages. | 
|  | 535 | CONFIG_WIFI_DISPLAY=y | 
|  | 536 |  | 
|  | 537 | # Autoscan | 
|  | 538 | # This can be used to enable automatic scan support in wpa_supplicant. | 
|  | 539 | # See wpa_supplicant.conf for more information on autoscan usage. | 
|  | 540 | # | 
|  | 541 | # Enabling directly a module will enable autoscan support. | 
|  | 542 | # For exponential module: | 
|  | 543 | #CONFIG_AUTOSCAN_EXPONENTIAL=y | 
|  | 544 | # For periodic module: | 
|  | 545 | #CONFIG_AUTOSCAN_PERIODIC=y | 
|  | 546 |  | 
|  | 547 | # Password (and passphrase, etc.) backend for external storage | 
|  | 548 | # These optional mechanisms can be used to add support for storing passwords | 
|  | 549 | # and other secrets in external (to wpa_supplicant) location. This allows, for | 
|  | 550 | # example, operating system specific key storage to be used | 
|  | 551 | # | 
|  | 552 | # External password backend for testing purposes (developer use) | 
|  | 553 | #CONFIG_EXT_PASSWORD_TEST=y | 
|  | 554 | # File-based backend to read passwords from an external file. | 
|  | 555 | #CONFIG_EXT_PASSWORD_FILE=y | 
|  | 556 |  | 
|  | 557 | # Enable Fast Session Transfer (FST) | 
|  | 558 | #CONFIG_FST=y | 
|  | 559 |  | 
|  | 560 | # Enable CLI commands for FST testing | 
|  | 561 | #CONFIG_FST_TEST=y | 
|  | 562 |  | 
|  | 563 | # OS X builds. This is only for building eapol_test. | 
|  | 564 | #CONFIG_OSX=y | 
|  | 565 |  | 
|  | 566 | # Automatic Channel Selection | 
|  | 567 | # This will allow wpa_supplicant to pick the channel automatically when channel | 
|  | 568 | # is set to "0". | 
|  | 569 | # | 
|  | 570 | # TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative | 
|  | 571 | # to "channel=0". This would enable us to eventually add other ACS algorithms in | 
|  | 572 | # similar way. | 
|  | 573 | # | 
|  | 574 | # Automatic selection is currently only done through initialization, later on | 
|  | 575 | # we hope to do background checks to keep us moving to more ideal channels as | 
|  | 576 | # time goes by. ACS is currently only supported through the nl80211 driver and | 
|  | 577 | # your driver must have survey dump capability that is filled by the driver | 
|  | 578 | # during scanning. | 
|  | 579 | # | 
|  | 580 | # TODO: In analogy to hostapd be able to customize the ACS survey algorithm with | 
|  | 581 | # a newly to create wpa_supplicant.conf variable acs_num_scans. | 
|  | 582 | # | 
|  | 583 | # Supported ACS drivers: | 
|  | 584 | # * ath9k | 
|  | 585 | # * ath5k | 
|  | 586 | # * ath10k | 
|  | 587 | # | 
|  | 588 | # For more details refer to: | 
|  | 589 | # http://wireless.kernel.org/en/users/Documentation/acs | 
|  | 590 | #CONFIG_ACS=y | 
|  | 591 |  | 
|  | 592 | # Support Multi Band Operation | 
|  | 593 | #CONFIG_MBO=y | 
|  | 594 |  | 
|  | 595 | # Fast Initial Link Setup (FILS) (IEEE 802.11ai) | 
|  | 596 | #CONFIG_FILS=y | 
|  | 597 | # FILS shared key authentication with PFS | 
|  | 598 | #CONFIG_FILS_SK_PFS=y | 
|  | 599 |  | 
|  | 600 | # Support RSN on IBSS networks | 
|  | 601 | # This is needed to be able to use mode=1 network profile with proto=RSN and | 
|  | 602 | # key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None). | 
|  | 603 | CONFIG_IBSS_RSN=y | 
|  | 604 |  | 
|  | 605 | # External PMKSA cache control | 
|  | 606 | # This can be used to enable control interface commands that allow the current | 
|  | 607 | # PMKSA cache entries to be fetched and new entries to be added. | 
|  | 608 | #CONFIG_PMKSA_CACHE_EXTERNAL=y | 
|  | 609 |  | 
|  | 610 | # Mesh Networking (IEEE 802.11s) | 
|  | 611 | #CONFIG_MESH=y | 
|  | 612 |  | 
|  | 613 | # Background scanning modules | 
|  | 614 | # These can be used to request wpa_supplicant to perform background scanning | 
|  | 615 | # operations for roaming within an ESS (same SSID). See the bgscan parameter in | 
|  | 616 | # the wpa_supplicant.conf file for more details. | 
|  | 617 | # Periodic background scans based on signal strength | 
|  | 618 | CONFIG_BGSCAN_SIMPLE=y | 
|  | 619 | # Learn channels used by the network and try to avoid bgscans on other | 
|  | 620 | # channels (experimental) | 
|  | 621 | #CONFIG_BGSCAN_LEARN=y | 
|  | 622 |  | 
|  | 623 | # Opportunistic Wireless Encryption (OWE) | 
|  | 624 | # Experimental implementation of draft-harkins-owe-07.txt | 
|  | 625 | #CONFIG_OWE=y | 
|  | 626 |  | 
|  | 627 | # Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect) | 
|  | 628 | CONFIG_DPP=y | 
|  | 629 | # DPP version 2 support | 
|  | 630 | CONFIG_DPP2=y | 
|  | 631 | # DPP version 3 support (experimental and still changing; do not enable for | 
|  | 632 | # production use) | 
|  | 633 | #CONFIG_DPP3=y | 
|  | 634 |  | 
|  | 635 | # Wired equivalent privacy (WEP) | 
|  | 636 | # WEP is an obsolete cryptographic data confidentiality algorithm that is not | 
|  | 637 | # considered secure. It should not be used for anything anymore. The | 
|  | 638 | # functionality needed to use WEP is available in the current wpa_supplicant | 
|  | 639 | # release under this optional build parameter. This functionality is subject to | 
|  | 640 | # be completely removed in a future release. | 
|  | 641 | #CONFIG_WEP=y | 
|  | 642 |  | 
|  | 643 | # Remove all TKIP functionality | 
|  | 644 | # TKIP is an old cryptographic data confidentiality algorithm that is not | 
|  | 645 | # considered secure. It should not be used anymore for anything else than a | 
|  | 646 | # backwards compatibility option as a group cipher when connecting to APs that | 
|  | 647 | # use WPA+WPA2 mixed mode. For now, the default wpa_supplicant build includes | 
|  | 648 | # support for this by default, but that functionality is subject to be removed | 
|  | 649 | # in the future. | 
|  | 650 | #CONFIG_NO_TKIP=y | 
|  | 651 |  | 
|  | 652 | # Pre-Association Security Negotiation (PASN) | 
|  | 653 | # Experimental implementation based on IEEE P802.11z/D2.6 and the protocol | 
|  | 654 | # design is still subject to change. As such, this should not yet be enabled in | 
|  | 655 | # production use. | 
|  | 656 | #CONFIG_PASN=y |