xref: /linux/net/wireless/Kconfig (revision fd639726bf15fca8ee1a00dce8e0096d0ad9bd18)
1config WIRELESS_EXT
2	bool
3
4config WEXT_CORE
5	def_bool y
6	depends on CFG80211_WEXT || WIRELESS_EXT
7
8config WEXT_PROC
9	def_bool y
10	depends on PROC_FS
11	depends on WEXT_CORE
12
13config WEXT_SPY
14	bool
15
16config WEXT_PRIV
17	bool
18
19config CFG80211
20	tristate "cfg80211 - wireless configuration API"
21	depends on RFKILL || !RFKILL
22	select FW_LOADER
23	# may need to update this when certificates are changed and are
24	# using a different algorithm, though right now they shouldn't
25	# (this is here rather than below to allow it to be a module)
26	select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
27	---help---
28	  cfg80211 is the Linux wireless LAN (802.11) configuration API.
29	  Enable this if you have a wireless device.
30
31	  For more information refer to documentation on the wireless wiki:
32
33	  http://wireless.kernel.org/en/developers/Documentation/cfg80211
34
35	  When built as a module it will be called cfg80211.
36
37config NL80211_TESTMODE
38	bool "nl80211 testmode command"
39	depends on CFG80211
40	help
41	  The nl80211 testmode command helps implementing things like
42	  factory calibration or validation tools for wireless chips.
43
44	  Select this option ONLY for kernels that are specifically
45	  built for such purposes.
46
47	  Debugging tools that are supposed to end up in the hands of
48	  users should better be implemented with debugfs.
49
50	  Say N.
51
52config CFG80211_DEVELOPER_WARNINGS
53	bool "enable developer warnings"
54	depends on CFG80211
55	default n
56	help
57	  This option enables some additional warnings that help
58	  cfg80211 developers and driver developers, but beware that
59	  they can also trigger due to races with userspace.
60
61	  For example, when a driver reports that it was disconnected
62	  from the AP, but the user disconnects manually at the same
63	  time, the warning might trigger spuriously due to races.
64
65	  Say Y only if you are developing cfg80211 or a driver based
66	  on it (or mac80211).
67
68
69config CFG80211_CERTIFICATION_ONUS
70	bool "cfg80211 certification onus"
71	depends on CFG80211 && EXPERT
72	default n
73	---help---
74	  You should disable this option unless you are both capable
75	  and willing to ensure your system will remain regulatory
76	  compliant with the features available under this option.
77	  Some options may still be under heavy development and
78	  for whatever reason regulatory compliance has not or
79	  cannot yet be verified. Regulatory verification may at
80	  times only be possible until you have the final system
81	  in place.
82
83	  This option should only be enabled by system integrators
84	  or distributions that have done work necessary to ensure
85	  regulatory certification on the system with the enabled
86	  features. Alternatively you can enable this option if
87	  you are a wireless researcher and are working in a controlled
88	  and approved environment by your local regulatory agency.
89
90config CFG80211_REQUIRE_SIGNED_REGDB
91	bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
92	default y
93	select SYSTEM_DATA_VERIFICATION
94	help
95	  Require that in addition to the "regulatory.db" file a
96	  "regulatory.db.p7s" can be loaded with a valid PKCS#7
97	  signature for the regulatory.db file made by one of the
98	  keys in the certs/ directory.
99
100config CFG80211_USE_KERNEL_REGDB_KEYS
101	bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
102	default y
103	depends on CFG80211_REQUIRE_SIGNED_REGDB
104	help
105	  Allow the regulatory database to be signed by one of the keys for
106	  which certificates are part of the kernel sources
107	  (in net/wireless/certs/).
108
109	  This is currently only Seth Forshee's key, who is the regulatory
110	  database maintainer.
111
112config CFG80211_EXTRA_REGDB_KEYDIR
113	string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
114	depends on CFG80211_REQUIRE_SIGNED_REGDB
115	help
116	  If selected, point to a directory with DER-encoded X.509
117	  certificates like in the kernel sources (net/wireless/certs/)
118	  that shall be accepted for a signed regulatory database.
119
120	  Note that you need to also select the correct CRYPTO_<hash> modules
121	  for your certificates, and if cfg80211 is built-in they also must be.
122
123config CFG80211_REG_CELLULAR_HINTS
124	bool "cfg80211 regulatory support for cellular base station hints"
125	depends on CFG80211_CERTIFICATION_ONUS
126	---help---
127	  This option enables support for parsing regulatory hints
128	  from cellular base stations. If enabled and at least one driver
129	  claims support for parsing cellular base station hints the
130	  regulatory core will allow and parse these regulatory hints.
131	  The regulatory core will only apply these regulatory hints on
132	  drivers that support this feature. You should only enable this
133	  feature if you have tested and validated this feature on your
134	  systems.
135
136config CFG80211_REG_RELAX_NO_IR
137	bool "cfg80211 support for NO_IR relaxation"
138	depends on CFG80211_CERTIFICATION_ONUS
139	---help---
140	 This option enables support for relaxation of the NO_IR flag for
141	 situations that certain regulatory bodies have provided clarifications
142	 on how relaxation can occur. This feature has an inherent dependency on
143	 userspace features which must have been properly tested and as such is
144	 not enabled by default.
145
146	 A relaxation feature example is allowing the operation of a P2P group
147	 owner (GO) on channels marked with NO_IR if there is an additional BSS
148	 interface which associated to an AP which userspace assumes or confirms
149	 to be an authorized master, i.e., with radar detection support and DFS
150	 capabilities. However, note that in order to not create daisy chain
151	 scenarios, this relaxation is not allowed in cases where the BSS client
152	 is associated to P2P GO and in addition the P2P GO instantiated on
153	 a channel due to this relaxation should not allow connection from
154	 non P2P clients.
155
156	 The regulatory core will apply these relaxations only for drivers that
157	 support this feature by declaring the appropriate channel flags and
158	 capabilities in their registration flow.
159
160config CFG80211_DEFAULT_PS
161	bool "enable powersave by default"
162	depends on CFG80211
163	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
169	  latency requirement, see Documentation/power/pm_qos_interface.txt.
170
171config CFG80211_DEBUGFS
172	bool "cfg80211 DebugFS entries"
173	depends on CFG80211
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
180config CFG80211_CRDA_SUPPORT
181	bool "support CRDA" if EXPERT
182	default y
183	depends on CFG80211
184	help
185	  You should enable this option unless you know for sure you have no
186	  need for it, for example when using internal regdb (above) or the
187	  database loaded as a firmware file.
188
189	  If unsure, say Y.
190
191config CFG80211_WEXT
192	bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
193	depends on CFG80211
194	select WEXT_CORE
195	default y if CFG80211_WEXT_EXPORT
196	help
197	  Enable this option if you need old userspace for wireless
198	  extensions with cfg80211-based drivers.
199
200config CFG80211_WEXT_EXPORT
201	bool
202	depends on CFG80211
203	help
204	  Drivers should select this option if they require cfg80211's
205	  wext compatibility symbols to be exported.
206
207config LIB80211
208	tristate
209	default n
210	help
211	  This options enables a library of common routines used
212	  by IEEE802.11 wireless LAN drivers.
213
214	  Drivers should select this themselves if needed.
215
216config LIB80211_CRYPT_WEP
217	tristate
218
219config LIB80211_CRYPT_CCMP
220	tristate
221
222config LIB80211_CRYPT_TKIP
223	tristate
224
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.
234