blob: 67f8360dfcee747f2abc5a2d6e9514a9aec501e1 [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
Johannes Berg01a95b22017-11-24 09:35:25 +010024 # 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. Rodriguezb275f282009-09-01 08:53:49 -070028 ---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 Berg704232c2007-04-23 12:20:05 -070037
Romain Naoura7887232018-02-25 13:39:56 +010038if CFG80211
39
Johannes Bergaff89a92009-07-01 21:26:51 +020040config NL80211_TESTMODE
41 bool "nl80211 testmode command"
Johannes Bergaff89a92009-07-01 21:26:51 +020042 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 Bergf7969962009-08-21 12:23:49 +020054config CFG80211_DEVELOPER_WARNINGS
55 bool "enable developer warnings"
Johannes Bergf7969962009-08-21 12:23:49 +020056 default n
57 help
58 This option enables some additional warnings that help
Ola Olsson573a2b52016-01-10 18:41:42 +010059 cfg80211 developers and driver developers, but beware that
60 they can also trigger due to races with userspace.
Johannes Bergf7969962009-08-21 12:23:49 +020061
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. Rodriguezb594bab2012-07-12 11:49:17 -070070config CFG80211_CERTIFICATION_ONUS
71 bool "cfg80211 certification onus"
Romain Naoura7887232018-02-25 13:39:56 +010072 depends on EXPERT
Luis R. Rodriguezb594bab2012-07-12 11:49:17 -070073 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 Berg90a53e42017-09-13 22:21:08 +020091config 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
Johannes Berg01a95b22017-11-24 09:35:25 +0100121 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 Peer94fc6612014-02-23 09:13:00 +0200124config 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 Peer174e0cd2014-02-23 09:13:01 +0200137config 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 Olsson573a2b52016-01-10 18:41:42 +0100152 scenarios, this relaxation is not allowed in cases where the BSS client
Ilan Peer174e0cd2014-02-23 09:13:01 +0200153 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 Bergbc92afd2009-07-01 21:26:57 +0200161config CFG80211_DEFAULT_PS
162 bool "enable powersave by default"
Johannes Bergbc92afd2009-07-01 21:26:57 +0200163 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 Chehab151f4e22019-06-13 07:10:36 -0300169 latency requirement, see Documentation/power/pm_qos_interface.rst.
Johannes Bergbc92afd2009-07-01 21:26:57 +0200170
Luis R. Rodriguez1ac61302009-05-02 00:37:21 -0400171config CFG80211_DEBUGFS
172 bool "cfg80211 DebugFS entries"
Johannes Berg3d23e342009-09-29 23:27:28 +0200173 depends on DEBUG_FS
Luis R. Rodriguez1ac61302009-05-02 00:37:21 -0400174 ---help---
Ola Olsson573a2b52016-01-10 18:41:42 +0100175 You can enable this if you want debugfs entries for cfg80211.
Luis R. Rodriguez1ac61302009-05-02 00:37:21 -0400176
177 If unsure, say N.
178
Johannes Bergb6863032015-10-15 09:25:18 +0200179config CFG80211_CRDA_SUPPORT
Johannes Bergc8c240e2015-10-15 14:35:41 +0200180 bool "support CRDA" if EXPERT
Johannes Bergb6863032015-10-15 09:25:18 +0200181 default y
Johannes Bergb6863032015-10-15 09:25:18 +0200182 help
183 You should enable this option unless you know for sure you have no
Johannes Berg007f6c52015-10-15 11:22:58 +0200184 need for it, for example when using internal regdb (above) or the
185 database loaded as a firmware file.
Johannes Bergb6863032015-10-15 09:25:18 +0200186
187 If unsure, say Y.
188
Johannes Berg3d23e342009-09-29 23:27:28 +0200189config CFG80211_WEXT
Johannes Berg6d00ec02015-04-08 09:16:32 +0200190 bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
Johannes Berg3d23e342009-09-29 23:27:28 +0200191 select WEXT_CORE
Johannes Berg2afe38d2015-01-06 14:00:53 +0100192 default y if CFG80211_WEXT_EXPORT
Johannes Berg3d23e342009-09-29 23:27:28 +0200193 help
194 Enable this option if you need old userspace for wireless
195 extensions with cfg80211-based drivers.
Johannes Berg22bb1be2008-07-10 11:16:47 +0200196
Johannes Berg2afe38d2015-01-06 14:00:53 +0100197config CFG80211_WEXT_EXPORT
198 bool
Johannes Berg2afe38d2015-01-06 14:00:53 +0100199 help
200 Drivers should select this option if they require cfg80211's
201 wext compatibility symbols to be exported.
202
Romain Naoura7887232018-02-25 13:39:56 +0100203endif # CFG80211
204
John W. Linville7e272fc2008-09-24 18:13:14 -0400205config LIB80211
Johannes Bergf3684342012-11-16 00:06:20 +0100206 tristate
John W. Linville7e272fc2008-09-24 18:13:14 -0400207 default n
208 help
209 This options enables a library of common routines used
210 by IEEE802.11 wireless LAN drivers.
211
Johannes Bergf3684342012-11-16 00:06:20 +0100212 Drivers should select this themselves if needed.
John W. Linville274bfb82008-10-29 11:35:05 -0400213
214config LIB80211_CRYPT_WEP
215 tristate
Ard Biesheuvelaf1f3d32019-06-12 18:19:55 +0200216 select CRYPTO_LIB_ARC4
John W. Linville274bfb82008-10-29 11:35:05 -0400217
218config LIB80211_CRYPT_CCMP
219 tristate
220
221config LIB80211_CRYPT_TKIP
222 tristate
Ard Biesheuvel4be29702019-06-12 18:19:56 +0200223 select CRYPTO_LIB_ARC4
John W. Linville6f16bf32009-03-11 11:05:25 -0400224
225config 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.