Linux Audio

Check our new training course

Loading...
v6.13.7
  1# SPDX-License-Identifier: GPL-2.0-only
  2config MAC80211
  3	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
  4	depends on CFG80211
  5	select CRYPTO
  6	select CRYPTO_LIB_ARC4
  7	select CRYPTO_AES
  8	select CRYPTO_CCM
  9	select CRYPTO_GCM
 10	select CRYPTO_CMAC
 11	select CRC32
 12	help
 
 13	  This option enables the hardware independent IEEE 802.11
 14	  networking stack.
 15
 16comment "CFG80211 needs to be enabled for MAC80211"
 17	depends on CFG80211=n
 18
 19if MAC80211 != n
 20
 21config MAC80211_HAS_RC
 22	bool
 23
 
 
 
 
 
 
 
 
 24config MAC80211_RC_MINSTREL
 25	bool "Minstrel" if EXPERT
 26	select MAC80211_HAS_RC
 27	default y
 28	help
 29	  This option enables the 'minstrel' TX rate control algorithm
 30
 
 
 
 
 
 
 
 31choice
 32	prompt "Default rate control algorithm"
 33	depends on MAC80211_HAS_RC
 34	default MAC80211_RC_DEFAULT_MINSTREL
 35	help
 36	  This option selects the default rate control algorithm
 37	  mac80211 will use. Note that this default can still be
 38	  overridden through the ieee80211_default_rc_algo module
 39	  parameter if different algorithms are available.
 40
 
 
 
 
 
 
 
 
 41config MAC80211_RC_DEFAULT_MINSTREL
 42	bool "Minstrel"
 43	depends on MAC80211_RC_MINSTREL
 44	help
 45	  Select Minstrel as the default rate control algorithm.
 46
 47
 48endchoice
 49
 50config MAC80211_RC_DEFAULT
 51	string
 52	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
 
 
 53	default ""
 54
 55endif
 56
 57comment "Some wireless drivers require a rate control algorithm"
 58	depends on MAC80211 && MAC80211_HAS_RC=n
 59
 60config MAC80211_KUNIT_TEST
 61	tristate "KUnit tests for mac80211" if !KUNIT_ALL_TESTS
 62	depends on KUNIT
 63	depends on MAC80211
 64	default KUNIT_ALL_TESTS
 65	help
 66	  Enable this option to test mac80211 internals with kunit.
 67
 68	  If unsure, say N.
 69
 70config MAC80211_MESH
 71	bool "Enable mac80211 mesh networking support"
 72	depends on MAC80211
 73	help
 74	  Select this option to enable 802.11 mesh operation in mac80211
 75	  drivers that support it.  802.11 mesh connects multiple stations
 76	  over (possibly multi-hop) wireless links to form a single logical
 77	  LAN.
 
 78
 79config MAC80211_LEDS
 80	bool "Enable LED triggers"
 81	depends on MAC80211
 82	depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
 83	select LEDS_TRIGGERS
 84	help
 85	  This option enables a few LED triggers for different
 86	  packet receive/transmit events.
 87
 88config MAC80211_DEBUGFS
 89	bool "Export mac80211 internals in DebugFS"
 90	depends on MAC80211 && CFG80211_DEBUGFS
 91	help
 92	  Select this to see extensive information about
 93	  the internal state of mac80211 in debugfs.
 94
 95	  Say N unless you know you need this.
 96
 97config MAC80211_MESSAGE_TRACING
 98	bool "Trace all mac80211 debug messages"
 99	depends on MAC80211 && TRACING
