xref: /linux/net/wireless/Kconfig (revision 90a53e4432b12288316efaa5f308adafb8d304b0)
13d23e349SJohannes Bergconfig WIRELESS_EXT
23d23e349SJohannes Berg	bool
33d23e349SJohannes Berg
43d23e349SJohannes Bergconfig WEXT_CORE
53d23e349SJohannes Berg	def_bool y
63d23e349SJohannes Berg	depends on CFG80211_WEXT || WIRELESS_EXT
73d23e349SJohannes Berg
83d23e349SJohannes Bergconfig WEXT_PROC
93d23e349SJohannes Berg	def_bool y
103d23e349SJohannes Berg	depends on PROC_FS
113d23e349SJohannes Berg	depends on WEXT_CORE
123d23e349SJohannes Berg
133d23e349SJohannes Bergconfig WEXT_SPY
143d23e349SJohannes Berg	bool
153d23e349SJohannes Berg
163d23e349SJohannes Bergconfig WEXT_PRIV
173d23e349SJohannes Berg	bool
183d23e349SJohannes Berg
19704232c2SJohannes Bergconfig CFG80211
20b275f285SLuis R. Rodriguez	tristate "cfg80211 - wireless configuration API"
211f87f7d3SJohannes Berg	depends on RFKILL || !RFKILL
22007f6c5eSJohannes Berg	select FW_LOADER
23b275f285SLuis R. Rodriguez	---help---
24b275f285SLuis R. Rodriguez	  cfg80211 is the Linux wireless LAN (802.11) configuration API.
25b275f285SLuis R. Rodriguez	  Enable this if you have a wireless device.
26b275f285SLuis R. Rodriguez
27b275f285SLuis R. Rodriguez	  For more information refer to documentation on the wireless wiki:
28b275f285SLuis R. Rodriguez
29b275f285SLuis R. Rodriguez	  http://wireless.kernel.org/en/developers/Documentation/cfg80211
30b275f285SLuis R. Rodriguez
31b275f285SLuis R. Rodriguez	  When built as a module it will be called cfg80211.
32704232c2SJohannes Berg
33aff89a9bSJohannes Bergconfig NL80211_TESTMODE
34aff89a9bSJohannes Berg	bool "nl80211 testmode command"
35aff89a9bSJohannes Berg	depends on CFG80211
36aff89a9bSJohannes Berg	help
37aff89a9bSJohannes Berg	  The nl80211 testmode command helps implementing things like
38aff89a9bSJohannes Berg	  factory calibration or validation tools for wireless chips.
39aff89a9bSJohannes Berg
40aff89a9bSJohannes Berg	  Select this option ONLY for kernels that are specifically
41aff89a9bSJohannes Berg	  built for such purposes.
42aff89a9bSJohannes Berg
43aff89a9bSJohannes Berg	  Debugging tools that are supposed to end up in the hands of
44aff89a9bSJohannes Berg	  users should better be implemented with debugfs.
45aff89a9bSJohannes Berg
46aff89a9bSJohannes Berg	  Say N.
47aff89a9bSJohannes Berg
48f7969969SJohannes Bergconfig CFG80211_DEVELOPER_WARNINGS
49f7969969SJohannes Berg	bool "enable developer warnings"
50f7969969SJohannes Berg	depends on CFG80211
51f7969969SJohannes Berg	default n
52f7969969SJohannes Berg	help
53f7969969SJohannes Berg	  This option enables some additional warnings that help
54573a2b51SOla Olsson	  cfg80211 developers and driver developers, but beware that
55573a2b51SOla Olsson	  they can also trigger due to races with userspace.
56f7969969SJohannes Berg
57f7969969SJohannes Berg	  For example, when a driver reports that it was disconnected
58f7969969SJohannes Berg	  from the AP, but the user disconnects manually at the same
59f7969969SJohannes Berg	  time, the warning might trigger spuriously due to races.
60f7969969SJohannes Berg
61f7969969SJohannes Berg	  Say Y only if you are developing cfg80211 or a driver based
62f7969969SJohannes Berg	  on it (or mac80211).
63f7969969SJohannes Berg
64f7969969SJohannes Berg
65b594bab9SLuis R. Rodriguezconfig CFG80211_CERTIFICATION_ONUS
66b594bab9SLuis R. Rodriguez	bool "cfg80211 certification onus"
67b594bab9SLuis R. Rodriguez	depends on CFG80211 && EXPERT
68b594bab9SLuis R. Rodriguez	default n
69b594bab9SLuis R. Rodriguez	---help---
70b594bab9SLuis R. Rodriguez	  You should disable this option unless you are both capable
71b594bab9SLuis R. Rodriguez	  and willing to ensure your system will remain regulatory
72b594bab9SLuis R. Rodriguez	  compliant with the features available under this option.
73b594bab9SLuis R. Rodriguez	  Some options may still be under heavy development and
74b594bab9SLuis R. Rodriguez	  for whatever reason regulatory compliance has not or
75b594bab9SLuis R. Rodriguez	  cannot yet be verified. Regulatory verification may at
76b594bab9SLuis R. Rodriguez	  times only be possible until you have the final system
77b594bab9SLuis R. Rodriguez	  in place.
78b594bab9SLuis R. Rodriguez
79b594bab9SLuis R. Rodriguez	  This option should only be enabled by system integrators
80b594bab9SLuis R. Rodriguez	  or distributions that have done work necessary to ensure
81b594bab9SLuis R. Rodriguez	  regulatory certification on the system with the enabled
82b594bab9SLuis R. Rodriguez	  features. Alternatively you can enable this option if
83b594bab9SLuis R. Rodriguez	  you are a wireless researcher and are working in a controlled
84b594bab9SLuis R. Rodriguez	  and approved environment by your local regulatory agency.
85b594bab9SLuis R. Rodriguez
86*90a53e44SJohannes Bergconfig CFG80211_REQUIRE_SIGNED_REGDB
87*90a53e44SJohannes Berg	bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
88*90a53e44SJohannes Berg	default y
89*90a53e44SJohannes Berg	select SYSTEM_DATA_VERIFICATION
90*90a53e44SJohannes Berg	help
91*90a53e44SJohannes Berg	  Require that in addition to the "regulatory.db" file a
92*90a53e44SJohannes Berg	  "regulatory.db.p7s" can be loaded with a valid PKCS#7
93*90a53e44SJohannes Berg	  signature for the regulatory.db file made by one of the
94*90a53e44SJohannes Berg	  keys in the certs/ directory.
95*90a53e44SJohannes Berg
96*90a53e44SJohannes Bergconfig CFG80211_USE_KERNEL_REGDB_KEYS
97*90a53e44SJohannes Berg	bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
98*90a53e44SJohannes Berg	default y
99*90a53e44SJohannes Berg	depends on CFG80211_REQUIRE_SIGNED_REGDB
100*90a53e44SJohannes Berg	help
101*90a53e44SJohannes Berg	  Allow the regulatory database to be signed by one of the keys for
102*90a53e44SJohannes Berg	  which certificates are part of the kernel sources
103*90a53e44SJohannes Berg	  (in net/wireless/certs/).
104*90a53e44SJohannes Berg
105*90a53e44SJohannes Berg	  This is currently only Seth Forshee's key, who is the regulatory
106*90a53e44SJohannes Berg	  database maintainer.
107*90a53e44SJohannes Berg
108*90a53e44SJohannes Bergconfig CFG80211_EXTRA_REGDB_KEYDIR
109*90a53e44SJohannes Berg	string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
110*90a53e44SJohannes Berg	depends on CFG80211_REQUIRE_SIGNED_REGDB
111*90a53e44SJohannes Berg	help
112*90a53e44SJohannes Berg	  If selected, point to a directory with DER-encoded X.509
113*90a53e44SJohannes Berg	  certificates like in the kernel sources (net/wireless/certs/)
114*90a53e44SJohannes Berg	  that shall be accepted for a signed regulatory database.
115*90a53e44SJohannes Berg
11694fc661fSIlan Peerconfig CFG80211_REG_CELLULAR_HINTS
11794fc661fSIlan Peer	bool "cfg80211 regulatory support for cellular base station hints"
11894fc661fSIlan Peer	depends on CFG80211_CERTIFICATION_ONUS
11994fc661fSIlan Peer	---help---
12094fc661fSIlan Peer	  This option enables support for parsing regulatory hints
12194fc661fSIlan Peer	  from cellular base stations. If enabled and at least one driver
12294fc661fSIlan Peer	  claims support for parsing cellular base station hints the
12394fc661fSIlan Peer	  regulatory core will allow and parse these regulatory hints.
12494fc661fSIlan Peer	  The regulatory core will only apply these regulatory hints on
12594fc661fSIlan Peer	  drivers that support this feature. You should only enable this
12694fc661fSIlan Peer	  feature if you have tested and validated this feature on your
12794fc661fSIlan Peer	  systems.
12894fc661fSIlan Peer
129174e0cd2SIlan Peerconfig CFG80211_REG_RELAX_NO_IR
130174e0cd2SIlan Peer	bool "cfg80211 support for NO_IR relaxation"
131174e0cd2SIlan Peer	depends on CFG80211_CERTIFICATION_ONUS
132174e0cd2SIlan Peer	---help---
133174e0cd2SIlan Peer	 This option enables support for relaxation of the NO_IR flag for
134174e0cd2SIlan Peer	 situations that certain regulatory bodies have provided clarifications
135174e0cd2SIlan Peer	 on how relaxation can occur. This feature has an inherent dependency on
136174e0cd2SIlan Peer	 userspace features which must have been properly tested and as such is
137174e0cd2SIlan Peer	 not enabled by default.
138174e0cd2SIlan Peer
139174e0cd2SIlan Peer	 A relaxation feature example is allowing the operation of a P2P group
140174e0cd2SIlan Peer	 owner (GO) on channels marked with NO_IR if there is an additional BSS
141174e0cd2SIlan Peer	 interface which associated to an AP which userspace assumes or confirms
142174e0cd2SIlan Peer	 to be an authorized master, i.e., with radar detection support and DFS
143174e0cd2SIlan Peer	 capabilities. However, note that in order to not create daisy chain
144573a2b51SOla Olsson	 scenarios, this relaxation is not allowed in cases where the BSS client
145174e0cd2SIlan Peer	 is associated to P2P GO and in addition the P2P GO instantiated on
146174e0cd2SIlan Peer	 a channel due to this relaxation should not allow connection from
147174e0cd2SIlan Peer	 non P2P clients.
148174e0cd2SIlan Peer
149174e0cd2SIlan Peer	 The regulatory core will apply these relaxations only for drivers that
150174e0cd2SIlan Peer	 support this feature by declaring the appropriate channel flags and
151174e0cd2SIlan Peer	 capabilities in their registration flow.
152174e0cd2SIlan Peer
153bc92afd9SJohannes Bergconfig CFG80211_DEFAULT_PS
154bc92afd9SJohannes Berg	bool "enable powersave by default"
155bc92afd9SJohannes Berg	depends on CFG80211
156bc92afd9SJohannes Berg	default y
157bc92afd9SJohannes Berg	help
158bc92afd9SJohannes Berg	  This option enables powersave mode by default.
159bc92afd9SJohannes Berg
160bc92afd9SJohannes Berg	  If this causes your applications to misbehave you should fix your
161bc92afd9SJohannes Berg	  applications instead -- they need to register their network
162bc92afd9SJohannes Berg	  latency requirement, see Documentation/power/pm_qos_interface.txt.
163bc92afd9SJohannes Berg
1641ac61302SLuis R. Rodriguezconfig CFG80211_DEBUGFS
1651ac61302SLuis R. Rodriguez	bool "cfg80211 DebugFS entries"
1663d23e349SJohannes Berg	depends on CFG80211
1673d23e349SJohannes Berg	depends on DEBUG_FS
1681ac61302SLuis R. Rodriguez	---help---
169573a2b51SOla Olsson	  You can enable this if you want debugfs entries for cfg80211.
1701ac61302SLuis R. Rodriguez
1711ac61302SLuis R. Rodriguez	  If unsure, say N.
1721ac61302SLuis R. Rodriguez
173b6863036SJohannes Bergconfig CFG80211_CRDA_SUPPORT
174c8c240e2SJohannes Berg	bool "support CRDA" if EXPERT
175b6863036SJohannes Berg	default y
176b6863036SJohannes Berg	depends on CFG80211
177b6863036SJohannes Berg	help
178b6863036SJohannes Berg	  You should enable this option unless you know for sure you have no
179007f6c5eSJohannes Berg	  need for it, for example when using internal regdb (above) or the
180007f6c5eSJohannes Berg	  database loaded as a firmware file.
181b6863036SJohannes Berg
182b6863036SJohannes Berg	  If unsure, say Y.
183b6863036SJohannes Berg
1843d23e349SJohannes Bergconfig CFG80211_WEXT
1856d00ec05SJohannes Berg	bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
1863d23e349SJohannes Berg	depends on CFG80211
1873d23e349SJohannes Berg	select WEXT_CORE
1882afe38d1SJohannes Berg	default y if CFG80211_WEXT_EXPORT
1893d23e349SJohannes Berg	help
1903d23e349SJohannes Berg	  Enable this option if you need old userspace for wireless
1913d23e349SJohannes Berg	  extensions with cfg80211-based drivers.
19222bb1be4SJohannes Berg
1932afe38d1SJohannes Bergconfig CFG80211_WEXT_EXPORT
1942afe38d1SJohannes Berg	bool
1952afe38d1SJohannes Berg	depends on CFG80211
1962afe38d1SJohannes Berg	help
1972afe38d1SJohannes Berg	  Drivers should select this option if they require cfg80211's
1982afe38d1SJohannes Berg	  wext compatibility symbols to be exported.
1992afe38d1SJohannes Berg
2007e272fcfSJohn W. Linvilleconfig LIB80211
201f3684343SJohannes Berg	tristate
2027e272fcfSJohn W. Linville	default n
2037e272fcfSJohn W. Linville	help
2047e272fcfSJohn W. Linville	  This options enables a library of common routines used
2057e272fcfSJohn W. Linville	  by IEEE802.11 wireless LAN drivers.
2067e272fcfSJohn W. Linville
207f3684343SJohannes Berg	  Drivers should select this themselves if needed.
208274bfb8dSJohn W. Linville
209274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_WEP
210274bfb8dSJohn W. Linville	tristate
211274bfb8dSJohn W. Linville
212274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_CCMP
213274bfb8dSJohn W. Linville	tristate
214274bfb8dSJohn W. Linville
215274bfb8dSJohn W. Linvilleconfig LIB80211_CRYPT_TKIP
216274bfb8dSJohn W. Linville	tristate
2176f16bf3bSJohn W. Linville
2186f16bf3bSJohn W. Linvilleconfig LIB80211_DEBUG
2196f16bf3bSJohn W. Linville	bool "lib80211 debugging messages"
2206f16bf3bSJohn W. Linville	depends on LIB80211
2216f16bf3bSJohn W. Linville	default n
2226f16bf3bSJohn W. Linville	---help---
2236f16bf3bSJohn W. Linville	  You can enable this if you want verbose debugging messages
2246f16bf3bSJohn W. Linville	  from lib80211.
2256f16bf3bSJohn W. Linville
2266f16bf3bSJohn W. Linville	  If unsure, say N.
227