18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig WIRELESS_EXT 38c2ecf20Sopenharmony_ci bool 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciconfig WEXT_CORE 68c2ecf20Sopenharmony_ci def_bool y 78c2ecf20Sopenharmony_ci depends on CFG80211_WEXT || WIRELESS_EXT 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciconfig WEXT_PROC 108c2ecf20Sopenharmony_ci def_bool y 118c2ecf20Sopenharmony_ci depends on PROC_FS 128c2ecf20Sopenharmony_ci depends on WEXT_CORE 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciconfig WEXT_SPY 158c2ecf20Sopenharmony_ci bool 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciconfig WEXT_PRIV 188c2ecf20Sopenharmony_ci bool 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciconfig CFG80211 218c2ecf20Sopenharmony_ci tristate "cfg80211 - wireless configuration API" 228c2ecf20Sopenharmony_ci depends on RFKILL || !RFKILL 238c2ecf20Sopenharmony_ci select FW_LOADER 248c2ecf20Sopenharmony_ci select CRC32 258c2ecf20Sopenharmony_ci # may need to update this when certificates are changed and are 268c2ecf20Sopenharmony_ci # using a different algorithm, though right now they shouldn't 278c2ecf20Sopenharmony_ci # (this is here rather than below to allow it to be a module) 288c2ecf20Sopenharmony_ci select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS 298c2ecf20Sopenharmony_ci help 308c2ecf20Sopenharmony_ci cfg80211 is the Linux wireless LAN (802.11) configuration API. 318c2ecf20Sopenharmony_ci Enable this if you have a wireless device. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci For more information refer to documentation on the wireless wiki: 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci When built as a module it will be called cfg80211. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciif CFG80211 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig NL80211_TESTMODE 428c2ecf20Sopenharmony_ci bool "nl80211 testmode command" 438c2ecf20Sopenharmony_ci help 448c2ecf20Sopenharmony_ci The nl80211 testmode command helps implementing things like 458c2ecf20Sopenharmony_ci factory calibration or validation tools for wireless chips. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci Select this option ONLY for kernels that are specifically 488c2ecf20Sopenharmony_ci built for such purposes. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci Debugging tools that are supposed to end up in the hands of 518c2ecf20Sopenharmony_ci users should better be implemented with debugfs. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci Say N. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciconfig CFG80211_DEVELOPER_WARNINGS 568c2ecf20Sopenharmony_ci bool "enable developer warnings" 578c2ecf20Sopenharmony_ci default n 588c2ecf20Sopenharmony_ci help 598c2ecf20Sopenharmony_ci This option enables some additional warnings that help 608c2ecf20Sopenharmony_ci cfg80211 developers and driver developers, but beware that 618c2ecf20Sopenharmony_ci they can also trigger due to races with userspace. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci For example, when a driver reports that it was disconnected 648c2ecf20Sopenharmony_ci from the AP, but the user disconnects manually at the same 658c2ecf20Sopenharmony_ci time, the warning might trigger spuriously due to races. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci Say Y only if you are developing cfg80211 or a driver based 688c2ecf20Sopenharmony_ci on it (or mac80211). 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig CFG80211_CERTIFICATION_ONUS 728c2ecf20Sopenharmony_ci bool "cfg80211 certification onus" 738c2ecf20Sopenharmony_ci depends on EXPERT 748c2ecf20Sopenharmony_ci default n 758c2ecf20Sopenharmony_ci help 768c2ecf20Sopenharmony_ci You should disable this option unless you are both capable 778c2ecf20Sopenharmony_ci and willing to ensure your system will remain regulatory 788c2ecf20Sopenharmony_ci compliant with the features available under this option. 798c2ecf20Sopenharmony_ci Some options may still be under heavy development and 808c2ecf20Sopenharmony_ci for whatever reason regulatory compliance has not or 818c2ecf20Sopenharmony_ci cannot yet be verified. Regulatory verification may at 828c2ecf20Sopenharmony_ci times only be possible until you have the final system 838c2ecf20Sopenharmony_ci in place. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci This option should only be enabled by system integrators 868c2ecf20Sopenharmony_ci or distributions that have done work necessary to ensure 878c2ecf20Sopenharmony_ci regulatory certification on the system with the enabled 888c2ecf20Sopenharmony_ci features. Alternatively you can enable this option if 898c2ecf20Sopenharmony_ci you are a wireless researcher and are working in a controlled 908c2ecf20Sopenharmony_ci and approved environment by your local regulatory agency. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciconfig CFG80211_REQUIRE_SIGNED_REGDB 938c2ecf20Sopenharmony_ci bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS 948c2ecf20Sopenharmony_ci default y 958c2ecf20Sopenharmony_ci select SYSTEM_DATA_VERIFICATION 968c2ecf20Sopenharmony_ci help 978c2ecf20Sopenharmony_ci Require that in addition to the "regulatory.db" file a 988c2ecf20Sopenharmony_ci "regulatory.db.p7s" can be loaded with a valid PKCS#7 998c2ecf20Sopenharmony_ci signature for the regulatory.db file made by one of the 1008c2ecf20Sopenharmony_ci keys in the certs/ directory. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ciconfig CFG80211_USE_KERNEL_REGDB_KEYS 1038c2ecf20Sopenharmony_ci bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS 1048c2ecf20Sopenharmony_ci default y 1058c2ecf20Sopenharmony_ci depends on CFG80211_REQUIRE_SIGNED_REGDB 1068c2ecf20Sopenharmony_ci help 1078c2ecf20Sopenharmony_ci Allow the regulatory database to be signed by one of the keys for 1088c2ecf20Sopenharmony_ci which certificates are part of the kernel sources 1098c2ecf20Sopenharmony_ci (in net/wireless/certs/). 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci This is currently only Seth Forshee's key, who is the regulatory 1128c2ecf20Sopenharmony_ci database maintainer. 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ciconfig CFG80211_EXTRA_REGDB_KEYDIR 1158c2ecf20Sopenharmony_ci string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS 1168c2ecf20Sopenharmony_ci depends on CFG80211_REQUIRE_SIGNED_REGDB 1178c2ecf20Sopenharmony_ci help 1188c2ecf20Sopenharmony_ci If selected, point to a directory with DER-encoded X.509 1198c2ecf20Sopenharmony_ci certificates like in the kernel sources (net/wireless/certs/) 1208c2ecf20Sopenharmony_ci that shall be accepted for a signed regulatory database. 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci Note that you need to also select the correct CRYPTO_<hash> modules 1238c2ecf20Sopenharmony_ci for your certificates, and if cfg80211 is built-in they also must be. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ciconfig CFG80211_REG_CELLULAR_HINTS 1268c2ecf20Sopenharmony_ci bool "cfg80211 regulatory support for cellular base station hints" 1278c2ecf20Sopenharmony_ci depends on CFG80211_CERTIFICATION_ONUS 1288c2ecf20Sopenharmony_ci help 1298c2ecf20Sopenharmony_ci This option enables support for parsing regulatory hints 1308c2ecf20Sopenharmony_ci from cellular base stations. If enabled and at least one driver 1318c2ecf20Sopenharmony_ci claims support for parsing cellular base station hints the 1328c2ecf20Sopenharmony_ci regulatory core will allow and parse these regulatory hints. 1338c2ecf20Sopenharmony_ci The regulatory core will only apply these regulatory hints on 1348c2ecf20Sopenharmony_ci drivers that support this feature. You should only enable this 1358c2ecf20Sopenharmony_ci feature if you have tested and validated this feature on your 1368c2ecf20Sopenharmony_ci systems. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciconfig CFG80211_REG_RELAX_NO_IR 1398c2ecf20Sopenharmony_ci bool "cfg80211 support for NO_IR relaxation" 1408c2ecf20Sopenharmony_ci depends on CFG80211_CERTIFICATION_ONUS 1418c2ecf20Sopenharmony_ci help 1428c2ecf20Sopenharmony_ci This option enables support for relaxation of the NO_IR flag for 1438c2ecf20Sopenharmony_ci situations that certain regulatory bodies have provided clarifications 1448c2ecf20Sopenharmony_ci on how relaxation can occur. This feature has an inherent dependency on 1458c2ecf20Sopenharmony_ci userspace features which must have been properly tested and as such is 1468c2ecf20Sopenharmony_ci not enabled by default. 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci A relaxation feature example is allowing the operation of a P2P group 1498c2ecf20Sopenharmony_ci owner (GO) on channels marked with NO_IR if there is an additional BSS 1508c2ecf20Sopenharmony_ci interface which associated to an AP which userspace assumes or confirms 1518c2ecf20Sopenharmony_ci to be an authorized master, i.e., with radar detection support and DFS 1528c2ecf20Sopenharmony_ci capabilities. However, note that in order to not create daisy chain 1538c2ecf20Sopenharmony_ci scenarios, this relaxation is not allowed in cases where the BSS client 1548c2ecf20Sopenharmony_ci is associated to P2P GO and in addition the P2P GO instantiated on 1558c2ecf20Sopenharmony_ci a channel due to this relaxation should not allow connection from 1568c2ecf20Sopenharmony_ci non P2P clients. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci The regulatory core will apply these relaxations only for drivers that 1598c2ecf20Sopenharmony_ci support this feature by declaring the appropriate channel flags and 1608c2ecf20Sopenharmony_ci capabilities in their registration flow. 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ciconfig CFG80211_DEFAULT_PS 1638c2ecf20Sopenharmony_ci bool "enable powersave by default" 1648c2ecf20Sopenharmony_ci default y 1658c2ecf20Sopenharmony_ci help 1668c2ecf20Sopenharmony_ci This option enables powersave mode by default. 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci If this causes your applications to misbehave you should fix your 1698c2ecf20Sopenharmony_ci applications instead -- they need to register their network 1708c2ecf20Sopenharmony_ci latency requirement, see Documentation/power/pm_qos_interface.rst. 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig CFG80211_DEBUGFS 1738c2ecf20Sopenharmony_ci bool "cfg80211 DebugFS entries" 1748c2ecf20Sopenharmony_ci depends on DEBUG_FS 1758c2ecf20Sopenharmony_ci help 1768c2ecf20Sopenharmony_ci You can enable this if you want debugfs entries for cfg80211. 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci If unsure, say N. 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ciconfig CFG80211_CRDA_SUPPORT 1818c2ecf20Sopenharmony_ci bool "support CRDA" if EXPERT 1828c2ecf20Sopenharmony_ci default y 1838c2ecf20Sopenharmony_ci help 1848c2ecf20Sopenharmony_ci You should enable this option unless you know for sure you have no 1858c2ecf20Sopenharmony_ci need for it, for example when using the regulatory database loaded as 1868c2ecf20Sopenharmony_ci a firmware file. 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci If unsure, say Y. 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ciconfig CFG80211_WEXT 1918c2ecf20Sopenharmony_ci bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT 1928c2ecf20Sopenharmony_ci select WEXT_CORE 1938c2ecf20Sopenharmony_ci default y if CFG80211_WEXT_EXPORT 1948c2ecf20Sopenharmony_ci help 1958c2ecf20Sopenharmony_ci Enable this option if you need old userspace for wireless 1968c2ecf20Sopenharmony_ci extensions with cfg80211-based drivers. 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ciconfig CFG80211_WEXT_EXPORT 1998c2ecf20Sopenharmony_ci bool 2008c2ecf20Sopenharmony_ci help 2018c2ecf20Sopenharmony_ci Drivers should select this option if they require cfg80211's 2028c2ecf20Sopenharmony_ci wext compatibility symbols to be exported. 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ciendif # CFG80211 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ciconfig LIB80211 2078c2ecf20Sopenharmony_ci tristate 2088c2ecf20Sopenharmony_ci default n 2098c2ecf20Sopenharmony_ci help 2108c2ecf20Sopenharmony_ci This options enables a library of common routines used 2118c2ecf20Sopenharmony_ci by IEEE802.11 wireless LAN drivers. 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ci Drivers should select this themselves if needed. 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ciconfig LIB80211_CRYPT_WEP 2168c2ecf20Sopenharmony_ci tristate 2178c2ecf20Sopenharmony_ci select CRYPTO_LIB_ARC4 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ciconfig LIB80211_CRYPT_CCMP 2208c2ecf20Sopenharmony_ci tristate 2218c2ecf20Sopenharmony_ci select CRYPTO 2228c2ecf20Sopenharmony_ci select CRYPTO_AES 2238c2ecf20Sopenharmony_ci select CRYPTO_CCM 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_ciconfig LIB80211_CRYPT_TKIP 2268c2ecf20Sopenharmony_ci tristate 2278c2ecf20Sopenharmony_ci select CRYPTO_LIB_ARC4 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ciconfig LIB80211_DEBUG 2308c2ecf20Sopenharmony_ci bool "lib80211 debugging messages" 2318c2ecf20Sopenharmony_ci depends on LIB80211 2328c2ecf20Sopenharmony_ci default n 2338c2ecf20Sopenharmony_ci help 2348c2ecf20Sopenharmony_ci You can enable this if you want verbose debugging messages 2358c2ecf20Sopenharmony_ci from lib80211. 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci If unsure, say N. 238