1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 23d23e349SJohannes Bergconfig WIRELESS_EXT 33d23e349SJohannes Berg bool 43d23e349SJohannes Berg 53d23e349SJohannes Bergconfig WEXT_CORE 63d23e349SJohannes Berg def_bool y 73d23e349SJohannes Berg depends on CFG80211_WEXT || WIRELESS_EXT 83d23e349SJohannes Berg 93d23e349SJohannes Bergconfig WEXT_PROC 103d23e349SJohannes Berg def_bool y 113d23e349SJohannes Berg depends on PROC_FS 123d23e349SJohannes Berg depends on WEXT_CORE 133d23e349SJohannes Berg 143d23e349SJohannes Bergconfig WEXT_SPY 153d23e349SJohannes Berg bool 163d23e349SJohannes Berg 173d23e349SJohannes Bergconfig WEXT_PRIV 183d23e349SJohannes Berg bool 193d23e349SJohannes Berg 20704232c2SJohannes Bergconfig CFG80211 21b275f285SLuis R. Rodriguez tristate "cfg80211 - wireless configuration API" 221f87f7d3SJohannes Berg depends on RFKILL || !RFKILL 23007f6c5eSJohannes Berg select FW_LOADER 24*152a8a6cSArnd Bergmann select CRC32 2501a95b21SJohannes Berg # may need to update this when certificates are changed and are 2601a95b21SJohannes Berg # using a different algorithm, though right now they shouldn't 2701a95b21SJohannes Berg # (this is here rather than below to allow it to be a module) 2801a95b21SJohannes Berg select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS 29a7f7f624SMasahiro Yamada help 30b275f285SLuis R. Rodriguez cfg80211 is the Linux wireless LAN (802.11) configuration API. 31b275f285SLuis R. Rodriguez Enable this if you have a wireless device. 32b275f285SLuis R. Rodriguez 33b275f285SLuis R. Rodriguez For more information refer to documentation on the wireless wiki: 34b275f285SLuis R. Rodriguez 3559d4bfc1SFlavio Suligoi https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211 36b275f285SLuis R. Rodriguez 37b275f285SLuis R. Rodriguez When built as a module it will be called cfg80211. 38704232c2SJohannes Berg 39a7887236SRomain Naourif CFG80211 40a7887236SRomain Naour 41aff89a9bSJohannes Bergconfig NL80211_TESTMODE 42aff89a9bSJohannes Berg bool "nl80211 testmode command" 43aff89a9bSJohannes Berg help 44aff89a9bSJohannes Berg The nl80211 testmode command helps implementing things like 45aff89a9bSJohannes Berg factory calibration or validation tools for wireless chips. 46aff89a9bSJohannes Berg 47aff89a9bSJohannes Berg Select this option ONLY for kernels that are specifically 48aff89a9bSJohannes Berg built for such purposes. 49aff89a9bSJohannes Berg 50aff89a9bSJohannes Berg Debugging tools that are supposed to end up in the hands of 51aff89a9bSJohannes Berg users should better be implemented with debugfs. 52aff89a9bSJohannes Berg 53aff89a9bSJohannes Berg Say N. 54aff89a9bSJohannes Berg 55f7969969SJohannes Bergconfig CFG80211_DEVELOPER_WARNINGS 56f7969969SJohannes Berg bool "enable developer warnings" 57f7969969SJohannes Berg default n 58f7969969SJohannes Berg help 59f7969969SJohannes Berg This option enables some additional warnings that help 60573a2b51SOla Olsson cfg80211 developers and driver developers, but beware that 61573a2b51SOla Olsson they can also trigger due to races with userspace. 62f7969969SJohannes Berg 63f7969969SJohannes Berg For example, when a driver reports that it was disconnected 64f7969969SJohannes Berg from the AP, but the user disconnects manually at the same 65f7969969SJohannes Berg time, the warning might trigger spuriously due to races. 66f7969969SJohannes Berg 67f7969969SJohannes Berg Say Y only if you are developing cfg80211 or a driver based 68f7969969SJohannes Berg on it (or mac80211). 69f7969969SJohannes Berg 70f7969969SJohannes Berg 71b594bab9SLuis R. Rodriguezconfig CFG80211_CERTIFICATION_ONUS 72b594bab9SLuis R. Rodriguez bool "cfg80211 certification onus" 73a7887236SRomain Naour depends on EXPERT 74b594bab9SLuis R. Rodriguez default n 75a7f7f624SMasahiro Yamada help 76b594bab9SLuis R. Rodriguez You should disable this option unless you are both capable 77b594bab9SLuis R. Rodriguez and willing to ensure your system will remain regulatory 78b594bab9SLuis R. Rodriguez compliant with the features available under this option. 79b594bab9SLuis R. Rodriguez Some options may still be under heavy development and 80b594bab9SLuis R. Rodriguez for whatever reason regulatory compliance has not or 81b594bab9SLuis R. Rodriguez cannot yet be verified. Regulatory verification may at 82b594bab9SLuis R. Rodriguez times only be possible until you have the final system 83b594bab9SLuis R. Rodriguez in place. 84b594bab9SLuis R. Rodriguez 85b594bab9SLuis R. Rodriguez This option should only be enabled by system integrators 86b594bab9SLuis R. Rodriguez or distributions that have done work necessary to ensure 87b594bab9SLuis R. Rodriguez regulatory certification on the system with the enabled 88b594bab9SLuis R. Rodriguez features. Alternatively you can enable this option if 89b594bab9SLuis R. Rodriguez you are a wireless researcher and are working in a controlled 90b594bab9SLuis R. Rodriguez and approved environment by your local regulatory agency. 91b594bab9SLuis R. Rodriguez 9290a53e44SJohannes Bergconfig CFG80211_REQUIRE_SIGNED_REGDB 9390a53e44SJohannes Berg bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS 9490a53e44SJohannes Berg default y 9590a53e44SJohannes Berg select SYSTEM_DATA_VERIFICATION 9690a53e44SJohannes Berg help 9790a53e44SJohannes Berg Require that in addition to the "regulatory.db" file a 9890a53e44SJohannes Berg "regulatory.db.p7s" can be loaded with a valid PKCS#7 9990a53e44SJohannes Berg signature for the regulatory.db file made by one of the 10090a53e44SJohannes Berg keys in the certs/ directory. 10190a53e44SJohannes Berg 10290a53e44SJohannes Bergconfig CFG80211_USE_KERNEL_REGDB_KEYS 10390a53e44SJohannes Berg bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS 10490a53e44SJohannes Berg default y 10590a53e44SJohannes Berg depends on CFG80211_REQUIRE_SIGNED_REGDB 10690a53e44SJohannes Berg help 10790a53e44SJohannes Berg Allow the regulatory database to be signed by one of the keys for 10890a53e44SJohannes Berg which certificates are part of the kernel sources 10990a53e44SJohannes Berg (in net/wireless/certs/). 11090a53e44SJohannes Berg 11190a53e44SJohannes Berg This is currently only Seth Forshee's key, who is the regulatory 11290a53e44SJohannes Berg database maintainer. 11390a53e44SJohannes Berg 11490a53e44SJohannes Bergconfig CFG80211_EXTRA_REGDB_KEYDIR 11590a53e44SJohannes Berg string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS 11690a53e44SJohannes Berg depends on CFG80211_REQUIRE_SIGNED_REGDB 11790a53e44SJohannes Berg help 11890a53e44SJohannes Berg If selected, point to a directory with DER-encoded X.509 11990a53e44SJohannes Berg certificates like in the kernel sources (net/wireless/certs/) 12090a53e44SJohannes Berg that shall be accepted for a signed regulatory database. 12190a53e44SJohannes Berg 12201a95b21SJohannes Berg Note that you need to also select the correct CRYPTO_<hash> modules 12301a95b21SJohannes Berg for your certificates, and if cfg80211 is built-in they also must be. 12401a95b21SJohannes Berg 12594fc661fSIlan Peerconfig CFG80211_REG_CELLULAR_HINTS 12694fc661fSIlan Peer bool "cfg80211 regulatory support for cellular base station hints" 12794fc661fSIlan Peer depends on CFG80211_CERTIFICATION_ONUS 128a7f7f624SMasahiro Yamada help 12994fc661fSIlan Peer This option enables support for parsing regulatory hints 13094fc661fSIlan Peer from cellular base stations. If enabled and at least one driver 13194fc661fSIlan Peer claims support for parsing cellular base station hints the 13294fc661fSIlan Peer regulatory core will allow and parse these regulatory hints. 13394fc661fSIlan Peer The regulatory core will only apply these regulatory hints on 13494fc661fSIlan Peer drivers that support this feature. You should only enable this 13594fc661fSIlan Peer feature if you have tested and validated this feature on your 13694fc661fSIlan Peer systems. 13794fc661fSIlan Peer 138174e0cd2SIlan Peerconfig CFG80211_REG_RELAX_NO_IR 139174e0cd2SIlan Peer bool "cfg80211 support for NO_IR relaxation" 140174e0cd2SIlan Peer depends on CFG80211_CERTIFICATION_ONUS 141a7f7f624SMasahiro Yamada help 142174e0cd2SIlan Peer This option enables support for relaxation of the NO_IR flag for 143174e0cd2SIlan Peer situations that certain regulatory bodies have provided clarifications 144174e0cd2SIlan Peer on how relaxation can occur. This feature has an inherent dependency on 145174e0cd2SIlan Peer userspace features which must have been properly tested and as such is 146174e0cd2SIlan Peer not enabled by default. 147174e0cd2SIlan Peer 148174e0cd2SIlan Peer A relaxation feature example is allowing the operation of a P2P group 149174e0cd2SIlan Peer owner (GO) on channels marked with NO_IR if there is an additional BSS 150174e0cd2SIlan Peer interface which associated to an AP which userspace assumes or confirms 151174e0cd2SIlan Peer to be an authorized master, i.e., with radar detection support and DFS 152174e0cd2SIlan Peer capabilities. However, note that in order to not create daisy chain 153573a2b51SOla Olsson scenarios, this relaxation is not allowed in cases where the BSS client 154174e0cd2SIlan Peer is associated to P2P GO and in addition the P2P GO instantiated on 155174e0cd2SIlan Peer a channel due to this relaxation should not allow connection from 156174e0cd2SIlan Peer non P2P clients. 157174e0cd2SIlan Peer 158174e0cd2SIlan Peer The regulatory core will apply these relaxations only for drivers that 159174e0cd2SIlan Peer support this feature by declaring the appropriate channel flags and 160174e0cd2SIlan Peer capabilities in their registration flow. 161174e0cd2SIlan Peer 162bc92afd9SJohannes Bergconfig CFG80211_DEFAULT_PS 163bc92afd9SJohannes Berg bool "enable powersave by default" 164bc92afd9SJohannes Berg default y 165bc92afd9SJohannes Berg help 166bc92afd9SJohannes Berg This option enables powersave mode by default. 167bc92afd9SJohannes Berg 168bc92afd9SJohannes Berg If this causes your applications to misbehave you should fix your 169bc92afd9SJohannes Berg applications instead -- they need to register their network 170151f4e2bSMauro Carvalho Chehab latency requirement, see Documentation/power/pm_qos_interface.rst. 171bc92afd9SJohannes Berg 1721ac61302SLuis R. Rodriguezconfig CFG80211_DEBUGFS 1731ac61302SLuis R. Rodriguez bool "cfg80211 DebugFS entries" 1743d23e349SJohannes Berg depends on DEBUG_FS 175a7f7f624SMasahiro Yamada help 176573a2b51SOla Olsson You can enable this if you want debugfs entries for cfg80211. 1771ac61302SLuis R. Rodriguez 1781ac61302SLuis R. Rodriguez If unsure, say N. 1791ac61302SLuis R. Rodriguez 180b6863036SJohannes Bergconfig CFG80211_CRDA_SUPPORT 181c8c240e2SJohannes Berg bool "support CRDA" if EXPERT 182b6863036SJohannes Berg default y 183b6863036SJohannes Berg help 184b6863036SJohannes Berg You should enable this option unless you know for sure you have no 185a3b018feSPatrick Steinhardt need for it, for example when using the regulatory database loaded as 186a3b018feSPatrick Steinhardt a firmware file. 187b6863036SJohannes Berg 188b6863036SJohannes Berg If unsure, say Y. 189b6863036SJohannes Berg 1903d23e349SJohannes Bergconfig CFG80211_WEXT 1916d00ec05SJohannes Berg bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT 1923d23e349SJohannes Berg select WEXT_CORE 1932afe38d1SJohannes Berg default y if CFG80211_WEXT_EXPORT 1943d23e349SJohannes Berg help 1953d23e349SJohannes Berg Enable this option if you need old userspace for wireless 1963d23e349SJohannes Berg extensions with cfg80211-based drivers. 19722bb1be4SJohannes Berg 1982afe38d1SJohannes Bergconfig CFG80211_WEXT_EXPORT 1992afe38d1SJohannes Berg bool 2002afe38d1SJohannes Berg help 2012afe38d1SJohannes Berg Drivers should select this option if they require cfg80211's 2022afe38d1SJohannes Berg wext compatibility symbols to be exported. 2032afe38d1SJohannes Berg 204a7887236SRomain Naourendif # CFG80211 205a7887236SRomain Naour 2067e272fcfSJohn W. Linvilleconfig LIB80211 207f3684343SJohannes Berg tristate 2087e272fcfSJohn W. Linville default n 2097e272fcfSJohn W. Linville help 2107e272fcfSJohn W. Linville This options enables a library of common routines used 2117e272fcfSJohn W. Linville by IEEE802.11 wireless LAN drivers. 2127e272fcfSJohn W. Linville 213f3684343SJohannes Berg Drivers should select this themselves if needed. 214274bfb8dSJohn W. Linville 215274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_WEP 216274bfb8dSJohn W. Linville tristate 217af1f3d32SArd Biesheuvel select CRYPTO_LIB_ARC4 218274bfb8dSJohn W. Linville 219274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_CCMP 220274bfb8dSJohn W. Linville tristate 221b959ba9fSNecip Fazil Yildiran select CRYPTO 222a11e2f85SArd Biesheuvel select CRYPTO_AES 223a11e2f85SArd Biesheuvel select CRYPTO_CCM 224274bfb8dSJohn W. Linville 225274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_TKIP 226274bfb8dSJohn W. Linville tristate 2274be29701SArd Biesheuvel select CRYPTO_LIB_ARC4 2286f16bf3bSJohn W. Linville 2296f16bf3bSJohn W. Linvilleconfig LIB80211_DEBUG 2306f16bf3bSJohn W. Linville bool "lib80211 debugging messages" 2316f16bf3bSJohn W. Linville depends on LIB80211 2326f16bf3bSJohn W. Linville default n 233a7f7f624SMasahiro Yamada help 2346f16bf3bSJohn W. Linville You can enable this if you want verbose debugging messages 2356f16bf3bSJohn W. Linville from lib80211. 2366f16bf3bSJohn W. Linville 2376f16bf3bSJohn W. Linville If unsure, say N. 238