1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
13 This option enables the hardware independent IEEE 802.11
16 comment "CFG80211 needs to be enabled for MAC80211"
21 config MAC80211_HAS_RC
24 config MAC80211_RC_MINSTREL
25 bool "Minstrel" if EXPERT
26 select MAC80211_HAS_RC
29 This option enables the 'minstrel' TX rate control algorithm
32 prompt "Default rate control algorithm"
33 depends on MAC80211_HAS_RC
34 default MAC80211_RC_DEFAULT_MINSTREL
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.
41 config MAC80211_RC_DEFAULT_MINSTREL
43 depends on MAC80211_RC_MINSTREL
45 Select Minstrel as the default rate control algorithm.
50 config MAC80211_RC_DEFAULT
52 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
57 comment "Some wireless drivers require a rate control algorithm"
58 depends on MAC80211 && MAC80211_HAS_RC=n
61 bool "Enable mac80211 mesh networking support"
64 Select this option to enable 802.11 mesh operation in mac80211
65 drivers that support it. 802.11 mesh connects multiple stations
66 over (possibly multi-hop) wireless links to form a single logical
70 bool "Enable LED triggers"
75 This option enables a few LED triggers for different
76 packet receive/transmit events.
78 config MAC80211_DEBUGFS
79 bool "Export mac80211 internals in DebugFS"
80 depends on MAC80211 && DEBUG_FS
82 Select this to see extensive information about
83 the internal state of mac80211 in debugfs.
85 Say N unless you know you need this.
87 config MAC80211_MESSAGE_TRACING
88 bool "Trace all mac80211 debug messages"
91 Select this option to have mac80211 register the
92 mac80211_msg trace subsystem with tracepoints to
93 collect all debugging messages, independent of
94 printing them into the kernel log.
96 The overhead in this option is that all the messages
97 need to be present in the binary and formatted at
100 menuconfig MAC80211_DEBUG_MENU
101 bool "Select mac80211 debugging features"
104 This option collects various mac80211 debug settings.
106 config MAC80211_NOINLINE
107 bool "Do not inline TX/RX handlers"
108 depends on MAC80211_DEBUG_MENU
110 This option affects code generation in mac80211, when
111 selected some functions are marked "noinline" to allow
112 easier debugging of problems in the transmit and receive
115 This option increases code size a bit and inserts a lot
116 of function calls in the code, but is otherwise safe to
119 If unsure, say N unless you expect to be finding problems
122 config MAC80211_VERBOSE_DEBUG
123 bool "Verbose debugging output"
124 depends on MAC80211_DEBUG_MENU
126 Selecting this option causes mac80211 to print out
127 many debugging messages. It should not be selected
128 on production systems as some of the messages are
129 remotely triggerable.
131 Do not select this option.
133 config MAC80211_MLME_DEBUG
134 bool "Verbose managed MLME output"
135 depends on MAC80211_DEBUG_MENU
137 Selecting this option causes mac80211 to print out
138 debugging messages for the managed-mode MLME. It
139 should not be selected on production systems as some
140 of the messages are remotely triggerable.
142 Do not select this option.
144 config MAC80211_STA_DEBUG
145 bool "Verbose station debugging"
146 depends on MAC80211_DEBUG_MENU
148 Selecting this option causes mac80211 to print out
149 debugging messages for station addition/removal.
151 Do not select this option.
153 config MAC80211_HT_DEBUG
154 bool "Verbose HT debugging"
155 depends on MAC80211_DEBUG_MENU
157 This option enables 802.11n High Throughput features
158 debug tracing output.
160 It should not be selected on production systems as some
161 of the messages are remotely triggerable.
163 Do not select this option.
165 config MAC80211_OCB_DEBUG
166 bool "Verbose OCB debugging"
167 depends on MAC80211_DEBUG_MENU
169 Selecting this option causes mac80211 to print out
170 very verbose OCB debugging messages. It should not
171 be selected on production systems as those messages
172 are remotely triggerable.
174 Do not select this option.
176 config MAC80211_IBSS_DEBUG
177 bool "Verbose IBSS debugging"
178 depends on MAC80211_DEBUG_MENU
180 Selecting this option causes mac80211 to print out
181 very verbose IBSS debugging messages. It should not
182 be selected on production systems as those messages
183 are remotely triggerable.
185 Do not select this option.
187 config MAC80211_PS_DEBUG
188 bool "Verbose powersave mode debugging"
189 depends on MAC80211_DEBUG_MENU
191 Selecting this option causes mac80211 to print out very
192 verbose power save mode debugging messages (when mac80211
193 is an AP and has power saving stations.)
194 It should not be selected on production systems as those
195 messages are remotely triggerable.
197 Do not select this option.
199 config MAC80211_MPL_DEBUG
200 bool "Verbose mesh peer link debugging"
201 depends on MAC80211_DEBUG_MENU
202 depends on MAC80211_MESH
204 Selecting this option causes mac80211 to print out very
205 verbose mesh peer link debugging messages (when mac80211
206 is taking part in a mesh network).
207 It should not be selected on production systems as those
208 messages are remotely triggerable.
210 Do not select this option.
212 config MAC80211_MPATH_DEBUG
213 bool "Verbose mesh path debugging"
214 depends on MAC80211_DEBUG_MENU
215 depends on MAC80211_MESH
217 Selecting this option causes mac80211 to print out very
218 verbose mesh path selection debugging messages (when mac80211
219 is taking part in a mesh network).
220 It should not be selected on production systems as those
221 messages are remotely triggerable.
223 Do not select this option.
225 config MAC80211_MHWMP_DEBUG
226 bool "Verbose mesh HWMP routing debugging"
227 depends on MAC80211_DEBUG_MENU
228 depends on MAC80211_MESH
230 Selecting this option causes mac80211 to print out very
231 verbose mesh routing (HWMP) debugging messages (when mac80211
232 is taking part in a mesh network).
233 It should not be selected on production systems as those
234 messages are remotely triggerable.
236 Do not select this option.
238 config MAC80211_MESH_SYNC_DEBUG
239 bool "Verbose mesh synchronization debugging"
240 depends on MAC80211_DEBUG_MENU
241 depends on MAC80211_MESH
243 Selecting this option causes mac80211 to print out very verbose mesh
244 synchronization debugging messages (when mac80211 is taking part in a
247 Do not select this option.
249 config MAC80211_MESH_CSA_DEBUG
250 bool "Verbose mesh channel switch debugging"
251 depends on MAC80211_DEBUG_MENU
252 depends on MAC80211_MESH
254 Selecting this option causes mac80211 to print out very verbose mesh
255 channel switch debugging messages (when mac80211 is taking part in a
258 Do not select this option.
260 config MAC80211_MESH_PS_DEBUG
261 bool "Verbose mesh powersave debugging"
262 depends on MAC80211_DEBUG_MENU
263 depends on MAC80211_MESH
265 Selecting this option causes mac80211 to print out very verbose mesh
266 powersave debugging messages (when mac80211 is taking part in a
269 Do not select this option.
271 config MAC80211_TDLS_DEBUG
272 bool "Verbose TDLS debugging"
273 depends on MAC80211_DEBUG_MENU
275 Selecting this option causes mac80211 to print out very
276 verbose TDLS selection debugging messages (when mac80211
278 It should not be selected on production systems as those
279 messages are remotely triggerable.
281 Do not select this option.
283 config MAC80211_DEBUG_COUNTERS
284 bool "Extra statistics for TX/RX debugging"
285 depends on MAC80211_DEBUG_MENU
286 depends on MAC80211_DEBUGFS
288 Selecting this option causes mac80211 to keep additional
289 and very verbose statistics about TX and RX handler use
290 as well as a few selected dot11 counters. These will be
293 Note that some of the counters are not concurrency safe
294 and may thus not always be accurate.
298 config MAC80211_STA_HASH_MAX_SIZE
299 int "Station hash table maximum size" if MAC80211_DEBUG_MENU
302 Setting this option to a low value (e.g. 4) allows testing the
303 hash table with collisions relatively deterministically (just
304 connect more stations than the number selected here.)
306 If unsure, leave the default of 0.