1# SPDX-License-Identifier: GPL-2.0-only 2config WIRELESS_EXT 3 bool 4 5config WEXT_CORE 6 def_bool y 7 depends on CFG80211_WEXT || WIRELESS_EXT 8 9config WEXT_PROC 10 def_bool y 11 depends on PROC_FS 12 depends on WEXT_CORE 13 14config WEXT_SPY 15 bool 16 17config WEXT_PRIV 18 bool 19 20config CFG80211 21 tristate "cfg80211 - wireless configuration API" 22 depends on RFKILL || !RFKILL 23 select FW_LOADER 24 # may need to update this when certificates are changed and are 25 # using a different algorithm, though right now they shouldn't 26 # (this is here rather than below to allow it to be a module) 27 select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS 28 ---help--- 29 cfg80211 is the Linux wireless LAN (802.11) configuration API. 30 Enable this if you have a wireless device. 31 32 For more information refer to documentation on the wireless wiki: 33 34 http://wireless.kernel.org/en/developers/Documentation/cfg80211 35 36 When built as a module it will be called cfg80211. 37 38if CFG80211 39 40config NL80211_TESTMODE 41 bool "nl80211 testmode command" 42 help 43 The nl80211 testmode command helps implementing things like 44 factory calibration or validation tools for wireless chips. 45 46 Select this option ONLY for kernels that are specifically 47 built for such purposes. 48 49 Debugging tools that are supposed to end up in the hands of 50 users should better be implemented with debugfs. 51 52 Say N. 53 54config CFG80211_DEVELOPER_WARNINGS 55 bool "enable developer warnings" 56 default n 57 help 58 This option enables some additional warnings that help 59 cfg80211 developers and driver developers, but beware that 60 they can also trigger due to races with userspace. 61 62 For example, when a driver reports that it was disconnected 63 from the AP, but the user disconnects manually at the same 64 time, the warning might trigger spuriously due to races. 65 66 Say Y only if you are developing cfg80211 or a driver based 67 on it (or mac80211). 68 69 70config CFG80211_CERTIFICATION_ONUS 71 bool "cfg80211 certification onus" 72 depends on EXPERT 73 default n 74 ---help--- 75 You should disable this option unless you are both capable 76 and willing to ensure your system will remain regulatory 77 compliant with the features available under this option. 78 Some options may still be under heavy development and 79 for whatever reason regulatory compliance has not or 80 cannot yet be verified. Regulatory verification may at 81 times only be possible until you have the final system 82 in place. 83 84 This option should only be enabled by system integrators 85 or distributions that have done work necessary to ensure 86 regulatory certification on the system with the enabled 87 features. Alternatively you can enable this option if 88 you are a wireless researcher and are working in a controlled 89 and approved environment by your local regulatory agency. 90 91config CFG80211_REQUIRE_SIGNED_REGDB 92 bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS 93 default y 94 select SYSTEM_DATA_VERIFICATION 95 help 96 Require that in addition to the "regulatory.db" file a 97 "regulatory.db.p7s" can be loaded with a valid PKCS#7 98 signature for the regulatory.db file made by one of the 99 keys in the certs/ directory. 100 101config CFG80211_USE_KERNEL_REGDB_KEYS 102 bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS 103 default y 104 depends on CFG80211_REQUIRE_SIGNED_REGDB 105 help 106 Allow the regulatory database to be signed by one of the keys for 107 which certificates are part of the kernel sources 108 (in net/wireless/certs/). 109 110 This is currently only Seth Forshee's key, who is the regulatory 111 database maintainer. 112 113config CFG80211_EXTRA_REGDB_KEYDIR 114 string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS 115 depends on CFG80211_REQUIRE_SIGNED_REGDB 116 help 117 If selected, point to a directory with DER-encoded X.509 118 certificates like in the kernel sources (net/wireless/certs/) 119 that shall be accepted for a signed regulatory database. 120 121 Note that you need to also select the correct CRYPTO_<hash> modules 122 for your certificates, and if cfg80211 is built-in they also must be. 123 124config CFG80211_REG_CELLULAR_HINTS 125 bool "cfg80211 regulatory support for cellular base station hints" 126 depends on CFG80211_CERTIFICATION_ONUS 127 ---help--- 128 This option enables support for parsing regulatory hints 129 from cellular base stations. If enabled and at least one driver 130 claims support for parsing cellular base station hints the 131 regulatory core will allow and parse these regulatory hints. 132 The regulatory core will only apply these regulatory hints on 133 drivers that support this feature. You should only enable this 134 feature if you have tested and validated this feature on your 135 systems. 136 137config CFG80211_REG_RELAX_NO_IR 138 bool "cfg80211 support for NO_IR relaxation" 139 depends on CFG80211_CERTIFICATION_ONUS 140 ---help--- 141 This option enables support for relaxation of the NO_IR flag for 142 situations that certain regulatory bodies have provided clarifications 143 on how relaxation can occur. This feature has an inherent dependency on 144 userspace features which must have been properly tested and as such is 145 not enabled by default. 146 147 A relaxation feature example is allowing the operation of a P2P group 148 owner (GO) on channels marked with NO_IR if there is an additional BSS 149 interface which associated to an AP which userspace assumes or confirms 150 to be an authorized master, i.e., with radar detection support and DFS 151 capabilities. However, note that in order to not create daisy chain 152 scenarios, this relaxation is not allowed in cases where the BSS client 153 is associated to P2P GO and in addition the P2P GO instantiated on 154 a channel due to this relaxation should not allow connection from 155 non P2P clients. 156 157 The regulatory core will apply these relaxations only for drivers that 158 support this feature by declaring the appropriate channel flags and 159 capabilities in their registration flow. 160 161config CFG80211_DEFAULT_PS 162 bool "enable powersave by default" 163 default y 164 help 165 This option enables powersave mode by default. 166 167 If this causes your applications to misbehave you should fix your 168 applications instead -- they need to register their network 169 latency requirement, see Documentation/power/pm_qos_interface.rst. 170 171config CFG80211_DEBUGFS 172 bool "cfg80211 DebugFS entries" 173 depends on DEBUG_FS 174 ---help--- 175 You can enable this if you want debugfs entries for cfg80211. 176 177 If unsure, say N. 178 179config CFG80211_CRDA_SUPPORT 180 bool "support CRDA" if EXPERT 181 default y 182 help 183 You should enable this option unless you know for sure you have no 184 need for it, for example when using internal regdb (above) or the 185 database loaded as a firmware file. 186 187 If unsure, say Y. 188 189config CFG80211_WEXT 190 bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT 191 select WEXT_CORE 192 default y if CFG80211_WEXT_EXPORT 193 help 194 Enable this option if you need old userspace for wireless 195 extensions with cfg80211-based drivers. 196 197config CFG80211_WEXT_EXPORT 198 bool 199 help 200 Drivers should select this option if they require cfg80211's 201 wext compatibility symbols to be exported. 202 203endif # CFG80211 204 205config LIB80211 206 tristate 207 default n 208 help 209 This options enables a library of common routines used 210 by IEEE802.11 wireless LAN drivers. 211 212 Drivers should select this themselves if needed. 213 214config LIB80211_CRYPT_WEP 215 tristate 216 select CRYPTO_LIB_ARC4 217 218config LIB80211_CRYPT_CCMP 219 tristate 220 select CRYPTO_AES 221 select CRYPTO_CCM 222 223config LIB80211_CRYPT_TKIP 224 tristate 225 select CRYPTO_LIB_ARC4 226 227config LIB80211_DEBUG 228 bool "lib80211 debugging messages" 229 depends on LIB80211 230 default n 231 ---help--- 232 You can enable this if you want verbose debugging messages 233 from lib80211. 234 235 If unsure, say N. 236