18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Intel Centrino wireless drivers
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig IPW2100
78c2ecf20Sopenharmony_ci	tristate "Intel PRO/Wireless 2100 Network Connection"
88c2ecf20Sopenharmony_ci	depends on PCI && CFG80211
98c2ecf20Sopenharmony_ci	select WIRELESS_EXT
108c2ecf20Sopenharmony_ci	select WEXT_SPY
118c2ecf20Sopenharmony_ci	select WEXT_PRIV
128c2ecf20Sopenharmony_ci	select FW_LOADER
138c2ecf20Sopenharmony_ci	select LIB80211
148c2ecf20Sopenharmony_ci	select LIBIPW
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  A driver for the Intel PRO/Wireless 2100 Network
178c2ecf20Sopenharmony_ci	  Connection 802.11b wireless network adapter.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2100.rst>
208c2ecf20Sopenharmony_ci	  for information on the capabilities currently enabled in this driver
218c2ecf20Sopenharmony_ci	  and for tips for debugging issues and problems.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	  In order to use this driver, you will need a firmware image for it.
248c2ecf20Sopenharmony_ci	  You can obtain the firmware from
258c2ecf20Sopenharmony_ci	  <http://ipw2100.sf.net/>.  Once you have the firmware image, you
268c2ecf20Sopenharmony_ci	  will need to place it in /lib/firmware.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	  You will also very likely need the Wireless Tools in order to
298c2ecf20Sopenharmony_ci	  configure your card:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  It is recommended that you compile this driver as a module (M)
348c2ecf20Sopenharmony_ci	  rather than built-in (Y). This driver requires firmware at device
358c2ecf20Sopenharmony_ci	  initialization time, and when built-in this typically happens
368c2ecf20Sopenharmony_ci	  before the filesystem is accessible (hence firmware will be
378c2ecf20Sopenharmony_ci	  unavailable and initialization will fail). If you do choose to build
388c2ecf20Sopenharmony_ci	  this driver into your kernel image, you can avoid this problem by
398c2ecf20Sopenharmony_ci	  including the firmware and a firmware loader in an initramfs.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig IPW2100_MONITOR
428c2ecf20Sopenharmony_ci	bool "Enable promiscuous mode"
438c2ecf20Sopenharmony_ci	depends on IPW2100
448c2ecf20Sopenharmony_ci	help
458c2ecf20Sopenharmony_ci	  Enables promiscuous/monitor mode support for the ipw2100 driver.
468c2ecf20Sopenharmony_ci	  With this feature compiled into the driver, you can switch to
478c2ecf20Sopenharmony_ci	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
488c2ecf20Sopenharmony_ci	  mode, no packets can be sent.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig IPW2100_DEBUG
518c2ecf20Sopenharmony_ci	bool "Enable full debugging output in IPW2100 module."
528c2ecf20Sopenharmony_ci	depends on IPW2100
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  This option will enable debug tracing output for the IPW2100.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  This will result in the kernel module being ~60k larger.  You can
578c2ecf20Sopenharmony_ci	  control which debug output is sent to the kernel log by setting the
588c2ecf20Sopenharmony_ci	  value in
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	  /sys/bus/pci/drivers/ipw2100/debug_level
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  This entry will only exist if this option is enabled.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci	  If you are not trying to debug or develop the IPW2100 driver, you
658c2ecf20Sopenharmony_ci	  most likely want to say N here.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciconfig IPW2200
688c2ecf20Sopenharmony_ci	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
698c2ecf20Sopenharmony_ci	depends on PCI && CFG80211
708c2ecf20Sopenharmony_ci	select CFG80211_WEXT_EXPORT
718c2ecf20Sopenharmony_ci	select WIRELESS_EXT
728c2ecf20Sopenharmony_ci	select WEXT_SPY
738c2ecf20Sopenharmony_ci	select WEXT_PRIV
748c2ecf20Sopenharmony_ci	select FW_LOADER
758c2ecf20Sopenharmony_ci	select LIB80211
768c2ecf20Sopenharmony_ci	select LIBIPW
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
798c2ecf20Sopenharmony_ci	  Connection adapters.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci	  See <file:Documentation/networking/device_drivers/wifi/intel/ipw2200.rst>
828c2ecf20Sopenharmony_ci	  for information on the capabilities currently enabled in this
838c2ecf20Sopenharmony_ci	  driver and for tips for debugging issues and problems.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  In order to use this driver, you will need a firmware image for it.
868c2ecf20Sopenharmony_ci	  You can obtain the firmware from
878c2ecf20Sopenharmony_ci	  <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200
888c2ecf20Sopenharmony_ci	  for information on where to install the firmware images.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci	  You will also very likely need the Wireless Tools in order to
918c2ecf20Sopenharmony_ci	  configure your card:
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci	  <https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci	  It is recommended that you compile this driver as a module (M)
968c2ecf20Sopenharmony_ci	  rather than built-in (Y). This driver requires firmware at device
978c2ecf20Sopenharmony_ci	  initialization time, and when built-in this typically happens
988c2ecf20Sopenharmony_ci	  before the filesystem is accessible (hence firmware will be
998c2ecf20Sopenharmony_ci	  unavailable and initialization will fail). If you do choose to build
1008c2ecf20Sopenharmony_ci	  this driver into your kernel image, you can avoid this problem by
1018c2ecf20Sopenharmony_ci	  including the firmware and a firmware loader in an initramfs.
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciconfig IPW2200_MONITOR
1048c2ecf20Sopenharmony_ci	bool "Enable promiscuous mode"
1058c2ecf20Sopenharmony_ci	depends on IPW2200
1068c2ecf20Sopenharmony_ci	help
1078c2ecf20Sopenharmony_ci	  Enables promiscuous/monitor mode support for the ipw2200 driver.
1088c2ecf20Sopenharmony_ci	  With this feature compiled into the driver, you can switch to
1098c2ecf20Sopenharmony_ci	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
1108c2ecf20Sopenharmony_ci	  mode, no packets can be sent.
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig IPW2200_RADIOTAP
1138c2ecf20Sopenharmony_ci	bool "Enable radiotap format 802.11 raw packet support"
1148c2ecf20Sopenharmony_ci	depends on IPW2200_MONITOR
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciconfig IPW2200_PROMISCUOUS
1178c2ecf20Sopenharmony_ci	bool "Enable creation of a RF radiotap promiscuous interface"
1188c2ecf20Sopenharmony_ci	depends on IPW2200_MONITOR
1198c2ecf20Sopenharmony_ci	select IPW2200_RADIOTAP
1208c2ecf20Sopenharmony_ci	help
1218c2ecf20Sopenharmony_ci	  Enables the creation of a second interface prefixed 'rtap'.
1228c2ecf20Sopenharmony_ci	  This second interface will provide every received in radiotap
1238c2ecf20Sopenharmony_ci	  format.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci	  This is useful for performing wireless network analysis while
1268c2ecf20Sopenharmony_ci	  maintaining an active association.
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci	  Example usage:
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci	    % modprobe ipw2200 rtap_iface=1
1318c2ecf20Sopenharmony_ci	    % ifconfig rtap0 up
1328c2ecf20Sopenharmony_ci	    % tethereal -i rtap0
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci	  If you do not specify 'rtap_iface=1' as a module parameter then
1358c2ecf20Sopenharmony_ci	  the rtap interface will not be created and you will need to turn
1368c2ecf20Sopenharmony_ci	  it on via sysfs:
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	    % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig IPW2200_QOS
1418c2ecf20Sopenharmony_ci	bool "Enable QoS support"
1428c2ecf20Sopenharmony_ci	depends on IPW2200
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig IPW2200_DEBUG
1458c2ecf20Sopenharmony_ci	bool "Enable full debugging output in IPW2200 module."
1468c2ecf20Sopenharmony_ci	depends on IPW2200
1478c2ecf20Sopenharmony_ci	help
1488c2ecf20Sopenharmony_ci	  This option will enable low level debug tracing output for IPW2200.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  Note, normal debug code is already compiled in. This low level
1518c2ecf20Sopenharmony_ci	  debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
1528c2ecf20Sopenharmony_ci	  will result in the kernel module being ~70 larger.  Most users
1538c2ecf20Sopenharmony_ci	  will typically not need this high verbosity debug information.
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci	  If you are not sure, say N here.
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ciconfig LIBIPW
1588c2ecf20Sopenharmony_ci	tristate
1598c2ecf20Sopenharmony_ci	depends on PCI && CFG80211
1608c2ecf20Sopenharmony_ci	select WIRELESS_EXT
1618c2ecf20Sopenharmony_ci	select WEXT_SPY
1628c2ecf20Sopenharmony_ci	select CRYPTO
1638c2ecf20Sopenharmony_ci	select CRYPTO_MICHAEL_MIC
1648c2ecf20Sopenharmony_ci	select CRC32
1658c2ecf20Sopenharmony_ci	select LIB80211
1668c2ecf20Sopenharmony_ci	select LIB80211_CRYPT_WEP
1678c2ecf20Sopenharmony_ci	select LIB80211_CRYPT_TKIP
1688c2ecf20Sopenharmony_ci	select LIB80211_CRYPT_CCMP
1698c2ecf20Sopenharmony_ci	help
1708c2ecf20Sopenharmony_ci	This option enables the hardware independent IEEE 802.11
1718c2ecf20Sopenharmony_ci	networking stack.  This component is deprecated in favor of the
1728c2ecf20Sopenharmony_ci	mac80211 component.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciconfig LIBIPW_DEBUG
1758c2ecf20Sopenharmony_ci	bool "Full debugging output for the LIBIPW component"
1768c2ecf20Sopenharmony_ci	depends on LIBIPW
1778c2ecf20Sopenharmony_ci	help
1788c2ecf20Sopenharmony_ci	  This option will enable debug tracing output for the
1798c2ecf20Sopenharmony_ci	  libipw component.
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci	  This will result in the kernel module being ~70k larger.  You
1828c2ecf20Sopenharmony_ci	  can control which debug output is sent to the kernel log by
1838c2ecf20Sopenharmony_ci	  setting the value in
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci	  /proc/net/ieee80211/debug_level
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci	  For example:
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci	  % echo 0x00000FFO > /proc/net/ieee80211/debug_level
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci	  For a list of values you can assign to debug_level, you
1928c2ecf20Sopenharmony_ci	  can look at the bit mask values in ieee80211.h
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci	  If you are not trying to debug or develop the libipw
1958c2ecf20Sopenharmony_ci	  component, you most likely want to say N here.
196