162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig WIRELESS_EXT 362306a36Sopenharmony_ci bool 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciconfig WEXT_CORE 662306a36Sopenharmony_ci def_bool y 762306a36Sopenharmony_ci depends on CFG80211_WEXT || WIRELESS_EXT 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciconfig WEXT_PROC 1062306a36Sopenharmony_ci def_bool y 1162306a36Sopenharmony_ci depends on PROC_FS 1262306a36Sopenharmony_ci depends on WEXT_CORE 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciconfig WEXT_SPY 1562306a36Sopenharmony_ci bool 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciconfig WEXT_PRIV 1862306a36Sopenharmony_ci bool 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciconfig CFG80211 2162306a36Sopenharmony_ci tristate "cfg80211 - wireless configuration API" 2262306a36Sopenharmony_ci depends on RFKILL || !RFKILL 2362306a36Sopenharmony_ci select FW_LOADER 2462306a36Sopenharmony_ci select CRC32 2562306a36Sopenharmony_ci # may need to update this when certificates are changed and are 2662306a36Sopenharmony_ci # using a different algorithm, though right now they shouldn't 2762306a36Sopenharmony_ci # (this is here rather than below to allow it to be a module) 2862306a36Sopenharmony_ci select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS 2962306a36Sopenharmony_ci help 3062306a36Sopenharmony_ci cfg80211 is the Linux wireless LAN (802.11) configuration API. 3162306a36Sopenharmony_ci Enable this if you have a wireless device. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci For more information refer to documentation on the wireless wiki: 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci When built as a module it will be called cfg80211. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciif CFG80211 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig NL80211_TESTMODE 4262306a36Sopenharmony_ci bool "nl80211 testmode command" 4362306a36Sopenharmony_ci help 4462306a36Sopenharmony_ci The nl80211 testmode command helps implementing things like 4562306a36Sopenharmony_ci factory calibration or validation tools for wireless chips. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci Select this option ONLY for kernels that are specifically 4862306a36Sopenharmony_ci built for such purposes. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci Debugging tools that are supposed to end up in the hands of 5162306a36Sopenharmony_ci users should better be implemented with debugfs. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci Say N. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig CFG80211_DEVELOPER_WARNINGS 5662306a36Sopenharmony_ci bool "enable developer warnings" 5762306a36Sopenharmony_ci default n 5862306a36Sopenharmony_ci help 5962306a36Sopenharmony_ci This option enables some additional warnings that help 6062306a36Sopenharmony_ci cfg80211 developers and driver developers, but beware that 6162306a36Sopenharmony_ci they can also trigger due to races with userspace. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci For example, when a driver reports that it was disconnected 6462306a36Sopenharmony_ci from the AP, but the user disconnects manually at the same 6562306a36Sopenharmony_ci time, the warning might trigger spuriously due to races. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci Say Y only if you are developing cfg80211 or a driver based 6862306a36Sopenharmony_ci on it (or mac80211). 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig CFG80211_CERTIFICATION_ONUS 7262306a36Sopenharmony_ci bool "cfg80211 certification onus" 7362306a36Sopenharmony_ci depends on EXPERT 7462306a36Sopenharmony_ci default n 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci You should disable this option unless you are both capable 7762306a36Sopenharmony_ci and willing to ensure your system will remain regulatory 7862306a36Sopenharmony_ci compliant with the features available under this option. 7962306a36Sopenharmony_ci Some options may still be under heavy development and 8062306a36Sopenharmony_ci for whatever reason regulatory compliance has not or 8162306a36Sopenharmony_ci cannot yet be verified. Regulatory verification may at 8262306a36Sopenharmony_ci times only be possible until you have the final system 8362306a36Sopenharmony_ci in place. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci This option should only be enabled by system integrators 8662306a36Sopenharmony_ci or distributions that have done work necessary to ensure 8762306a36Sopenharmony_ci regulatory certification on the system with the enabled 8862306a36Sopenharmony_ci features. Alternatively you can enable this option if 8962306a36Sopenharmony_ci you are a wireless researcher and are working in a controlled 9062306a36Sopenharmony_ci and approved environment by your local regulatory agency. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconfig CFG80211_REQUIRE_SIGNED_REGDB 9362306a36Sopenharmony_ci bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS 9462306a36Sopenharmony_ci default y 9562306a36Sopenharmony_ci select SYSTEM_DATA_VERIFICATION 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci Require that in addition to the "regulatory.db" file a 9862306a36Sopenharmony_ci "regulatory.db.p7s" can be loaded with a valid PKCS#7 9962306a36Sopenharmony_ci signature for the regulatory.db file made by one of the 10062306a36Sopenharmony_ci keys in the certs/ directory. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciconfig CFG80211_USE_KERNEL_REGDB_KEYS 10362306a36Sopenharmony_ci bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS 10462306a36Sopenharmony_ci default y 10562306a36Sopenharmony_ci depends on CFG80211_REQUIRE_SIGNED_REGDB 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Allow the regulatory database to be signed by one of the keys for 10862306a36Sopenharmony_ci which certificates are part of the kernel sources 10962306a36Sopenharmony_ci (in net/wireless/certs/). 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci This is currently only Seth Forshee's key, who is the regulatory 11262306a36Sopenharmony_ci database maintainer. 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciconfig CFG80211_EXTRA_REGDB_KEYDIR 11562306a36Sopenharmony_ci string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS 11662306a36Sopenharmony_ci depends on CFG80211_REQUIRE_SIGNED_REGDB 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci If selected, point to a directory with DER-encoded X.509 11962306a36Sopenharmony_ci certificates like in the kernel sources (net/wireless/certs/) 12062306a36Sopenharmony_ci that shall be accepted for a signed regulatory database. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci Note that you need to also select the correct CRYPTO_<hash> modules 12362306a36Sopenharmony_ci for your certificates, and if cfg80211 is built-in they also must be. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciconfig CFG80211_REG_CELLULAR_HINTS 12662306a36Sopenharmony_ci bool "cfg80211 regulatory support for cellular base station hints" 12762306a36Sopenharmony_ci depends on CFG80211_CERTIFICATION_ONUS 12862306a36Sopenharmony_ci help 12962306a36Sopenharmony_ci This option enables support for parsing regulatory hints 13062306a36Sopenharmony_ci from cellular base stations. If enabled and at least one driver 13162306a36Sopenharmony_ci claims support for parsing cellular base station hints the 13262306a36Sopenharmony_ci regulatory core will allow and parse these regulatory hints. 13362306a36Sopenharmony_ci The regulatory core will only apply these regulatory hints on 13462306a36Sopenharmony_ci drivers that support this feature. You should only enable this 13562306a36Sopenharmony_ci feature if you have tested and validated this feature on your 13662306a36Sopenharmony_ci systems. 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciconfig CFG80211_REG_RELAX_NO_IR 13962306a36Sopenharmony_ci bool "cfg80211 support for NO_IR relaxation" 14062306a36Sopenharmony_ci depends on CFG80211_CERTIFICATION_ONUS 14162306a36Sopenharmony_ci help 14262306a36Sopenharmony_ci This option enables support for relaxation of the NO_IR flag for 14362306a36Sopenharmony_ci situations that certain regulatory bodies have provided clarifications 14462306a36Sopenharmony_ci on how relaxation can occur. This feature has an inherent dependency on 14562306a36Sopenharmony_ci userspace features which must have been properly tested and as such is 14662306a36Sopenharmony_ci not enabled by default. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci A relaxation feature example is allowing the operation of a P2P group 14962306a36Sopenharmony_ci owner (GO) on channels marked with NO_IR if there is an additional BSS 15062306a36Sopenharmony_ci interface which associated to an AP which userspace assumes or confirms 15162306a36Sopenharmony_ci to be an authorized master, i.e., with radar detection support and DFS 15262306a36Sopenharmony_ci capabilities. However, note that in order to not create daisy chain 15362306a36Sopenharmony_ci scenarios, this relaxation is not allowed in cases where the BSS client 15462306a36Sopenharmony_ci is associated to P2P GO and in addition the P2P GO instantiated on 15562306a36Sopenharmony_ci a channel due to this relaxation should not allow connection from 15662306a36Sopenharmony_ci non P2P clients. 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci The regulatory core will apply these relaxations only for drivers that 15962306a36Sopenharmony_ci support this feature by declaring the appropriate channel flags and 16062306a36Sopenharmony_ci capabilities in their registration flow. 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciconfig CFG80211_DEFAULT_PS 16362306a36Sopenharmony_ci bool "enable powersave by default" 16462306a36Sopenharmony_ci default y 16562306a36Sopenharmony_ci help 16662306a36Sopenharmony_ci This option enables powersave mode by default. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci If this causes your applications to misbehave you should fix your 16962306a36Sopenharmony_ci applications instead -- they need to register their network 17062306a36Sopenharmony_ci latency requirement, see Documentation/power/pm_qos_interface.rst. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciconfig CFG80211_DEBUGFS 17362306a36Sopenharmony_ci bool "cfg80211 DebugFS entries" 17462306a36Sopenharmony_ci depends on DEBUG_FS 17562306a36Sopenharmony_ci help 17662306a36Sopenharmony_ci You can enable this if you want debugfs entries for cfg80211. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci If unsure, say N. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciconfig CFG80211_CRDA_SUPPORT 18162306a36Sopenharmony_ci bool "support CRDA" if EXPERT 18262306a36Sopenharmony_ci default y 18362306a36Sopenharmony_ci help 18462306a36Sopenharmony_ci You should enable this option unless you know for sure you have no 18562306a36Sopenharmony_ci need for it, for example when using the regulatory database loaded as 18662306a36Sopenharmony_ci a firmware file. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci If unsure, say Y. 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ciconfig CFG80211_WEXT 19162306a36Sopenharmony_ci bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT 19262306a36Sopenharmony_ci select WEXT_CORE 19362306a36Sopenharmony_ci default y if CFG80211_WEXT_EXPORT 19462306a36Sopenharmony_ci help 19562306a36Sopenharmony_ci Enable this option if you need old userspace for wireless 19662306a36Sopenharmony_ci extensions with cfg80211-based drivers. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciconfig CFG80211_WEXT_EXPORT 19962306a36Sopenharmony_ci bool 20062306a36Sopenharmony_ci help 20162306a36Sopenharmony_ci Drivers should select this option if they require cfg80211's 20262306a36Sopenharmony_ci wext compatibility symbols to be exported. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciendif # CFG80211 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciconfig LIB80211 20762306a36Sopenharmony_ci tristate 20862306a36Sopenharmony_ci default n 20962306a36Sopenharmony_ci help 21062306a36Sopenharmony_ci This options enables a library of common routines used 21162306a36Sopenharmony_ci by IEEE802.11 wireless LAN drivers. 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci Drivers should select this themselves if needed. 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ciconfig LIB80211_CRYPT_WEP 21662306a36Sopenharmony_ci tristate 21762306a36Sopenharmony_ci select CRYPTO_LIB_ARC4 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciconfig LIB80211_CRYPT_CCMP 22062306a36Sopenharmony_ci tristate 22162306a36Sopenharmony_ci select CRYPTO 22262306a36Sopenharmony_ci select CRYPTO_AES 22362306a36Sopenharmony_ci select CRYPTO_CCM 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ciconfig LIB80211_CRYPT_TKIP 22662306a36Sopenharmony_ci tristate 22762306a36Sopenharmony_ci select CRYPTO_LIB_ARC4 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ciconfig LIB80211_DEBUG 23062306a36Sopenharmony_ci bool "lib80211 debugging messages" 23162306a36Sopenharmony_ci depends on LIB80211 23262306a36Sopenharmony_ci default n 23362306a36Sopenharmony_ci help 23462306a36Sopenharmony_ci You can enable this if you want verbose debugging messages 23562306a36Sopenharmony_ci from lib80211. 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci If unsure, say N. 238