1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig IWLWIFI 3*4882a593Smuzhiyun tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " 4*4882a593Smuzhiyun depends on PCI && HAS_IOMEM && CFG80211 5*4882a593Smuzhiyun select FW_LOADER 6*4882a593Smuzhiyun help 7*4882a593Smuzhiyun Select to build the driver supporting the: 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun Intel Wireless WiFi Link Next-Gen AGN 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun This option enables support for use with the following hardware: 12*4882a593Smuzhiyun Intel Wireless WiFi Link 6250AGN Adapter 13*4882a593Smuzhiyun Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) 14*4882a593Smuzhiyun Intel WiFi Link 1000BGN 15*4882a593Smuzhiyun Intel Wireless WiFi 5150AGN 16*4882a593Smuzhiyun Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN 17*4882a593Smuzhiyun Intel 6005 Series Wi-Fi Adapters 18*4882a593Smuzhiyun Intel 6030 Series Wi-Fi Adapters 19*4882a593Smuzhiyun Intel Wireless WiFi Link 6150BGN 2 Adapter 20*4882a593Smuzhiyun Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) 21*4882a593Smuzhiyun Intel 2000 Series Wi-Fi Adapters 22*4882a593Smuzhiyun Intel 7260 Wi-Fi Adapter 23*4882a593Smuzhiyun Intel 3160 Wi-Fi Adapter 24*4882a593Smuzhiyun Intel 7265 Wi-Fi Adapter 25*4882a593Smuzhiyun Intel 8260 Wi-Fi Adapter 26*4882a593Smuzhiyun Intel 3165 Wi-Fi Adapter 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun This driver uses the kernel's mac80211 subsystem. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun In order to use this driver, you will need a firmware 32*4882a593Smuzhiyun image for it. You can obtain the microcode from: 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>. 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun The firmware is typically installed in /lib/firmware. You can 37*4882a593Smuzhiyun look in the hotplug script /etc/hotplug/firmware.agent to 38*4882a593Smuzhiyun determine which directory FIRMWARE_DIR is set to when the script 39*4882a593Smuzhiyun runs. 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun If you want to compile the driver as a module ( = code which can be 42*4882a593Smuzhiyun inserted in and removed from the running kernel whenever you want), 43*4882a593Smuzhiyun say M here and read <file:Documentation/kbuild/modules.rst>. The 44*4882a593Smuzhiyun module will be called iwlwifi. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunif IWLWIFI 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig IWLWIFI_LEDS 49*4882a593Smuzhiyun bool 50*4882a593Smuzhiyun depends on LEDS_CLASS=y || LEDS_CLASS=IWLWIFI 51*4882a593Smuzhiyun depends on IWLMVM || IWLDVM 52*4882a593Smuzhiyun select LEDS_TRIGGERS 53*4882a593Smuzhiyun select MAC80211_LEDS 54*4882a593Smuzhiyun default y 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunconfig IWLDVM 57*4882a593Smuzhiyun tristate "Intel Wireless WiFi DVM Firmware support" 58*4882a593Smuzhiyun depends on MAC80211 59*4882a593Smuzhiyun help 60*4882a593Smuzhiyun This is the driver that supports the DVM firmware. The list 61*4882a593Smuzhiyun of the devices that use this firmware is available here: 62*4882a593Smuzhiyun https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunconfig IWLMVM 65*4882a593Smuzhiyun tristate "Intel Wireless WiFi MVM Firmware support" 66*4882a593Smuzhiyun select WANT_DEV_COREDUMP 67*4882a593Smuzhiyun depends on MAC80211 68*4882a593Smuzhiyun help 69*4882a593Smuzhiyun This is the driver that supports the MVM firmware. The list 70*4882a593Smuzhiyun of the devices that use this firmware is available here: 71*4882a593Smuzhiyun https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun# don't call it _MODULE -- will confuse Kconfig/fixdep/... 74*4882a593Smuzhiyunconfig IWLWIFI_OPMODE_MODULAR 75*4882a593Smuzhiyun bool 76*4882a593Smuzhiyun default y if IWLDVM=m 77*4882a593Smuzhiyun default y if IWLMVM=m 78*4882a593Smuzhiyun 79*4882a593Smuzhiyuncomment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM" 80*4882a593Smuzhiyun depends on IWLDVM=n && IWLMVM=n 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig IWLWIFI_BCAST_FILTERING 83*4882a593Smuzhiyun bool "Enable broadcast filtering" 84*4882a593Smuzhiyun depends on IWLMVM 85*4882a593Smuzhiyun help 86*4882a593Smuzhiyun Say Y here to enable default bcast filtering configuration. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun Enabling broadcast filtering will drop any incoming wireless 89*4882a593Smuzhiyun broadcast frames, except some very specific predefined 90*4882a593Smuzhiyun patterns (e.g. incoming arp requests). 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun If unsure, don't enable this option, as some programs might 93*4882a593Smuzhiyun expect incoming broadcasts for their normal operations. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunmenu "Debugging Options" 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunconfig IWLWIFI_DEBUG 98*4882a593Smuzhiyun bool "Enable full debugging output in the iwlwifi driver" 99*4882a593Smuzhiyun help 100*4882a593Smuzhiyun This option will enable debug tracing output for the iwlwifi drivers 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun This will result in the kernel module being ~100k larger. You can 103*4882a593Smuzhiyun control which debug output is sent to the kernel log by setting the 104*4882a593Smuzhiyun value in 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun /sys/module/iwlwifi/parameters/debug 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun This entry will only exist if this option is enabled. 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun To set a value, simply echo an 8-byte hex value to the same file: 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun % echo 0x43fff > /sys/module/iwlwifi/parameters/debug 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun You can find the list of debug mask values in: 115*4882a593Smuzhiyun drivers/net/wireless/iwlwifi/iwl-debug.h 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun If this is your first time using this driver, you should say Y here 118*4882a593Smuzhiyun as the debug information can assist others in helping you resolve 119*4882a593Smuzhiyun any problems you may encounter. 120*4882a593Smuzhiyun 121*4882a593Smuzhiyunconfig IWLWIFI_DEBUGFS 122*4882a593Smuzhiyun bool "iwlwifi debugfs support" 123*4882a593Smuzhiyun depends on MAC80211_DEBUGFS 124*4882a593Smuzhiyun help 125*4882a593Smuzhiyun Enable creation of debugfs files for the iwlwifi drivers. This 126*4882a593Smuzhiyun is a low-impact option that allows getting insight into the 127*4882a593Smuzhiyun driver's state at runtime. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig IWLWIFI_DEVICE_TRACING 130*4882a593Smuzhiyun bool "iwlwifi device access tracing" 131*4882a593Smuzhiyun depends on EVENT_TRACING 132*4882a593Smuzhiyun default y 133*4882a593Smuzhiyun help 134*4882a593Smuzhiyun Say Y here to trace all commands, including TX frames and IO 135*4882a593Smuzhiyun accesses, sent to the device. If you say yes, iwlwifi will 136*4882a593Smuzhiyun register with the ftrace framework for event tracing and dump 137*4882a593Smuzhiyun all this information to the ringbuffer, you may need to 138*4882a593Smuzhiyun increase the ringbuffer size. See the ftrace documentation 139*4882a593Smuzhiyun for more information. 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun When tracing is not enabled, this option still has some 142*4882a593Smuzhiyun (though rather small) overhead. 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun If unsure, say Y so we can help you better when problems 145*4882a593Smuzhiyun occur. 146*4882a593Smuzhiyunendmenu 147*4882a593Smuzhiyun 148*4882a593Smuzhiyunendif 149