100	help
101	  Select this option to have mac80211 register the
102	  mac80211_msg trace subsystem with tracepoints to
103	  collect all debugging messages, independent of
104	  printing them into the kernel log.
105
106	  The overhead in this option is that all the messages
107	  need to be present in the binary and formatted at
108	  runtime for tracing.
109
110menuconfig MAC80211_DEBUG_MENU
111	bool "Select mac80211 debugging features"
112	depends on MAC80211
113	help
114	  This option collects various mac80211 debug settings.
115
116config MAC80211_NOINLINE
117	bool "Do not inline TX/RX handlers"
118	depends on MAC80211_DEBUG_MENU
119	help
120	  This option affects code generation in mac80211, when
121	  selected some functions are marked "noinline" to allow
122	  easier debugging of problems in the transmit and receive
123	  paths.
124
125	  This option increases code size a bit and inserts a lot
126	  of function calls in the code, but is otherwise safe to
127	  enable.
128
129	  If unsure, say N unless you expect to be finding problems
130	  in mac80211.
131
132config MAC80211_VERBOSE_DEBUG
133	bool "Verbose debugging output"
134	depends on MAC80211_DEBUG_MENU
135	help
136	  Selecting this option causes mac80211 to print out
137	  many debugging messages. It should not be selected
138	  on production systems as some of the messages are
139	  remotely triggerable.
140
141	  Do not select this option.
142
143config MAC80211_MLME_DEBUG
144	bool "Verbose managed MLME output"
145	depends on MAC80211_DEBUG_MENU
146	help
147	  Selecting this option causes mac80211 to print out
148	  debugging messages for the managed-mode MLME. It
149	  should not be selected on production systems as some
150	  of the messages are remotely triggerable.
151
152	  Do not select this option.
153
154config MAC80211_STA_DEBUG
155	bool "Verbose station debugging"
156	depends on MAC80211_DEBUG_MENU
157	help
158	  Selecting this option causes mac80211 to print out
159	  debugging messages for station addition/removal.
160
161	  Do not select this option.
162
163config MAC80211_HT_DEBUG
164	bool "Verbose HT debugging"
165	depends on MAC80211_DEBUG_MENU
166	help
167	  This option enables 802.11n High Throughput features
168	  debug tracing output.
169
170	  It should not be selected on production systems as some
171	  of the messages are remotely triggerable.
172
173	  Do not select this option.
174
175config MAC80211_OCB_DEBUG
176	bool "Verbose OCB debugging"
177	depends on MAC80211_DEBUG_MENU
178	help
179	  Selecting this option causes mac80211 to print out
180	  very verbose OCB debugging messages. It should not
181	  be selected on production systems as those messages
182	  are remotely triggerable.
183
184	  Do not select this option.
185
186config MAC80211_IBSS_DEBUG
187	bool "Verbose IBSS debugging"
188	depends on MAC80211_DEBUG_MENU
189	help
190	  Selecting this option causes mac80211 to print out
191	  very verbose IBSS debugging messages. It should not
192	  be selected on production systems as those messages
193	  are remotely triggerable.
194
195	  Do not select this option.
196
197config MAC80211_PS_DEBUG
198	bool "Verbose powersave mode debugging"
199	depends on MAC80211_DEBUG_MENU
200	help
201	  Selecting this option causes mac80211 to print out very
202	  verbose power save mode debugging messages (when mac80211
203	  is an AP and has power saving stations.)
204	  It should not be selected on production systems as those
205	  messages are remotely triggerable.
206
207	  Do not select this option.
208
209config MAC80211_MPL_DEBUG
210	bool "Verbose mesh peer link debugging"
211	depends on MAC80211_DEBUG_MENU
212	depends on MAC80211_MESH
213	help
214	  Selecting this option causes mac80211 to print out very
215	  verbose mesh peer link debugging messages (when mac80211
216	  is taking part in a mesh network).
217	  It should not be selected on production systems as those
218	  messages are remotely triggerable.
219
220	  Do not select this option.
221
222config MAC80211_MPATH_DEBUG
223	bool "Verbose mesh path debugging"
224	depends on MAC80211_DEBUG_MENU
225	depends on MAC80211_MESH
226	help
227	  Selecting this option causes mac80211 to print out very
228	  verbose mesh path selection debugging messages (when mac80211
229	  is taking part in a mesh network).
230	  It should not be selected on production systems as those
231	  messages are remotely triggerable.
232
233	  Do not select this option.
234
235config MAC80211_MHWMP_DEBUG
236	bool "Verbose mesh HWMP routing debugging"
237	depends on MAC80211_DEBUG_MENU
238	depends on MAC80211_MESH
239	help
240	  Selecting this option causes mac80211 to print out very
241	  verbose mesh routing (HWMP) debugging messages (when mac80211
242	  is taking part in a mesh network).
243	  It should not be selected on production systems as those
244	  messages are remotely triggerable.
245
246	  Do not select this option.
247
248config MAC80211_MESH_SYNC_DEBUG
249	bool "Verbose mesh synchronization debugging"
250	depends on MAC80211_DEBUG_MENU
251	depends on MAC80211_MESH
252	help
253	  Selecting this option causes mac80211 to print out very verbose mesh
254	  synchronization debugging messages (when mac80211 is taking part in a
255	  mesh network).
256
257	  Do not select this option.
258
259config MAC80211_MESH_CSA_DEBUG
260	bool "Verbose mesh channel switch debugging"
261	depends on MAC80211_DEBUG_MENU
262	depends on MAC80211_MESH
263	help
264	  Selecting this option causes mac80211 to print out very verbose mesh
265	  channel switch debugging messages (when mac80211 is taking part in a
266	  mesh network).
267
268	  Do not select this option.
269
270config MAC80211_MESH_PS_DEBUG
271	bool "Verbose mesh powersave debugging"
272	depends on MAC80211_DEBUG_MENU
273	depends on MAC80211_MESH
274	help
275	  Selecting this option causes mac80211 to print out very verbose mesh
276	  powersave debugging messages (when mac80211 is taking part in a
277	  mesh network).
278
279	  Do not select this option.
280
281config MAC80211_TDLS_DEBUG
282	bool "Verbose TDLS debugging"
283	depends on MAC80211_DEBUG_MENU
284	help
285	  Selecting this option causes mac80211 to print out very
286	  verbose TDLS selection debugging messages (when mac80211
287	  is a TDLS STA).
288	  It should not be selected on production systems as those
289	  messages are remotely triggerable.
290
291	  Do not select this option.
292
293config MAC80211_DEBUG_COUNTERS
294	bool "Extra statistics for TX/RX debugging"
295	depends on MAC80211_DEBUG_MENU
296	depends on MAC80211_DEBUGFS
297	help
298	  Selecting this option causes mac80211 to keep additional
299	  and very verbose statistics about TX and RX handler use
300	  as well as a few selected dot11 counters. These will be
301	  exposed in debugfs.
302
303	  Note that some of the counters are not concurrency safe
304	  and may thus not always be accurate.
305
306	  If unsure, say N.
307
308config MAC80211_STA_HASH_MAX_SIZE
309	int "Station hash table maximum size" if MAC80211_DEBUG_MENU
310	default 0
 
