1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2367a1092SKalle Valo#
3367a1092SKalle Valo# Intel Centrino wireless drivers
4367a1092SKalle Valo#
5367a1092SKalle Valo
6367a1092SKalle Valoconfig IPW2100
7367a1092SKalle Valo	tristate "Intel PRO/Wireless 2100 Network Connection"
8367a1092SKalle Valo	depends on PCI && CFG80211
9367a1092SKalle Valo	select WIRELESS_EXT
10367a1092SKalle Valo	select WEXT_SPY
11367a1092SKalle Valo	select WEXT_PRIV
12367a1092SKalle Valo	select FW_LOADER
13367a1092SKalle Valo	select LIB80211
14367a1092SKalle Valo	select LIBIPW
15a7f7f624SMasahiro Yamada	help
16367a1092SKalle Valo	  A driver for the Intel PRO/Wireless 2100 Network
17367a1092SKalle Valo	  Connection 802.11b wireless network adapter.
18367a1092SKalle Valo
19132db935SJakub Kicinski	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2100.rst>
20b255e500SJakub Kicinski	  for information on the capabilities currently enabled in this driver
21b255e500SJakub Kicinski	  and for tips for debugging issues and problems.
22367a1092SKalle Valo
23367a1092SKalle Valo	  In order to use this driver, you will need a firmware image for it.
24367a1092SKalle Valo	  You can obtain the firmware from
25367a1092SKalle Valo	  <http://ipw2100.sf.net/>.  Once you have the firmware image, you
26367a1092SKalle Valo	  will need to place it in /lib/firmware.
27367a1092SKalle Valo
28367a1092SKalle Valo	  You will also very likely need the Wireless Tools in order to
29367a1092SKalle Valo	  configure your card:
30367a1092SKalle Valo
31348cb5dcSAlexander A. Klimov	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
32367a1092SKalle Valo
33367a1092SKalle Valo	  It is recommended that you compile this driver as a module (M)
34367a1092SKalle Valo	  rather than built-in (Y). This driver requires firmware at device
35367a1092SKalle Valo	  initialization time, and when built-in this typically happens
36367a1092SKalle Valo	  before the filesystem is accessible (hence firmware will be
37367a1092SKalle Valo	  unavailable and initialization will fail). If you do choose to build
38367a1092SKalle Valo	  this driver into your kernel image, you can avoid this problem by
39367a1092SKalle Valo	  including the firmware and a firmware loader in an initramfs.
40367a1092SKalle Valo
41367a1092SKalle Valoconfig IPW2100_MONITOR
42367a1092SKalle Valo	bool "Enable promiscuous mode"
43367a1092SKalle Valo	depends on IPW2100
44a7f7f624SMasahiro Yamada	help
45367a1092SKalle Valo	  Enables promiscuous/monitor mode support for the ipw2100 driver.
46367a1092SKalle Valo	  With this feature compiled into the driver, you can switch to
47367a1092SKalle Valo	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
48367a1092SKalle Valo	  mode, no packets can be sent.
49367a1092SKalle Valo
50367a1092SKalle Valoconfig IPW2100_DEBUG
51367a1092SKalle Valo	bool "Enable full debugging output in IPW2100 module."
52367a1092SKalle Valo	depends on IPW2100
53a7f7f624SMasahiro Yamada	help
54367a1092SKalle Valo	  This option will enable debug tracing output for the IPW2100.
55367a1092SKalle Valo
56367a1092SKalle Valo	  This will result in the kernel module being ~60k larger.  You can
57367a1092SKalle Valo	  control which debug output is sent to the kernel log by setting the
58367a1092SKalle Valo	  value in
59367a1092SKalle Valo
60367a1092SKalle Valo	  /sys/bus/pci/drivers/ipw2100/debug_level
61367a1092SKalle Valo
62367a1092SKalle Valo	  This entry will only exist if this option is enabled.
63367a1092SKalle Valo
64367a1092SKalle Valo	  If you are not trying to debug or develop the IPW2100 driver, you
65367a1092SKalle Valo	  most likely want to say N here.
66367a1092SKalle Valo
67367a1092SKalle Valoconfig IPW2200
68367a1092SKalle Valo	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
69367a1092SKalle Valo	depends on PCI && CFG80211
70367a1092SKalle Valo	select CFG80211_WEXT_EXPORT
71367a1092SKalle Valo	select WIRELESS_EXT
72367a1092SKalle Valo	select WEXT_SPY
73367a1092SKalle Valo	select WEXT_PRIV
74367a1092SKalle Valo	select FW_LOADER
75367a1092SKalle Valo	select LIB80211
76367a1092SKalle Valo	select LIBIPW
77a7f7f624SMasahiro Yamada	help
78367a1092SKalle Valo	  A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
79367a1092SKalle Valo	  Connection adapters.
80367a1092SKalle Valo
81132db935SJakub Kicinski	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2200.rst>
82b255e500SJakub Kicinski	  for information on the capabilities currently enabled in this
83367a1092SKalle Valo	  driver and for tips for debugging issues and problems.
84367a1092SKalle Valo
85367a1092SKalle Valo	  In order to use this driver, you will need a firmware image for it.
86367a1092SKalle Valo	  You can obtain the firmware from
87367a1092SKalle Valo	  <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200
88367a1092SKalle Valo	  for information on where to install the firmware images.
89367a1092SKalle Valo
90367a1092SKalle Valo	  You will also very likely need the Wireless Tools in order to
91367a1092SKalle Valo	  configure your card:
92367a1092SKalle Valo
93348cb5dcSAlexander A. Klimov	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
94367a1092SKalle Valo
95367a1092SKalle Valo	  It is recommended that you compile this driver as a module (M)
96367a1092SKalle Valo	  rather than built-in (Y). This driver requires firmware at device
97367a1092SKalle Valo	  initialization time, and when built-in this typically happens
98367a1092SKalle Valo	  before the filesystem is accessible (hence firmware will be
99367a1092SKalle Valo	  unavailable and initialization will fail). If you do choose to build
100367a1092SKalle Valo	  this driver into your kernel image, you can avoid this problem by
101367a1092SKalle Valo	  including the firmware and a firmware loader in an initramfs.
102367a1092SKalle Valo
103367a1092SKalle Valoconfig IPW2200_MONITOR
104367a1092SKalle Valo	bool "Enable promiscuous mode"
105367a1092SKalle Valo	depends on IPW2200
106a7f7f624SMasahiro Yamada	help
107367a1092SKalle Valo	  Enables promiscuous/monitor mode support for the ipw2200 driver.
108367a1092SKalle Valo	  With this feature compiled into the driver, you can switch to
109367a1092SKalle Valo	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
110367a1092SKalle Valo	  mode, no packets can be sent.
111367a1092SKalle Valo
112367a1092SKalle Valoconfig IPW2200_RADIOTAP
113367a1092SKalle Valo	bool "Enable radiotap format 802.11 raw packet support"
114367a1092SKalle Valo	depends on IPW2200_MONITOR
115367a1092SKalle Valo
116367a1092SKalle Valoconfig IPW2200_PROMISCUOUS
117367a1092SKalle Valo	bool "Enable creation of a RF radiotap promiscuous interface"
118367a1092SKalle Valo	depends on IPW2200_MONITOR
119367a1092SKalle Valo	select IPW2200_RADIOTAP
120a7f7f624SMasahiro Yamada	help
121367a1092SKalle Valo	  Enables the creation of a second interface prefixed 'rtap'.
122367a1092SKalle Valo	  This second interface will provide every received in radiotap
123367a1092SKalle Valo	  format.
124367a1092SKalle Valo
125367a1092SKalle Valo	  This is useful for performing wireless network analysis while
126367a1092SKalle Valo	  maintaining an active association.
127367a1092SKalle Valo
128367a1092SKalle Valo	  Example usage:
129367a1092SKalle Valo
130367a1092SKalle Valo	    % modprobe ipw2200 rtap_iface=1
131367a1092SKalle Valo	    % ifconfig rtap0 up
132367a1092SKalle Valo	    % tethereal -i rtap0
133367a1092SKalle Valo
134367a1092SKalle Valo	  If you do not specify 'rtap_iface=1' as a module parameter then
135367a1092SKalle Valo	  the rtap interface will not be created and you will need to turn
136367a1092SKalle Valo	  it on via sysfs:
137367a1092SKalle Valo
138367a1092SKalle Valo	    % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
139367a1092SKalle Valo
140367a1092SKalle Valoconfig IPW2200_QOS
141367a1092SKalle Valo	bool "Enable QoS support"
142367a1092SKalle Valo	depends on IPW2200
143367a1092SKalle Valo
144367a1092SKalle Valoconfig IPW2200_DEBUG
145367a1092SKalle Valo	bool "Enable full debugging output in IPW2200 module."
146367a1092SKalle Valo	depends on IPW2200
147a7f7f624SMasahiro Yamada	help
148367a1092SKalle Valo	  This option will enable low level debug tracing output for IPW2200.
149367a1092SKalle Valo
150367a1092SKalle Valo	  Note, normal debug code is already compiled in. This low level
151367a1092SKalle Valo	  debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
152367a1092SKalle Valo	  will result in the kernel module being ~70 larger.  Most users
153367a1092SKalle Valo	  will typically not need this high verbosity debug information.
154367a1092SKalle Valo
155367a1092SKalle Valo	  If you are not sure, say N here.
156367a1092SKalle Valo
157367a1092SKalle Valoconfig LIBIPW
158367a1092SKalle Valo	tristate
159367a1092SKalle Valo	depends on PCI && CFG80211
160367a1092SKalle Valo	select WIRELESS_EXT
161367a1092SKalle Valo	select WEXT_SPY
162367a1092SKalle Valo	select CRYPTO
163367a1092SKalle Valo	select CRYPTO_MICHAEL_MIC
164367a1092SKalle Valo	select CRC32
165367a1092SKalle Valo	select LIB80211
166367a1092SKalle Valo	select LIB80211_CRYPT_WEP
167367a1092SKalle Valo	select LIB80211_CRYPT_TKIP
168367a1092SKalle Valo	select LIB80211_CRYPT_CCMP
169a7f7f624SMasahiro Yamada	help
170367a1092SKalle Valo	This option enables the hardware independent IEEE 802.11
171367a1092SKalle Valo	networking stack.  This component is deprecated in favor of the
172367a1092SKalle Valo	mac80211 component.
173367a1092SKalle Valo
174367a1092SKalle Valoconfig LIBIPW_DEBUG
175367a1092SKalle Valo	bool "Full debugging output for the LIBIPW component"
176367a1092SKalle Valo	depends on LIBIPW
177a7f7f624SMasahiro Yamada	help
178367a1092SKalle Valo	  This option will enable debug tracing output for the
179367a1092SKalle Valo	  libipw component.
180367a1092SKalle Valo
181367a1092SKalle Valo	  This will result in the kernel module being ~70k larger.  You
182367a1092SKalle Valo	  can control which debug output is sent to the kernel log by
183367a1092SKalle Valo	  setting the value in
184367a1092SKalle Valo
185367a1092SKalle Valo	  /proc/net/ieee80211/debug_level
186367a1092SKalle Valo
187367a1092SKalle Valo	  For example:
188367a1092SKalle Valo
189367a1092SKalle Valo	  % echo 0x00000FFO > /proc/net/ieee80211/debug_level
190367a1092SKalle Valo
191367a1092SKalle Valo	  For a list of values you can assign to debug_level, you
192367a1092SKalle Valo	  can look at the bit mask values in ieee80211.h
193367a1092SKalle Valo
194367a1092SKalle Valo	  If you are not trying to debug or develop the libipw
195367a1092SKalle Valo	  component, you most likely want to say N here.
196