Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
3d23e349 JB |
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 | ||
704232c2 | 20 | config CFG80211 |
b275f285 | 21 | tristate "cfg80211 - wireless configuration API" |
1f87f7d3 | 22 | depends on RFKILL || !RFKILL |
007f6c5e | 23 | select FW_LOADER |
152a8a6c | 24 | select CRC32 |
01a95b21 JB |
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 | |
a7f7f624 | 29 | help |
b275f285 LR |
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 | ||
59d4bfc1 | 35 | https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211 |
b275f285 LR |
36 | |
37 | When built as a module it will be called cfg80211. | |
704232c2 | 38 | |
a7887236 RN |
39 | if CFG80211 |
40 | ||
aff89a9b JB |
41 | config NL80211_TESTMODE |
42 | bool "nl80211 testmode command" | |
aff89a9b JB |
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 | ||
f7969969 JB |
55 | config CFG80211_DEVELOPER_WARNINGS |
56 | bool "enable developer warnings" | |
f7969969 JB |
57 | default n |
58 | help | |
59 | This option enables some additional warnings that help | |
573a2b51 OO |
60 | cfg80211 developers and driver developers, but beware that |
61 | they can also trigger due to races with userspace. | |
f7969969 JB |
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 | ||
b594bab9 LR |
71 | config CFG80211_CERTIFICATION_ONUS |
72 | bool "cfg80211 certification onus" | |
a7887236 | 73 | depends on EXPERT |
b594bab9 | 74 | default n |
a7f7f624 | 75 | help |
b594bab9 LR |
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 | ||
90a53e44 JB |
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 | ||
01a95b21 JB |
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 | ||
94fc661f IP |
125 | config CFG80211_REG_CELLULAR_HINTS |
126 | bool "cfg80211 regulatory support for cellular base station hints" | |
127 | depends on CFG80211_CERTIFICATION_ONUS | |
a7f7f624 | 128 | help |
94fc661f IP |
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 | ||
174e0cd2 IP |
138 | config CFG80211_REG_RELAX_NO_IR |
139 | bool "cfg80211 support for NO_IR relaxation" | |
140 | depends on CFG80211_CERTIFICATION_ONUS | |
a7f7f624 | 141 | help |
174e0cd2 IP |
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 | |
573a2b51 | 153 | scenarios, this relaxation is not allowed in cases where the BSS client |
174e0cd2 IP |
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 | ||
bc92afd9 JB |
162 | config CFG80211_DEFAULT_PS |
163 | bool "enable powersave by default" | |
bc92afd9 JB |
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 | |
151f4e2b | 170 | latency requirement, see Documentation/power/pm_qos_interface.rst. |
bc92afd9 | 171 | |
1ac61302 LR |
172 | config CFG80211_DEBUGFS |
173 | bool "cfg80211 DebugFS entries" | |
3d23e349 | 174 | depends on DEBUG_FS |
a7f7f624 | 175 | help |
573a2b51 | 176 | You can enable this if you want debugfs entries for cfg80211. |
1ac61302 LR |
177 | |
178 | If unsure, say N. | |
179 | ||
b6863036 | 180 | config CFG80211_CRDA_SUPPORT |
c8c240e2 | 181 | bool "support CRDA" if EXPERT |
b6863036 | 182 | default y |
b6863036 JB |
183 | help |
184 | You should enable this option unless you know for sure you have no | |
a3b018fe PS |
185 | need for it, for example when using the regulatory database loaded as |
186 | a firmware file. | |
b6863036 JB |
187 | |
188 | If unsure, say Y. | |
189 | ||
3d23e349 | 190 | config CFG80211_WEXT |
6d00ec05 | 191 | bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT |
3d23e349 | 192 | select WEXT_CORE |
2afe38d1 | 193 | default y if CFG80211_WEXT_EXPORT |
3d23e349 JB |
194 | help |
195 | Enable this option if you need old userspace for wireless | |
196 | extensions with cfg80211-based drivers. | |
22bb1be4 | 197 | |
2afe38d1 JB |
198 | config CFG80211_WEXT_EXPORT |
199 | bool | |
2afe38d1 JB |
200 | help |
201 | Drivers should select this option if they require cfg80211's | |
202 | wext compatibility symbols to be exported. | |
203 | ||
a7887236 RN |
204 | endif # CFG80211 |
205 | ||
7e272fcf | 206 | config LIB80211 |
f3684343 | 207 | tristate |
7e272fcf JL |
208 | default n |
209 | help | |
210 | This options enables a library of common routines used | |
211 | by IEEE802.11 wireless LAN drivers. | |
212 | ||
f3684343 | 213 | Drivers should select this themselves if needed. |
274bfb8d JL |
214 | |
215 | config LIB80211_CRYPT_WEP | |
216 | tristate | |
af1f3d32 | 217 | select CRYPTO_LIB_ARC4 |
274bfb8d JL |
218 | |
219 | config LIB80211_CRYPT_CCMP | |
220 | tristate | |
b959ba9f | 221 | select CRYPTO |
a11e2f85 AB |
222 | select CRYPTO_AES |
223 | select CRYPTO_CCM | |
274bfb8d JL |
224 | |
225 | config LIB80211_CRYPT_TKIP | |
226 | tristate | |
4be29701 | 227 | select CRYPTO_LIB_ARC4 |
6f16bf3b JL |
228 | |
229 | config LIB80211_DEBUG | |
230 | bool "lib80211 debugging messages" | |
231 | depends on LIB80211 | |
232 | default n | |
a7f7f624 | 233 | help |
6f16bf3b JL |
234 | You can enable this if you want verbose debugging messages |
235 | from lib80211. | |
236 | ||
237 | If unsure, say N. |