311	help
312	  Setting this option to a low value (e.g. 4) allows testing the
313	  hash table with collisions relatively deterministically (just
314	  connect more stations than the number selected here.)
 
315
316	  If unsure, leave the default of 0.
v3.1
 
  1config MAC80211
  2	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
  3	depends on CFG80211
  4	select CRYPTO
  5	select CRYPTO_ARC4
  6	select CRYPTO_AES
 
 
 
  7	select CRC32
  8	select AVERAGE
  9	---help---
 10	  This option enables the hardware independent IEEE 802.11
 11	  networking stack.
 12
 13comment "CFG80211 needs to be enabled for MAC80211"
 14	depends on CFG80211=n
 15
 16if MAC80211 != n
 17
 18config MAC80211_HAS_RC
 19	bool
 20
 21config MAC80211_RC_PID
 22	bool "PID controller based rate control algorithm" if EXPERT
 23	select MAC80211_HAS_RC
 24	---help---
 25	  This option enables a TX rate control algorithm for
 26	  mac80211 that uses a PID controller to select the TX
 27	  rate.
 28
 29config MAC80211_RC_MINSTREL
 30	bool "Minstrel" if EXPERT
 31	select MAC80211_HAS_RC
 32	default y
 33	---help---
 34	  This option enables the 'minstrel' TX rate control algorithm
 35
 36config MAC80211_RC_MINSTREL_HT
 37	bool "Minstrel 802.11n support" if EXPERT
 38	depends on MAC80211_RC_MINSTREL
 39	default y
 40	---help---
 41	  This option enables the 'minstrel_ht' TX rate control algorithm
 42
 43choice
 44	prompt "Default rate control algorithm"
 45	depends on MAC80211_HAS_RC
 46	default MAC80211_RC_DEFAULT_MINSTREL
 47	---help---
 48	  This option selects the default rate control algorithm
 49	  mac80211 will use. Note that this default can still be
 50	  overridden through the ieee80211_default_rc_algo module
 51	  parameter if different algorithms are available.
 52
 53config MAC80211_RC_DEFAULT_PID
 54	bool "PID controller based rate control algorithm"
 55	depends on MAC80211_RC_PID
 56	---help---
 57	  Select the PID controller based rate control as the
 58	  default rate control algorithm. You should choose
 59	  this unless you know what you are doing.
 60
 61config MAC80211_RC_DEFAULT_MINSTREL
 62	bool "Minstrel"
 63	depends on MAC80211_RC_MINSTREL
 64	---help---
 65	  Select Minstrel as the default rate control algorithm.
 66
 67
 68endchoice
 69
 70config MAC80211_RC_DEFAULT
 71	string
 72	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
 73	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
 74	default "pid" if MAC80211_RC_DEFAULT_PID
 75	default ""
 76
 77endif
 78
 79comment "Some wireless drivers require a rate control algorithm"
 80	depends on MAC80211 && MAC80211_HAS_RC=n
 81
 
 
 
 
 
 
 
 
 
 
 82config MAC80211_MESH
 83	bool "Enable mac80211 mesh networking (pre-802.11s) support"
 84	depends on MAC80211 && EXPERIMENTAL
 85	---help---
 86	 This options enables support of Draft 802.11s mesh networking.
 87	 The implementation is based on Draft 2.08 of the Mesh Networking
 88	 amendment.  However, no compliance with that draft is claimed or even
 89	 possible, as drafts leave a number of identifiers to be defined after
 90	 ratification.  For more information visit http://o11s.org/.
 91
 92config MAC80211_LEDS
 93	bool "Enable LED triggers"
 94	depends on MAC80211
 95	depends on LEDS_CLASS
 96	select LEDS_TRIGGERS
 97	---help---
 98	  This option enables a few LED triggers for different
 99	  packet receive/transmit events.
