# SPDX-License-Identifier: GPL-2.0-only
#
# Intel Centrino wireless drivers
#

config IPW2100
	tristate "Intel PRO/Wireless 2100 Network Connection"
	depends on PCI && CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select LIB80211
	select LIBIPW
	help
	  A driver for the Intel PRO/Wireless 2100 Network
	  Connection 802.11b wireless network adapter.

	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2100.rst>
	  for information on the capabilities currently enabled in this driver
	  and for tips for debugging issues and problems.

	  In order to use this driver, you will need a firmware image for it.
	  You can obtain the firmware from
	  <http://ipw2100.sf.net/>.  Once you have the firmware image, you
	  will need to place it in /lib/firmware.

	  You will also very likely need the Wireless Tools in order to
	  configure your card:

	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.

	  It is recommended that you compile this driver as a module (M)
	  rather than built-in (Y). This driver requires firmware at device
	  initialization time, and when built-in this typically happens
	  before the filesystem is accessible (hence firmware will be
	  unavailable and initialization will fail). If you do choose to build
	  this driver into your kernel image, you can avoid this problem by
	  including the firmware and a firmware loader in an initramfs.

config IPW2100_MONITOR
	bool "Enable promiscuous mode"
	depends on IPW2100
	help
	  Enables promiscuous/monitor mode support for the ipw2100 driver.
	  With this feature compiled into the driver, you can switch to
	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
	  mode, no packets can be sent.

config IPW2100_DEBUG
	bool "Enable full debugging output in IPW2100 module."
	depends on IPW2100
	help
	  This option will enable debug tracing output for the IPW2100.

	  This will result in the kernel module being ~60k larger.  You can
	  control which debug output is sent to the kernel log by setting the
	  value in

	  /sys/bus/pci/drivers/ipw2100/debug_level

	  This entry will only exist if this option is enabled.

	  If you are not trying to debug or develop the IPW2100 driver, you
	  most likely want to say N here.

config IPW2200
	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
	depends on PCI && CFG80211
	select CFG80211_WEXT_EXPORT
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select LIB80211
	select LIBIPW
	help
	  A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
	  Connection adapters.

	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2200.rst>
	  for information on the capabilities currently enabled in this
	  driver and for tips for debugging issues and problems.

	  In order to use this driver, you will need a firmware image for it.
	  You can obtain the firmware from
	  <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200
	  for information on where to install the firmware images.

	  You will also very likely need the Wireless Tools in order to
	  configure your card:

	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.

	  It is recommended that you compile this driver as a module (M)
	  rather than built-in (Y). This driver requires firmware at device
	  initialization time, and when built-in this typically happens
	  before the filesystem is accessible (hence firmware will be
	  unavailable and initialization will fail). If you do choose to build
	  this driver into your kernel image, you can avoid this problem by
	  including the firmware and a firmware loader in an initramfs.

config IPW2200_MONITOR
	bool "Enable promiscuous mode"
	depends on IPW2200
	help
	  Enables promiscuous/monitor mode support for the ipw2200 driver.
	  With this feature compiled into the driver, you can switch to
	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
	  mode, no packets can be sent.

config IPW2200_RADIOTAP
	bool "Enable radiotap format 802.11 raw packet support"
	depends on IPW2200_MONITOR

config IPW2200_PROMISCUOUS
	bool "Enable creation of a RF radiotap promiscuous interface"
	depends on IPW2200_MONITOR
	select IPW2200_RADIOTAP
	help
	  Enables the creation of a second interface prefixed 'rtap'.
	  This second interface will provide every received in radiotap
	  format.

	  This is useful for performing wireless network analysis while
	  maintaining an active association.

	  Example usage:

	    % modprobe ipw2200 rtap_iface=1
	    % ifconfig rtap0 up
	    % tethereal -i rtap0

	  If you do not specify 'rtap_iface=1' as a module parameter then
	  the rtap interface will not be created and you will need to turn
	  it on via sysfs:

	    % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface

config IPW2200_QOS
	bool "Enable QoS support"
	depends on IPW2200

config IPW2200_DEBUG
	bool "Enable full debugging output in IPW2200 module."
	depends on IPW2200
	help
	  This option will enable low level debug tracing output for IPW2200.

	  Note, normal debug code is already compiled in. This low level
	  debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
	  will result in the kernel module being ~70 larger.  Most users
	  will typically not need this high verbosity debug information.

	  If you are not sure, say N here.

config LIBIPW
	tristate
	depends on PCI && CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select CRYPTO
	select CRYPTO_MICHAEL_MIC
	select CRC32
	select LIB80211
	select LIB80211_CRYPT_WEP
	select LIB80211_CRYPT_TKIP
	select LIB80211_CRYPT_CCMP
	help
	This option enables the hardware independent IEEE 802.11
	networking stack.  This component is deprecated in favor of the
	mac80211 component.

config LIBIPW_DEBUG
	bool "Full debugging output for the LIBIPW component"
	depends on LIBIPW
	help
	  This option will enable debug tracing output for the
	  libipw component.

	  This will result in the kernel module being ~70k larger.  You
	  can control which debug output is sent to the kernel log by
	  setting the value in

	  /proc/net/ieee80211/debug_level

	  For example:

	  % echo 0x00000FFO > /proc/net/ieee80211/debug_level

	  For a list of values you can assign to debug_level, you
	  can look at the bit mask values in ieee80211.h

	  If you are not trying to debug or develop the libipw
	  component, you most likely want to say N here.