Merge tag 'fs_for_v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack...
[platform/kernel/linux-rpi.git] / net / wireless / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
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
20 config CFG80211
21         tristate "cfg80211 - wireless configuration API"
22         depends on RFKILL || !RFKILL
23         select FW_LOADER
24         select CRC32
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
29         help
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
35           https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211
36
37           When built as a module it will be called cfg80211.
38
39 if CFG80211
40
41 config NL80211_TESTMODE
42         bool "nl80211 testmode command"
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
55 config CFG80211_DEVELOPER_WARNINGS
56         bool "enable developer warnings"
57         default n
58         help
59           This option enables some additional warnings that help
60           cfg80211 developers and driver developers, but beware that
61           they can also trigger due to races with userspace.
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
71 config CFG80211_CERTIFICATION_ONUS
72         bool "cfg80211 certification onus"
73         depends on EXPERT
74         default n
75         help
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
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
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
125 config CFG80211_REG_CELLULAR_HINTS
126         bool "cfg80211 regulatory support for cellular base station hints"
127         depends on CFG80211_CERTIFICATION_ONUS
128         help
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
138 config CFG80211_REG_RELAX_NO_IR
139         bool "cfg80211 support for NO_IR relaxation"
140         depends on CFG80211_CERTIFICATION_ONUS
141         help
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
153          scenarios, this relaxation is not allowed in cases where the BSS client
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
162 config CFG80211_DEFAULT_PS
163         bool "enable powersave by default"
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
170           latency requirement, see Documentation/power/pm_qos_interface.rst.
171
172 config CFG80211_DEBUGFS
173         bool "cfg80211 DebugFS entries"
174         depends on DEBUG_FS
175         help
176           You can enable this if you want debugfs entries for cfg80211.
177
178           If unsure, say N.
179
180 config CFG80211_CRDA_SUPPORT
181         bool "support CRDA" if EXPERT
182         default y
183         help
184           You should enable this option unless you know for sure you have no
185           need for it, for example when using the regulatory database loaded as
186           a firmware file.
187
188           If unsure, say Y.
189
190 config CFG80211_WEXT
191         bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
192         select WEXT_CORE
193         default y if CFG80211_WEXT_EXPORT
194         help
195           Enable this option if you need old userspace for wireless
196           extensions with cfg80211-based drivers.
197
198 config CFG80211_WEXT_EXPORT
199         bool
200         help
201           Drivers should select this option if they require cfg80211's
202           wext compatibility symbols to be exported.
203
204 endif # CFG80211
205
206 config LIB80211
207         tristate
208         default n
209         help
210           This options enables a library of common routines used
211           by IEEE802.11 wireless LAN drivers.
212
213           Drivers should select this themselves if needed.
214
215 config LIB80211_CRYPT_WEP
216         tristate
217         select CRYPTO_LIB_ARC4
218
219 config LIB80211_CRYPT_CCMP
220         tristate
221         select CRYPTO
222         select CRYPTO_AES
223         select CRYPTO_CCM
224
225 config LIB80211_CRYPT_TKIP
226         tristate
227         select CRYPTO_LIB_ARC4
228
229 config LIB80211_DEBUG
230         bool "lib80211 debugging messages"
231         depends on LIB80211
232         default n
233         help
234           You can enable this if you want verbose debugging messages
235           from lib80211.
236
237           If unsure, say N.