100
101config MAC80211_DEBUGFS
102	bool "Export mac80211 internals in DebugFS"
103	depends on MAC80211 && DEBUG_FS
104	---help---
105	  Select this to see extensive information about
106	  the internal state of mac80211 in debugfs.
107
108	  Say N unless you know you need this.
109
 
 
 
 
 
 
 
 
 
 
 
 
 
110menuconfig MAC80211_DEBUG_MENU
111	bool "Select mac80211 debugging features"
112	depends on MAC80211
113	---help---
114	  This option collects various mac80211 debug settings.
115
116config MAC80211_NOINLINE
117	bool "Do not inline TX/RX handlers"
118	depends on MAC80211_DEBUG_MENU
119	---help---
120	  This option affects code generation in mac80211, when
121	  selected some functions are marked "noinline" to allow
122	  easier debugging of problems in the transmit and receive
123	  paths.
124
125	  This option increases code size a bit and inserts a lot
126	  of function calls in the code, but is otherwise safe to
127	  enable.
128
129	  If unsure, say N unless you expect to be finding problems
130	  in mac80211.
131
132config MAC80211_VERBOSE_DEBUG
133	bool "Verbose debugging output"
134	depends on MAC80211_DEBUG_MENU
135	---help---
136	  Selecting this option causes mac80211 to print out
137	  many debugging messages. It should not be selected
138	  on production systems as some of the messages are
139	  remotely triggerable.
140
141	  Do not select this option.
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143config MAC80211_HT_DEBUG
144	bool "Verbose HT debugging"
145	depends on MAC80211_DEBUG_MENU
146	---help---
147	  This option enables 802.11n High Throughput features
148	  debug tracing output.
149
150	  It should not be selected on production systems as some
151	  of the messages are remotely triggerable.
152
153	  Do not select this option.
154
155config MAC80211_TKIP_DEBUG
156	bool "Verbose TKIP debugging"
157	depends on MAC80211_DEBUG_MENU
158	---help---
159	  Selecting this option causes mac80211 to print out
160	  very verbose TKIP debugging messages. It should not
161	  be selected on production systems as those messages
162	  are remotely triggerable.
163
164	  Do not select this option.
165
166config MAC80211_IBSS_DEBUG
167	bool "Verbose IBSS debugging"
168	depends on MAC80211_DEBUG_MENU
169	---help---
170	  Selecting this option causes mac80211 to print out
171	  very verbose IBSS debugging messages. It should not
172	  be selected on production systems as those messages
173	  are remotely triggerable.
174
175	  Do not select this option.
176
177config MAC80211_VERBOSE_PS_DEBUG
178	bool "Verbose powersave mode debugging"
179	depends on MAC80211_DEBUG_MENU
180	---help---
181	  Selecting this option causes mac80211 to print out very
182	  verbose power save mode debugging messages (when mac80211
183	  is an AP and has power saving stations.)
184	  It should not be selected on production systems as those
185	  messages are remotely triggerable.
186
187	  Do not select this option.
188
189config MAC80211_VERBOSE_MPL_DEBUG
190	bool "Verbose mesh peer link debugging"
191	depends on MAC80211_DEBUG_MENU
192	depends on MAC80211_MESH
193	---help---
194	  Selecting this option causes mac80211 to print out very
195	  verbose mesh peer link debugging messages (when mac80211
196	  is taking part in a mesh network).
197	  It should not be selected on production systems as those
198	  messages are remotely triggerable.
199
200	  Do not select this option.
201
202config MAC80211_VERBOSE_MHWMP_DEBUG
 
 
 
 
 
 
 
 
 
 
 
 
 
203	bool "Verbose mesh HWMP routing debugging"
204	depends on MAC80211_DEBUG_MENU
205	depends on MAC80211_MESH
206	---help---
207	  Selecting this option causes mac80211 to print out very
208	  verbose mesh routing (HWMP) debugging messages (when mac80211
209	  is taking part in a mesh network).
210	  It should not be selected on production systems as those
211	  messages are remotely triggerable.
212
213	  Do not select this option.
214
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215config MAC80211_DEBUG_COUNTERS
216	bool "Extra statistics for TX/RX debugging"
217	depends on MAC80211_DEBUG_MENU
218	depends on MAC80211_DEBUGFS
219	---help---
220	  Selecting this option causes mac80211 to keep additional
221	  and very verbose statistics about TX and RX handler use
222	  and show them in debugfs.
 
 
 
 
223
224	  If unsure, say N.
225
226config MAC80211_DRIVER_API_TRACER
227	bool "Driver API tracer"
228	depends on MAC80211_DEBUG_MENU
229	depends on EVENT_TRACING
230	help
231	  Say Y here to make mac80211 register with the ftrace
232	  framework for the driver API -- you can then see which
233	  driver methods it is calling and which API functions
234	  drivers are calling by looking at the trace.
235
236	  If unsure, say Y.