blob: 8a91f6c0bb1800a8149623c059bdde6e135361b7 [file] [log] [blame]
Jiri Bencf0706e822007-05-05 11:45:53 -07001config MAC80211
2 tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
Johannes Berg0aa82042009-06-03 18:30:31 +02003 depends on CFG80211
Jiri Bencf0706e822007-05-05 11:45:53 -07004 select CRYPTO
5 select CRYPTO_ECB
6 select CRYPTO_ARC4
7 select CRYPTO_AES
8 select CRC32
Jiri Bencf0706e822007-05-05 11:45:53 -07009 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050010 This option enables the hardware independent IEEE 802.11
11 networking stack.
Jiri Bencf0706e822007-05-05 11:45:53 -070012
Johannes Berg0aa82042009-06-03 18:30:31 +020013comment "CFG80211 needs to be enabled for MAC80211"
14 depends on CFG80211=n
15
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070016if MAC80211 != n
Johannes Bergac71c692007-10-28 14:17:44 +010017
Andres Salomonc2ef3552010-02-25 19:18:47 -050018config MAC80211_HAS_RC
19 def_bool n
20
Adrian Bunke5f5e732008-06-26 13:38:13 +030021config MAC80211_RC_PID
22 bool "PID controller based rate control algorithm" if EMBEDDED
Andres Salomonc2ef3552010-02-25 19:18:47 -050023 select MAC80211_HAS_RC
Adrian Bunke5f5e732008-06-26 13:38:13 +030024 ---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
Felix Fietkaucccf1292008-10-05 18:07:45 +020029config MAC80211_RC_MINSTREL
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080030 bool "Minstrel" if EMBEDDED
Andres Salomonc2ef3552010-02-25 19:18:47 -050031 select MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080032 default y
Felix Fietkaucccf1292008-10-05 18:07:45 +020033 ---help---
34 This option enables the 'minstrel' TX rate control algorithm
35
Stefano Brivioc21b39a2007-12-19 01:26:16 +010036choice
37 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050038 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080039 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010040 ---help---
41 This option selects the default rate control algorithm
42 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010043 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010044 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010045
Stefano Brivioc21b39a2007-12-19 01:26:16 +010046config MAC80211_RC_DEFAULT_PID
47 bool "PID controller based rate control algorithm"
Adrian Bunke5f5e732008-06-26 13:38:13 +030048 depends on MAC80211_RC_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010049 ---help---
50 Select the PID controller based rate control as the
51 default rate control algorithm. You should choose
52 this unless you know what you are doing.
53
Felix Fietkaucccf1292008-10-05 18:07:45 +020054config MAC80211_RC_DEFAULT_MINSTREL
55 bool "Minstrel"
56 depends on MAC80211_RC_MINSTREL
57 ---help---
58 Select Minstrel as the default rate control algorithm.
59
60
Stefano Brivioc21b39a2007-12-19 01:26:16 +010061endchoice
62
63config MAC80211_RC_DEFAULT
64 string
Felix Fietkaucccf1292008-10-05 18:07:45 +020065 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080066 default "pid" if MAC80211_RC_DEFAULT_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010067 default ""
68
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070069endif
Mattias Nisslerad018372007-12-19 01:25:57 +010070
Andres Salomonc2ef3552010-02-25 19:18:47 -050071comment "Some wireless drivers require a rate control algorithm"
72 depends on MAC80211_HAS_RC=n
73
Johannes Berg2f5ce792008-02-23 15:17:21 +010074config MAC80211_MESH
75 bool "Enable mac80211 mesh networking (pre-802.11s) support"
Luis Carlos Cobo37659ff2008-02-29 12:13:38 -080076 depends on MAC80211 && EXPERIMENTAL
Johannes Berg2f5ce792008-02-23 15:17:21 +010077 ---help---
Johannes Berg5c142e82008-02-25 10:13:31 +010078 This options enables support of Draft 802.11s mesh networking.
Javier Cardona18889232009-08-10 12:15:52 -070079 The implementation is based on Draft 2.08 of the Mesh Networking
80 amendment. However, no compliance with that draft is claimed or even
81 possible, as drafts leave a number of identifiers to be defined after
82 ratification. For more information visit http://o11s.org/.
Johannes Berg2f5ce792008-02-23 15:17:21 +010083
Jiri Bencf0706e822007-05-05 11:45:53 -070084config MAC80211_LEDS
85 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070086 depends on MAC80211
87 select NEW_LEDS
88 select LEDS_TRIGGERS
Jiri Bencf0706e822007-05-05 11:45:53 -070089 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050090 This option enables a few LED triggers for different
91 packet receive/transmit events.
Jiri Bencf0706e822007-05-05 11:45:53 -070092
Jiri Bence9f207f2007-05-05 11:46:38 -070093config MAC80211_DEBUGFS
94 bool "Export mac80211 internals in DebugFS"
95 depends on MAC80211 && DEBUG_FS
96 ---help---
97 Select this to see extensive information about
98 the internal state of mac80211 in debugfs.
99
100 Say N unless you know you need this.
101
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200102menuconfig MAC80211_DEBUG_MENU
103 bool "Select mac80211 debugging features"
104 depends on MAC80211
105 ---help---
106 This option collects various mac80211 debug settings.
107
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200108config MAC80211_NOINLINE
109 bool "Do not inline TX/RX handlers"
110 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e822007-05-05 11:45:53 -0700111 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200112 This option affects code generation in mac80211, when
113 selected some functions are marked "noinline" to allow
114 easier debugging of problems in the transmit and receive
115 paths.
Jiri Bencf0706e822007-05-05 11:45:53 -0700116
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200117 This option increases code size a bit and inserts a lot
118 of function calls in the code, but is otherwise safe to
119 enable.
120
121 If unsure, say N unless you expect to be finding problems
122 in mac80211.
123
124config MAC80211_VERBOSE_DEBUG
125 bool "Verbose debugging output"
126 depends on MAC80211_DEBUG_MENU
127 ---help---
128 Selecting this option causes mac80211 to print out
129 many debugging messages. It should not be selected
130 on production systems as some of the messages are
131 remotely triggerable.
132
133 Do not select this option.
Jiri Bencf0706e822007-05-05 11:45:53 -0700134
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800135config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200136 bool "Verbose HT debugging"
137 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500138 ---help---
139 This option enables 802.11n High Throughput features
140 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800141
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200142 It should not be selected on production systems as some
143 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800144
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200145 Do not select this option.
146
147config MAC80211_TKIP_DEBUG
148 bool "Verbose TKIP debugging"
149 depends on MAC80211_DEBUG_MENU
150 ---help---
151 Selecting this option causes mac80211 to print out
152 very verbose TKIP debugging messages. It should not
153 be selected on production systems as those messages
154 are remotely triggerable.
155
156 Do not select this option.
157
158config MAC80211_IBSS_DEBUG
159 bool "Verbose IBSS debugging"
160 depends on MAC80211_DEBUG_MENU
161 ---help---
162 Selecting this option causes mac80211 to print out
163 very verbose IBSS debugging messages. It should not
164 be selected on production systems as those messages
165 are remotely triggerable.
166
167 Do not select this option.
168
169config MAC80211_VERBOSE_PS_DEBUG
170 bool "Verbose powersave mode debugging"
171 depends on MAC80211_DEBUG_MENU
172 ---help---
173 Selecting this option causes mac80211 to print out very
174 verbose power save mode debugging messages (when mac80211
175 is an AP and has power saving stations.)
176 It should not be selected on production systems as those
177 messages are remotely triggerable.
178
179 Do not select this option.
180
181config MAC80211_VERBOSE_MPL_DEBUG
182 bool "Verbose mesh peer link debugging"
183 depends on MAC80211_DEBUG_MENU
184 depends on MAC80211_MESH
185 ---help---
186 Selecting this option causes mac80211 to print out very
187 verbose mesh peer link debugging messages (when mac80211
188 is taking part in a mesh network).
189 It should not be selected on production systems as those
190 messages are remotely triggerable.
191
192 Do not select this option.
Jiri Bencf0706e822007-05-05 11:45:53 -0700193
Rui Paulo27db2e42009-11-09 23:46:45 +0000194config MAC80211_VERBOSE_MHWMP_DEBUG
195 bool "Verbose mesh HWMP routing debugging"
196 depends on MAC80211_DEBUG_MENU
197 depends on MAC80211_MESH
198 ---help---
199 Selecting this option causes mac80211 to print out very
200 verbose mesh routing (HWMP) debugging messages (when mac80211
201 is taking part in a mesh network).
202 It should not be selected on production systems as those
203 messages are remotely triggerable.
204
205 Do not select this option.
206
Jiri Bencf0706e822007-05-05 11:45:53 -0700207config MAC80211_DEBUG_COUNTERS
208 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200209 depends on MAC80211_DEBUG_MENU
210 depends on MAC80211_DEBUGFS
Jiri Bencf0706e822007-05-05 11:45:53 -0700211 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200212 Selecting this option causes mac80211 to keep additional
213 and very verbose statistics about TX and RX handler use
214 and show them in debugfs.
Jiri Bencf0706e822007-05-05 11:45:53 -0700215
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200216 If unsure, say N.
Johannes Berg0a2b8bb2009-07-07 13:46:22 +0200217
218config MAC80211_DRIVER_API_TRACER
219 bool "Driver API tracer"
220 depends on MAC80211_DEBUG_MENU
221 depends on EVENT_TRACING
222 help
223 Say Y here to make mac80211 register with the ftrace
Johannes Bergb5878a22010-04-07 16:48:40 +0200224 framework for the driver API -- you can then see which
225 driver methods it is calling and which API functions
226 drivers are calling by looking at the trace.
Johannes Berg0a2b8bb2009-07-07 13:46:22 +0200227
Johannes Bergb5878a22010-04-07 16:48:40 +0200228 If unsure, say Y.