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