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