2011-09-30 11:40:20 -07:00
config IWLWIFI
tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
2010-01-22 14:22:52 -08:00
depends on PCI && MAC80211
2009-02-13 11:51:19 -08:00
select FW_LOADER
2011-01-21 15:26:39 -08:00
select NEW_LEDS
select LEDS_CLASS
select LEDS_TRIGGERS
select MAC80211_LEDS
2011-02-21 11:27:26 -08:00
---help---
Select to build the driver supporting the:
Intel Wireless WiFi Link Next-Gen AGN
This option enables support for use with the following hardware:
Intel Wireless WiFi Link 6250AGN Adapter
Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
Intel WiFi Link 1000BGN
Intel Wireless WiFi 5150AGN
Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
Intel 6005 Series Wi-Fi Adapters
Intel 6030 Series Wi-Fi Adapters
Intel Wireless WiFi Link 6150BGN 2 Adapter
Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
Intel 2000 Series Wi-Fi Adapters
This driver uses the kernel's mac80211 subsystem.
In order to use this driver, you will need a microcode (uCode)
image for it. You can obtain the microcode from:
<http://intellinuxwireless.org/>.
The microcode is typically installed in /lib/firmware. You can
look in the hotplug script /etc/hotplug/firmware.agent to
determine which directory FIRMWARE_DIR is set to when the script
runs.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/kbuild/modules.txt>. The
2011-09-30 11:40:20 -07:00
module will be called iwlwifi.
2008-03-25 16:33:36 -07:00
2010-08-12 12:15:55 -07:00
menu "Debugging Options"
2011-09-30 11:40:20 -07:00
depends on IWLWIFI
2010-08-12 12:15:55 -07:00
2008-07-21 18:54:42 +03:00
config IWLWIFI_DEBUG
2011-09-30 11:40:20 -07:00
bool "Enable full debugging output in the iwlwifi driver"
depends on IWLWIFI
2008-07-21 18:54:42 +03:00
---help---
This option will enable debug tracing output for the iwlwifi drivers
This will result in the kernel module being ~100k larger. You can
control which debug output is sent to the kernel log by setting the
value in
2011-10-10 07:27:07 -07:00
/sys/module/iwlwifi/parameters/debug
2008-07-21 18:54:42 +03:00
This entry will only exist if this option is enabled.
To set a value, simply echo an 8-byte hex value to the same file:
2011-10-10 07:27:07 -07:00
% echo 0x43fff > /sys/module/iwlwifi/parameters/debug
2008-07-21 18:54:42 +03:00
You can find the list of debug mask values in:
drivers/net/wireless/iwlwifi/iwl-debug.h
If this is your first time using this driver, you should say Y here
as the debug information can assist others in helping you resolve
any problems you may encounter.
config IWLWIFI_DEBUGFS
2011-09-30 11:40:20 -07:00
bool "iwlwifi debugfs support"
depends on IWLWIFI && MAC80211_DEBUGFS
2008-07-21 18:54:42 +03:00
---help---
2010-05-06 12:18:41 -07:00
Enable creation of debugfs files for the iwlwifi drivers. This
is a low-impact option that allows getting insight into the
driver's state at runtime.
2008-07-21 18:54:42 +03:00
2010-08-12 10:24:07 -07:00
config IWLWIFI_DEBUG_EXPERIMENTAL_UCODE
bool "Experimental uCode support"
2011-09-30 11:40:20 -07:00
depends on IWLWIFI && IWLWIFI_DEBUG
2010-08-12 10:24:07 -07:00
---help---
Enable use of experimental ucode for testing and debugging.
2009-10-02 13:44:02 -07:00
config IWLWIFI_DEVICE_TRACING
bool "iwlwifi device access tracing"
2011-09-30 11:40:20 -07:00
depends on IWLWIFI
2009-10-02 13:44:02 -07:00
depends on EVENT_TRACING
help
Say Y here to trace all commands, including TX frames and IO
accesses, sent to the device. If you say yes, iwlwifi will
register with the ftrace framework for event tracing and dump
all this information to the ringbuffer, you may need to
increase the ringbuffer size. See the ftrace documentation
for more information.
When tracing is not enabled, this option still has some
(though rather small) overhead.
If unsure, say Y so we can help you better when problems
occur.
2010-08-12 12:15:55 -07:00
endmenu
2009-10-02 13:44:02 -07:00
2011-11-30 13:24:06 -08:00
config IWLWIFI_DEVICE_TESTMODE
2011-11-28 16:54:52 -08:00
def_bool y
2011-09-30 11:40:20 -07:00
depends on IWLWIFI
2011-11-28 16:54:52 -08:00
depends on NL80211_TESTMODE
iwlwifi: support the svtool messages interactions through nl80211 test mode
This patch adds the feature to support the test mode operation through
the generic netlink channel NL80211_CMD_TESTMODE between intel
wireless device iwlwifi and the user space application svtool.
The main purpose is to create a transportation layer between the iwlwifi
device and the user space application so that the interaction between the
user space application svtool and the iwlwifi device in the kernel space is
in a way of generic netlink messaging.
The detail specific functions are:
1. The function iwl_testmode_cmd() is added to digest the svtool test command
from the user space application. The svtool test commands are categorized to
three types : commands to be processed by the device ucode, commands to access
the registers, and commands to be processed at the driver level(such as reload
the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers
and reply to user space regarding the command execution status. Extra data is
returned to the user space application if there's any.
2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous
messages from the iwlwifi device to the user space. Regardless the message types,
whenever there is a valid spontaneous message received by the iwlwifi ISR,
iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user
space. The message content is not attacked and the message parsing is left to
the user space application.
Implementation guidelines:
1. The generic netlink messaging for iwliwif test mode is through NL80211_CMD_TESTMODE
channel, therefore, the codes need to follow the regulations set by cfg80211.ko
to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi
device is indicated with ieee80211_ops and can be actually accessed.
Therefore, a callback iwl_testmode_cmd() is added to the structure
iwlagn_hw_ops in iwl-agn.c.
2. It intends to utilize those low level device access APIs from iwlwifi device driver
(ie. iwlagn.ko) rather than creating it's own set of device access functions.
For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused.
3. The main functions are maintained in new files instead of spreading all over the
existing iwlwifi driver files.
The new files added are :
drivers/net/wireless/iwlwifi/iwl-sv-open.c
- to handle the user space test mode application command
and reply the respective command status to the user space application.
- to multicast the spontaneous messages from device to user space.
drivers/net/wireless/iwlwifi/iwl-testmode.h
- the commonly referenced definitions for the TLVs used in
the generic netlink messages
Signed-off-by: Cindy H. Kao <cindy.h.kao@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
2011-05-06 10:40:15 -07:00
help
2011-11-30 13:24:06 -08:00
This option enables the testmode support for iwlwifi device through
NL80211_TESTMODE. This provide the capabilities of enable user space
validation applications to interacts with the device through the
generic netlink message via NL80211_TESTMODE channel.
2011-12-02 07:33:57 -08:00
config IWLWIFI_P2P
bool "iwlwifi experimental P2P support"
depends on IWLWIFI
help
This option enables experimental P2P support for some devices
based on microcode support. Since P2P support is still under
development, this option may even enable it for some devices
now that turn out to not support it in the future due to
microcode restrictions.
To determine if your microcode supports the experimental P2P
offered by this option, check if the driver advertises AP
support when it is loaded.
Say Y only if you want to experiment with P2P.