blob: f620acd2a0f5e2cda436358d2b6c8eebad8e9d4b [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Johannes Berg3d23e342009-09-29 23:27:28 +02002config 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
Johannes Berg704232c2007-04-23 12:20:05 -070020config CFG80211
Luis R. Rodriguezb275f282009-09-01 08:53:49 -070021 tristate "cfg80211 - wireless configuration API"
Johannes Berg1f87f7d2009-06-02 13:01:41 +020022 depends on RFKILL || !RFKILL
Johannes Berg007f6c52015-10-15 11:22:58 +020023 select FW_LOADER
Arnd Bergmann152a8a62021-01-03 22:36:21 +010024 select CRC32
Johannes Berg01a95b22017-11-24 09:35:25 +010025 # 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 Yamadaa7f7f622020-06-14 01:50:22 +090029 help
Luis R. Rodriguezb275f282009-09-01 08:53:49 -070030 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 Suligoi59d4bfc2020-06-05 17:41:12 +020035 https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211
Luis R. Rodriguezb275f282009-09-01 08:53:49 -070036
37 When built as a module it will be called cfg80211.
Johannes Berg704232c2007-04-23 12:20:05 -070038
Romain Naoura7887232018-02-25 13:39:56 +010039if CFG80211
40
Johannes Bergaff89a92009-07-01 21:26:51 +020041config NL80211_TESTMODE
42 bool "nl80211 testmode command"
Johannes Bergaff89a92009-07-01 21:26:51 +020043 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 Bergf7969962009-08-21 12:23:49 +020055config CFG80211_DEVELOPER_WARNINGS
56 bool "enable developer warnings"
Johannes Bergf7969962009-08-21 12:23:49 +020057 default n
58 help
59 This option enables some additional warnings that help
Ola Olsson573a2b52016-01-10 18:41:42 +010060 cfg80211 developers and driver developers, but beware that
61 they can also trigger due to races with userspace.
Johannes Bergf7969962009-08-21 12:23:49 +020062
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. Rodriguezb594bab2012-07-12 11:49:17 -070071config CFG80211_CERTIFICATION_ONUS
72 bool "cfg80211 certification onus"
Romain Naoura7887232018-02-25 13:39:56 +010073 depends on EXPERT
Luis R. Rodriguezb594bab2012-07-12 11:49:17 -070074 default n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090075 help
Luis R. Rodriguezb594bab2012-07-12 11:49:17 -070076 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 Berg90a53e42017-09-13 22:21:08 +020092config 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
102config 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
114config 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 Berg01a95b22017-11-24 09:35:25 +0100122 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 Peer94fc6612014-02-23 09:13:00 +0200125config CFG80211_REG_CELLULAR_HINTS
126 bool "cfg80211 regulatory support for cellular base station hints"
127 depends on CFG80211_CERTIFICATION_ONUS
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900128 help
Ilan Peer94fc6612014-02-23 09:13:00 +0200129 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 Peer174e0cd2014-02-23 09:13:01 +0200138config CFG80211_REG_RELAX_NO_IR
139 bool "cfg80211 support for NO_IR relaxation"
140 depends on CFG80211_CERTIFICATION_ONUS
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900141 help
Ilan Peer174e0cd2014-02-23 09:13:01 +0200142 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 Olsson573a2b52016-01-10 18:41:42 +0100153 scenarios, this relaxation is not allowed in cases where the BSS client
Ilan Peer174e0cd2014-02-23 09:13:01 +0200154 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 Bergbc92afd2009-07-01 21:26:57 +0200162config CFG80211_DEFAULT_PS
163 bool "enable powersave by default"
Johannes Bergbc92afd2009-07-01 21:26:57 +0200164 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 Chehab151f4e22019-06-13 07:10:36 -0300170 latency requirement, see Documentation/power/pm_qos_interface.rst.
Johannes Bergbc92afd2009-07-01 21:26:57 +0200171
Luis R. Rodriguez1ac61302009-05-02 00:37:21 -0400172config CFG80211_DEBUGFS
173 bool "cfg80211 DebugFS entries"
Johannes Berg3d23e342009-09-29 23:27:28 +0200174 depends on DEBUG_FS
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900175 help
Ola Olsson573a2b52016-01-10 18:41:42 +0100176 You can enable this if you want debugfs entries for cfg80211.
Luis R. Rodriguez1ac61302009-05-02 00:37:21 -0400177
178 If unsure, say N.
179
Johannes Bergb6863032015-10-15 09:25:18 +0200180config CFG80211_CRDA_SUPPORT
Johannes Bergc8c240e2015-10-15 14:35:41 +0200181 bool "support CRDA" if EXPERT
Johannes Bergb6863032015-10-15 09:25:18 +0200182 default y
Johannes Bergb6863032015-10-15 09:25:18 +0200183 help
184 You should enable this option unless you know for sure you have no
Patrick Steinhardta3b018f2020-05-17 18:30:19 +0200185 need for it, for example when using the regulatory database loaded as
186 a firmware file.
Johannes Bergb6863032015-10-15 09:25:18 +0200187
188 If unsure, say Y.
189
Johannes Berg3d23e342009-09-29 23:27:28 +0200190config CFG80211_WEXT
Johannes Berg6d00ec02015-04-08 09:16:32 +0200191 bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
Johannes Berg3d23e342009-09-29 23:27:28 +0200192 select WEXT_CORE
Johannes Berg2afe38d2015-01-06 14:00:53 +0100193 default y if CFG80211_WEXT_EXPORT
Johannes Berg3d23e342009-09-29 23:27:28 +0200194 help
195 Enable this option if you need old userspace for wireless
196 extensions with cfg80211-based drivers.
Johannes Berg22bb1be2008-07-10 11:16:47 +0200197
Johannes Berg2afe38d2015-01-06 14:00:53 +0100198config CFG80211_WEXT_EXPORT
199 bool
Johannes Berg2afe38d2015-01-06 14:00:53 +0100200 help
201 Drivers should select this option if they require cfg80211's
202 wext compatibility symbols to be exported.
203
Romain Naoura7887232018-02-25 13:39:56 +0100204endif # CFG80211
205
John W. Linville7e272fc2008-09-24 18:13:14 -0400206config LIB80211
Johannes Bergf3684342012-11-16 00:06:20 +0100207 tristate
John W. Linville7e272fc2008-09-24 18:13:14 -0400208 default n
209 help
210 This options enables a library of common routines used
211 by IEEE802.11 wireless LAN drivers.
212
Johannes Bergf3684342012-11-16 00:06:20 +0100213 Drivers should select this themselves if needed.
John W. Linville274bfb82008-10-29 11:35:05 -0400214
215config LIB80211_CRYPT_WEP
216 tristate
Ard Biesheuvelaf1f3d32019-06-12 18:19:55 +0200217 select CRYPTO_LIB_ARC4
John W. Linville274bfb82008-10-29 11:35:05 -0400218
219config LIB80211_CRYPT_CCMP
220 tristate
Necip Fazil Yildiranb959ba92020-09-09 12:54:53 +0300221 select CRYPTO
Ard Biesheuvela11e2f82019-06-17 11:19:01 +0200222 select CRYPTO_AES
223 select CRYPTO_CCM
John W. Linville274bfb82008-10-29 11:35:05 -0400224
225config LIB80211_CRYPT_TKIP
226 tristate
Ard Biesheuvel4be29702019-06-12 18:19:56 +0200227 select CRYPTO_LIB_ARC4
John W. Linville6f16bf32009-03-11 11:05:25 -0400228
229config LIB80211_DEBUG
230 bool "lib80211 debugging messages"
231 depends on LIB80211
232 default n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900233 help
John W. Linville6f16bf32009-03-11 11:05:25 -0400234 You can enable this if you want verbose debugging messages
235 from lib80211.
236
237 If unsure, say N.