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