xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/intel/ipw2x00/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Intel Centrino wireless drivers
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig IPW2100
7*4882a593Smuzhiyun	tristate "Intel PRO/Wireless 2100 Network Connection"
8*4882a593Smuzhiyun	depends on PCI && CFG80211
9*4882a593Smuzhiyun	select WIRELESS_EXT
10*4882a593Smuzhiyun	select WEXT_SPY
11*4882a593Smuzhiyun	select WEXT_PRIV
12*4882a593Smuzhiyun	select FW_LOADER
13*4882a593Smuzhiyun	select LIB80211
14*4882a593Smuzhiyun	select LIBIPW
15*4882a593Smuzhiyun	help
16*4882a593Smuzhiyun	  A driver for the Intel PRO/Wireless 2100 Network
17*4882a593Smuzhiyun	  Connection 802.11b wireless network adapter.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2100.rst>
20*4882a593Smuzhiyun	  for information on the capabilities currently enabled in this driver
21*4882a593Smuzhiyun	  and for tips for debugging issues and problems.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	  In order to use this driver, you will need a firmware image for it.
24*4882a593Smuzhiyun	  You can obtain the firmware from
25*4882a593Smuzhiyun	  <http://ipw2100.sf.net/>.  Once you have the firmware image, you
26*4882a593Smuzhiyun	  will need to place it in /lib/firmware.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	  You will also very likely need the Wireless Tools in order to
29*4882a593Smuzhiyun	  configure your card:
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	  It is recommended that you compile this driver as a module (M)
34*4882a593Smuzhiyun	  rather than built-in (Y). This driver requires firmware at device
35*4882a593Smuzhiyun	  initialization time, and when built-in this typically happens
36*4882a593Smuzhiyun	  before the filesystem is accessible (hence firmware will be
37*4882a593Smuzhiyun	  unavailable and initialization will fail). If you do choose to build
38*4882a593Smuzhiyun	  this driver into your kernel image, you can avoid this problem by
39*4882a593Smuzhiyun	  including the firmware and a firmware loader in an initramfs.
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunconfig IPW2100_MONITOR
42*4882a593Smuzhiyun	bool "Enable promiscuous mode"
43*4882a593Smuzhiyun	depends on IPW2100
44*4882a593Smuzhiyun	help
45*4882a593Smuzhiyun	  Enables promiscuous/monitor mode support for the ipw2100 driver.
46*4882a593Smuzhiyun	  With this feature compiled into the driver, you can switch to
47*4882a593Smuzhiyun	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
48*4882a593Smuzhiyun	  mode, no packets can be sent.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunconfig IPW2100_DEBUG
51*4882a593Smuzhiyun	bool "Enable full debugging output in IPW2100 module."
52*4882a593Smuzhiyun	depends on IPW2100
53*4882a593Smuzhiyun	help
54*4882a593Smuzhiyun	  This option will enable debug tracing output for the IPW2100.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	  This will result in the kernel module being ~60k larger.  You can
57*4882a593Smuzhiyun	  control which debug output is sent to the kernel log by setting the
58*4882a593Smuzhiyun	  value in
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun	  /sys/bus/pci/drivers/ipw2100/debug_level
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	  This entry will only exist if this option is enabled.
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun	  If you are not trying to debug or develop the IPW2100 driver, you
65*4882a593Smuzhiyun	  most likely want to say N here.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunconfig IPW2200
68*4882a593Smuzhiyun	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
69*4882a593Smuzhiyun	depends on PCI && CFG80211
70*4882a593Smuzhiyun	select CFG80211_WEXT_EXPORT
71*4882a593Smuzhiyun	select WIRELESS_EXT
72*4882a593Smuzhiyun	select WEXT_SPY
73*4882a593Smuzhiyun	select WEXT_PRIV
74*4882a593Smuzhiyun	select FW_LOADER
75*4882a593Smuzhiyun	select LIB80211
76*4882a593Smuzhiyun	select LIBIPW
77*4882a593Smuzhiyun	help
78*4882a593Smuzhiyun	  A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
79*4882a593Smuzhiyun	  Connection adapters.
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2200.rst>
82*4882a593Smuzhiyun	  for information on the capabilities currently enabled in this
83*4882a593Smuzhiyun	  driver and for tips for debugging issues and problems.
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	  In order to use this driver, you will need a firmware image for it.
86*4882a593Smuzhiyun	  You can obtain the firmware from
87*4882a593Smuzhiyun	  <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200
88*4882a593Smuzhiyun	  for information on where to install the firmware images.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun	  You will also very likely need the Wireless Tools in order to
91*4882a593Smuzhiyun	  configure your card:
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun	  It is recommended that you compile this driver as a module (M)
96*4882a593Smuzhiyun	  rather than built-in (Y). This driver requires firmware at device
97*4882a593Smuzhiyun	  initialization time, and when built-in this typically happens
98*4882a593Smuzhiyun	  before the filesystem is accessible (hence firmware will be
99*4882a593Smuzhiyun	  unavailable and initialization will fail). If you do choose to build
100*4882a593Smuzhiyun	  this driver into your kernel image, you can avoid this problem by
101*4882a593Smuzhiyun	  including the firmware and a firmware loader in an initramfs.
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunconfig IPW2200_MONITOR
104*4882a593Smuzhiyun	bool "Enable promiscuous mode"
105*4882a593Smuzhiyun	depends on IPW2200
106*4882a593Smuzhiyun	help
107*4882a593Smuzhiyun	  Enables promiscuous/monitor mode support for the ipw2200 driver.
108*4882a593Smuzhiyun	  With this feature compiled into the driver, you can switch to
109*4882a593Smuzhiyun	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
110*4882a593Smuzhiyun	  mode, no packets can be sent.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig IPW2200_RADIOTAP
113*4882a593Smuzhiyun	bool "Enable radiotap format 802.11 raw packet support"
114*4882a593Smuzhiyun	depends on IPW2200_MONITOR
115*4882a593Smuzhiyun
116*4882a593Smuzhiyunconfig IPW2200_PROMISCUOUS
117*4882a593Smuzhiyun	bool "Enable creation of a RF radiotap promiscuous interface"
118*4882a593Smuzhiyun	depends on IPW2200_MONITOR
119*4882a593Smuzhiyun	select IPW2200_RADIOTAP
120*4882a593Smuzhiyun	help
121*4882a593Smuzhiyun	  Enables the creation of a second interface prefixed 'rtap'.
122*4882a593Smuzhiyun	  This second interface will provide every received in radiotap
123*4882a593Smuzhiyun	  format.
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun	  This is useful for performing wireless network analysis while
126*4882a593Smuzhiyun	  maintaining an active association.
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun	  Example usage:
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun	    % modprobe ipw2200 rtap_iface=1
131*4882a593Smuzhiyun	    % ifconfig rtap0 up
132*4882a593Smuzhiyun	    % tethereal -i rtap0
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun	  If you do not specify 'rtap_iface=1' as a module parameter then
135*4882a593Smuzhiyun	  the rtap interface will not be created and you will need to turn
136*4882a593Smuzhiyun	  it on via sysfs:
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun	    % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunconfig IPW2200_QOS
141*4882a593Smuzhiyun	bool "Enable QoS support"
142*4882a593Smuzhiyun	depends on IPW2200
143*4882a593Smuzhiyun
144*4882a593Smuzhiyunconfig IPW2200_DEBUG
145*4882a593Smuzhiyun	bool "Enable full debugging output in IPW2200 module."
146*4882a593Smuzhiyun	depends on IPW2200
147*4882a593Smuzhiyun	help
148*4882a593Smuzhiyun	  This option will enable low level debug tracing output for IPW2200.
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun	  Note, normal debug code is already compiled in. This low level
151*4882a593Smuzhiyun	  debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
152*4882a593Smuzhiyun	  will result in the kernel module being ~70 larger.  Most users
153*4882a593Smuzhiyun	  will typically not need this high verbosity debug information.
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun	  If you are not sure, say N here.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunconfig LIBIPW
158*4882a593Smuzhiyun	tristate
159*4882a593Smuzhiyun	depends on PCI && CFG80211
160*4882a593Smuzhiyun	select WIRELESS_EXT
161*4882a593Smuzhiyun	select WEXT_SPY
162*4882a593Smuzhiyun	select CRYPTO
163*4882a593Smuzhiyun	select CRYPTO_MICHAEL_MIC
164*4882a593Smuzhiyun	select CRC32
165*4882a593Smuzhiyun	select LIB80211
166*4882a593Smuzhiyun	select LIB80211_CRYPT_WEP
167*4882a593Smuzhiyun	select LIB80211_CRYPT_TKIP
168*4882a593Smuzhiyun	select LIB80211_CRYPT_CCMP
169*4882a593Smuzhiyun	help
170*4882a593Smuzhiyun	This option enables the hardware independent IEEE 802.11
171*4882a593Smuzhiyun	networking stack.  This component is deprecated in favor of the
172*4882a593Smuzhiyun	mac80211 component.
173*4882a593Smuzhiyun
174*4882a593Smuzhiyunconfig LIBIPW_DEBUG
175*4882a593Smuzhiyun	bool "Full debugging output for the LIBIPW component"
176*4882a593Smuzhiyun	depends on LIBIPW
177*4882a593Smuzhiyun	help
178*4882a593Smuzhiyun	  This option will enable debug tracing output for the
179*4882a593Smuzhiyun	  libipw component.
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	  This will result in the kernel module being ~70k larger.  You
182*4882a593Smuzhiyun	  can control which debug output is sent to the kernel log by
183*4882a593Smuzhiyun	  setting the value in
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun	  /proc/net/ieee80211/debug_level
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun	  For example:
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun	  % echo 0x00000FFO > /proc/net/ieee80211/debug_level
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun	  For a list of values you can assign to debug_level, you
192*4882a593Smuzhiyun	  can look at the bit mask values in ieee80211.h
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	  If you are not trying to debug or develop the libipw
195*4882a593Smuzhiyun	  component, you most likely want to say N here.
196