xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/intel/iwlwifi/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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