Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Johannes Berg | 3d23e34 | 2009-09-29 23:27:28 +0200 | [diff] [blame] | 2 | config WIRELESS_EXT |
| 3 | bool |
| 4 | |
| 5 | config WEXT_CORE |
| 6 | def_bool y |
| 7 | depends on CFG80211_WEXT || WIRELESS_EXT |
| 8 | |
| 9 | config WEXT_PROC |
| 10 | def_bool y |
| 11 | depends on PROC_FS |
| 12 | depends on WEXT_CORE |
| 13 | |
| 14 | config WEXT_SPY |
| 15 | bool |
| 16 | |
| 17 | config WEXT_PRIV |
| 18 | bool |
| 19 | |
Johannes Berg | 704232c | 2007-04-23 12:20:05 -0700 | [diff] [blame] | 20 | config CFG80211 |
Luis R. Rodriguez | b275f28 | 2009-09-01 08:53:49 -0700 | [diff] [blame] | 21 | tristate "cfg80211 - wireless configuration API" |
Johannes Berg | 1f87f7d | 2009-06-02 13:01:41 +0200 | [diff] [blame] | 22 | depends on RFKILL || !RFKILL |
Johannes Berg | 007f6c5 | 2015-10-15 11:22:58 +0200 | [diff] [blame] | 23 | select FW_LOADER |
Johannes Berg | 01a95b2 | 2017-11-24 09:35:25 +0100 | [diff] [blame] | 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 |
Luis R. Rodriguez | b275f28 | 2009-09-01 08:53:49 -0700 | [diff] [blame] | 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. |
Johannes Berg | 704232c | 2007-04-23 12:20:05 -0700 | [diff] [blame] | 37 | |
Romain Naour | a788723 | 2018-02-25 13:39:56 +0100 | [diff] [blame] | 38 | if CFG80211 |
| 39 | |
Johannes Berg | aff89a9 | 2009-07-01 21:26:51 +0200 | [diff] [blame] | 40 | config NL80211_TESTMODE |
| 41 | bool "nl80211 testmode command" |
Johannes Berg | aff89a9 | 2009-07-01 21:26:51 +0200 | [diff] [blame] | 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 | |
Johannes Berg | f796996 | 2009-08-21 12:23:49 +0200 | [diff] [blame] | 54 | config CFG80211_DEVELOPER_WARNINGS |
| 55 | bool "enable developer warnings" |
Johannes Berg | f796996 | 2009-08-21 12:23:49 +0200 | [diff] [blame] | 56 | default n |
| 57 | help |
| 58 | This option enables some additional warnings that help |
Ola Olsson | 573a2b5 | 2016-01-10 18:41:42 +0100 | [diff] [blame] | 59 | cfg80211 developers and driver developers, but beware that |
| 60 | they can also trigger due to races with userspace. |
Johannes Berg | f796996 | 2009-08-21 12:23:49 +0200 | [diff] [blame] | 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 | |
Luis R. Rodriguez | b594bab | 2012-07-12 11:49:17 -0700 | [diff] [blame] | 70 | config CFG80211_CERTIFICATION_ONUS |
| 71 | bool "cfg80211 certification onus" |
Romain Naour | a788723 | 2018-02-25 13:39:56 +0100 | [diff] [blame] | 72 | depends on EXPERT |
Luis R. Rodriguez | b594bab | 2012-07-12 11:49:17 -0700 | [diff] [blame] | 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 | |
Johannes Berg | 90a53e4 | 2017-09-13 22:21:08 +0200 | [diff] [blame] | 91 | config 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 | |
| 101 | config 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 | |
| 113 | config 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 | |
Johannes Berg | 01a95b2 | 2017-11-24 09:35:25 +0100 | [diff] [blame] | 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 | |
Ilan Peer | 94fc661 | 2014-02-23 09:13:00 +0200 | [diff] [blame] | 124 | config 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 | |
Ilan Peer | 174e0cd | 2014-02-23 09:13:01 +0200 | [diff] [blame] | 137 | config 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 |
Ola Olsson | 573a2b5 | 2016-01-10 18:41:42 +0100 | [diff] [blame] | 152 | scenarios, this relaxation is not allowed in cases where the BSS client |
Ilan Peer | 174e0cd | 2014-02-23 09:13:01 +0200 | [diff] [blame] | 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 | |
Johannes Berg | bc92afd | 2009-07-01 21:26:57 +0200 | [diff] [blame] | 161 | config CFG80211_DEFAULT_PS |
| 162 | bool "enable powersave by default" |
Johannes Berg | bc92afd | 2009-07-01 21:26:57 +0200 | [diff] [blame] | 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 |
Mauro Carvalho Chehab | 151f4e2 | 2019-06-13 07:10:36 -0300 | [diff] [blame] | 169 | latency requirement, see Documentation/power/pm_qos_interface.rst. |
Johannes Berg | bc92afd | 2009-07-01 21:26:57 +0200 | [diff] [blame] | 170 | |
Luis R. Rodriguez | 1ac6130 | 2009-05-02 00:37:21 -0400 | [diff] [blame] | 171 | config CFG80211_DEBUGFS |
| 172 | bool "cfg80211 DebugFS entries" |
Johannes Berg | 3d23e34 | 2009-09-29 23:27:28 +0200 | [diff] [blame] | 173 | depends on DEBUG_FS |
Luis R. Rodriguez | 1ac6130 | 2009-05-02 00:37:21 -0400 | [diff] [blame] | 174 | ---help--- |
Ola Olsson | 573a2b5 | 2016-01-10 18:41:42 +0100 | [diff] [blame] | 175 | You can enable this if you want debugfs entries for cfg80211. |
Luis R. Rodriguez | 1ac6130 | 2009-05-02 00:37:21 -0400 | [diff] [blame] | 176 | |
| 177 | If unsure, say N. |
| 178 | |
Johannes Berg | b686303 | 2015-10-15 09:25:18 +0200 | [diff] [blame] | 179 | config CFG80211_CRDA_SUPPORT |
Johannes Berg | c8c240e | 2015-10-15 14:35:41 +0200 | [diff] [blame] | 180 | bool "support CRDA" if EXPERT |
Johannes Berg | b686303 | 2015-10-15 09:25:18 +0200 | [diff] [blame] | 181 | default y |
Johannes Berg | b686303 | 2015-10-15 09:25:18 +0200 | [diff] [blame] | 182 | help |
| 183 | You should enable this option unless you know for sure you have no |
Johannes Berg | 007f6c5 | 2015-10-15 11:22:58 +0200 | [diff] [blame] | 184 | need for it, for example when using internal regdb (above) or the |
| 185 | database loaded as a firmware file. |
Johannes Berg | b686303 | 2015-10-15 09:25:18 +0200 | [diff] [blame] | 186 | |
| 187 | If unsure, say Y. |
| 188 | |
Johannes Berg | 3d23e34 | 2009-09-29 23:27:28 +0200 | [diff] [blame] | 189 | config CFG80211_WEXT |
Johannes Berg | 6d00ec0 | 2015-04-08 09:16:32 +0200 | [diff] [blame] | 190 | bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT |
Johannes Berg | 3d23e34 | 2009-09-29 23:27:28 +0200 | [diff] [blame] | 191 | select WEXT_CORE |
Johannes Berg | 2afe38d | 2015-01-06 14:00:53 +0100 | [diff] [blame] | 192 | default y if CFG80211_WEXT_EXPORT |
Johannes Berg | 3d23e34 | 2009-09-29 23:27:28 +0200 | [diff] [blame] | 193 | help |
| 194 | Enable this option if you need old userspace for wireless |
| 195 | extensions with cfg80211-based drivers. |
Johannes Berg | 22bb1be | 2008-07-10 11:16:47 +0200 | [diff] [blame] | 196 | |
Johannes Berg | 2afe38d | 2015-01-06 14:00:53 +0100 | [diff] [blame] | 197 | config CFG80211_WEXT_EXPORT |
| 198 | bool |
Johannes Berg | 2afe38d | 2015-01-06 14:00:53 +0100 | [diff] [blame] | 199 | help |
| 200 | Drivers should select this option if they require cfg80211's |
| 201 | wext compatibility symbols to be exported. |
| 202 | |
Romain Naour | a788723 | 2018-02-25 13:39:56 +0100 | [diff] [blame] | 203 | endif # CFG80211 |
| 204 | |
John W. Linville | 7e272fc | 2008-09-24 18:13:14 -0400 | [diff] [blame] | 205 | config LIB80211 |
Johannes Berg | f368434 | 2012-11-16 00:06:20 +0100 | [diff] [blame] | 206 | tristate |
John W. Linville | 7e272fc | 2008-09-24 18:13:14 -0400 | [diff] [blame] | 207 | default n |
| 208 | help |
| 209 | This options enables a library of common routines used |
| 210 | by IEEE802.11 wireless LAN drivers. |
| 211 | |
Johannes Berg | f368434 | 2012-11-16 00:06:20 +0100 | [diff] [blame] | 212 | Drivers should select this themselves if needed. |
John W. Linville | 274bfb8 | 2008-10-29 11:35:05 -0400 | [diff] [blame] | 213 | |
| 214 | config LIB80211_CRYPT_WEP |
| 215 | tristate |
Ard Biesheuvel | af1f3d3 | 2019-06-12 18:19:55 +0200 | [diff] [blame] | 216 | select CRYPTO_LIB_ARC4 |
John W. Linville | 274bfb8 | 2008-10-29 11:35:05 -0400 | [diff] [blame] | 217 | |
| 218 | config LIB80211_CRYPT_CCMP |
| 219 | tristate |
| 220 | |
| 221 | config LIB80211_CRYPT_TKIP |
| 222 | tristate |
Ard Biesheuvel | 4be2970 | 2019-06-12 18:19:56 +0200 | [diff] [blame] | 223 | select CRYPTO_LIB_ARC4 |
John W. Linville | 6f16bf3 | 2009-03-11 11:05:25 -0400 | [diff] [blame] | 224 | |
| 225 | config LIB80211_DEBUG |
| 226 | bool "lib80211 debugging messages" |
| 227 | depends on LIB80211 |
| 228 | default n |
| 229 | ---help--- |
| 230 | You can enable this if you want verbose debugging messages |
| 231 | from lib80211. |
| 232 | |
| 233 | If unsure, say N. |