Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6cd15a9d authored by Jeff Garzik's avatar Jeff Garzik Committed by Jeff Garzik
Browse files

Automatic merge of /spare/repo/netdev-2.6 branch we18-ieee80211

parents ff1d2767 43f66a6c
Loading
Loading
Loading
Loading
+246 −0
Original line number Original line Diff line number Diff line

===========================
Intel(R) PRO/Wireless 2100 Network Connection Driver for Linux
README.ipw2100

March 14, 2005

===========================
Index
---------------------------
0. Introduction
1. Release 1.1.0 Current Features
2. Command Line Parameters
3. Sysfs Helper Files
4. Radio Kill Switch
5. Dynamic Firmware
6. Power Management
7. Support
8. License


===========================
0. Introduction
------------ -----   -----       ----       ---       --         -     

This document provides a brief overview of the features supported by the 
IPW2100 driver project.  The main project website, where the latest 
development version of the driver can be found, is:

	http://ipw2100.sourceforge.net

There you can find the not only the latest releases, but also information about
potential fixes and patches, as well as links to the development mailing list
for the driver project.


===========================
1. Release 1.1.0 Current Supported Features
---------------------------     
- Managed (BSS) and Ad-Hoc (IBSS)
- WEP (shared key and open)
- Wireless Tools support 
- 802.1x (tested with XSupplicant 1.0.1)

Enabled (but not supported) features:
- Monitor/RFMon mode
- WPA/WPA2

The distinction between officially supported and enabled is a reflection
on the amount of validation and interoperability testing that has been
performed on a given feature.


===========================
2. Command Line Parameters
---------------------------     

If the driver is built as a module, the following optional parameters are used
by entering them on the command line with the modprobe command using this
syntax:

	modprobe ipw2100 [<option>=<VAL1><,VAL2>...]

For example, to disable the radio on driver loading, enter:

	modprobe ipw2100 disable=1

The ipw2100 driver supports the following module parameters:

Name		Value		Example:
debug		0x0-0xffffffff	debug=1024
mode		0,1,2		mode=1   /* AdHoc */
channel		int		channel=3 /* Only valid in AdHoc or Monitor */
associate	boolean		associate=0 /* Do NOT auto associate */
disable		boolean		disable=1 /* Do not power the HW */


===========================
3. Sysfs Helper Files
---------------------------     

There are several ways to control the behavior of the driver.  Many of the 
general capabilities are exposed through the Wireless Tools (iwconfig).  There
are a few capabilities that are exposed through entries in the Linux Sysfs.


----- Driver Level ------
For the driver level files, look in /sys/bus/pci/drivers/ipw2100/

  debug_level  
	
	This controls the same global as the 'debug' module parameter.  For 
        information on the various debugging levels available, run the 'dvals'
	script found in the driver source directory.

	NOTE:  'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn
	       on.

----- Device Level ------
For the device level files look in
	
	/sys/bus/pci/drivers/ipw2100/{PCI-ID}/

For example:
	/sys/bus/pci/drivers/ipw2100/0000:02:01.0

For the device level files, see /sys/bus/pci/drivers/ipw2100:

  rf_kill
	read - 
	0 = RF kill not enabled (radio on)
	1 = SW based RF kill active (radio off)
	2 = HW based RF kill active (radio off)
	3 = Both HW and SW RF kill active (radio off)
	write -
	0 = If SW based RF kill active, turn the radio back on
	1 = If radio is on, activate SW based RF kill

	NOTE: If you enable the SW based RF kill and then toggle the HW
  	based RF kill from ON -> OFF -> ON, the radio will NOT come back on


===========================
4. Radio Kill Switch
---------------------------
Most laptops provide the ability for the user to physically disable the radio.
Some vendors have implemented this as a physical switch that requires no
software to turn the radio off and on.  On other laptops, however, the switch
is controlled through a button being pressed and a software driver then making
calls to turn the radio off and on.  This is referred to as a "software based
RF kill switch"

See the Sysfs helper file 'rf_kill' for determining the state of the RF switch
on your system.


===========================
5. Dynamic Firmware
---------------------------     
As the firmware is licensed under a restricted use license, it can not be 
included within the kernel sources.  To enable the IPW2100 you will need a 
firmware image to load into the wireless NIC's processors.

You can obtain these images from <http://ipw2100.sf.net/firmware.php>.

See INSTALL for instructions on installing the firmware.


===========================
6. Power Management
---------------------------     
The IPW2100 supports the configuration of the Power Save Protocol 
through a private wireless extension interface.  The IPW2100 supports 
the following different modes:

	off	No power management.  Radio is always on.
	on	Automatic power management
	1-5	Different levels of power management.  The higher the 
		number the greater the power savings, but with an impact to 
		packet latencies. 

Power management works by powering down the radio after a certain 
interval of time has passed where no packets are passed through the 
radio.  Once powered down, the radio remains in that state for a given 
period of time.  For higher power savings, the interval between last 
packet processed to sleep is shorter and the sleep period is longer.

When the radio is asleep, the access point sending data to the station 
must buffer packets at the AP until the station wakes up and requests 
any buffered packets.  If you have an AP that does not correctly support 
the PSP protocol you may experience packet loss or very poor performance 
while power management is enabled.  If this is the case, you will need 
to try and find a firmware update for your AP, or disable power 
management (via `iwconfig eth1 power off`)

To configure the power level on the IPW2100 you use a combination of 
iwconfig and iwpriv.  iwconfig is used to turn power management on, off, 
and set it to auto.

	iwconfig eth1 power off    Disables radio power down
	iwconfig eth1 power on     Enables radio power management to 
				   last set level (defaults to AUTO)
	iwpriv eth1 set_power 0    Sets power level to AUTO and enables 
				   power management if not previously 
				   enabled.
	iwpriv eth1 set_power 1-5  Set the power level as specified, 
				   enabling power management if not 
				   previously enabled.

You can view the current power level setting via:
	
	iwpriv eth1 get_power

It will return the current period or timeout that is configured as a string
in the form of xxxx/yyyy (z) where xxxx is the timeout interval (amount of
time after packet processing), yyyy is the period to sleep (amount of time to 
wait before powering the radio and querying the access point for buffered
packets), and z is the 'power level'.  If power management is turned off the
xxxx/yyyy will be replaced with 'off' -- the level reported will be the active
level if `iwconfig eth1 power on` is invoked.


===========================
7. Support
---------------------------     

For general development information and support,
go to:
	
    http://ipw2100.sf.net/

The ipw2100 1.1.0 driver and firmware can be downloaded from:  

    http://support.intel.com

For installation support on the ipw2100 1.1.0 driver on Linux kernels 
2.6.8 or greater, email support is available from:  

    http://supportmail.intel.com

===========================
8. License
---------------------------     

  Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.

  This program is free software; you can redistribute it and/or modify it 
  under the terms of the GNU General Public License (version 2) as 
  published by the Free Software Foundation.
  
  This program is distributed in the hope that it will be useful, but WITHOUT 
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
  more details.
  
  You should have received a copy of the GNU General Public License along with
  this program; if not, write to the Free Software Foundation, Inc., 59 
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  
  The full GNU General Public License is included in this distribution in the
  file called LICENSE.
  
  License Contact Information:
  James P. Ketrenos <ipw2100-admin@linux.intel.com>
  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
+300 −0
Original line number Original line Diff line number Diff line

Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:

Intel(R) PRO/Wireless 2200BG Network Connection 
Intel(R) PRO/Wireless 2915ABG Network Connection 

Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R) 
PRO/Wireless 2200BG Driver for Linux is a unified driver that works on 
both hardware adapters listed above. In this document the Intel(R) 
PRO/Wireless 2915ABG Driver for Linux will be used to reference the 
unified driver.

Copyright (C) 2004-2005, Intel Corporation

README.ipw2200

Version: 1.0.0
Date   : January 31, 2005


Index
-----------------------------------------------
1.   Introduction
1.1. Overview of features
1.2. Module parameters
1.3. Wireless Extension Private Methods
1.4. Sysfs Helper Files
2.   About the Version Numbers
3.   Support
4.   License


1.   Introduction
-----------------------------------------------
The following sections attempt to provide a brief introduction to using 
the Intel(R) PRO/Wireless 2915ABG Driver for Linux.

This document is not meant to be a comprehensive manual on 
understanding or using wireless technologies, but should be sufficient 
to get you moving without wires on Linux.

For information on building and installing the driver, see the INSTALL
file.


1.1. Overview of Features
-----------------------------------------------
The current release (1.0.0) supports the following features:

+ BSS mode (Infrastructure, Managed)
+ IBSS mode (Ad-Hoc)
+ WEP (OPEN and SHARED KEY mode)
+ 802.1x EAP via wpa_supplicant and xsupplicant
+ Wireless Extension support 
+ Full B and G rate support (2200 and 2915)
+ Full A rate support (2915 only)
+ Transmit power control
+ S state support (ACPI suspend/resume)
+ long/short preamble support



1.2. Command Line Parameters
-----------------------------------------------

Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless 
2915ABG Driver for Linux allows certain configuration options to be 
provided as module parameters.  The most common way to specify a module 
parameter is via the command line.  

The general form is:

% modprobe ipw2200 parameter=value

Where the supported parameter are:

  associate
	Set to 0 to disable the auto scan-and-associate functionality of the
	driver.  If disabled, the driver will not attempt to scan 
	for and associate to a network until it has been configured with 
	one or more properties for the target network, for example configuring 
	the network SSID.  Default is 1 (auto-associate)
	
	Example: % modprobe ipw2200 associate=0

  auto_create
	Set to 0 to disable the auto creation of an Ad-Hoc network 
	matching the channel and network name parameters provided.  
	Default is 1.

  channel
	channel number for association.  The normal method for setting
        the channel would be to use the standard wireless tools
        (i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
	to set this while debugging.  Channel 0 means 'ANY'

  debug
	If using a debug build, this is used to control the amount of debug
	info is logged.  See the 'dval' and 'load' script for more info on
	how to use this (the dval and load scripts are provided as part 
	of the ipw2200 development snapshot releases available from the 
	SourceForge project at http://ipw2200.sf.net)

  mode
	Can be used to set the default mode of the adapter.  
	0 = Managed, 1 = Ad-Hoc


1.3. Wireless Extension Private Methods
-----------------------------------------------

As an interface designed to handle generic hardware, there are certain 
capabilities not exposed through the normal Wireless Tool interface.  As 
such, a provision is provided for a driver to declare custom, or 
private, methods.  The Intel(R) PRO/Wireless 2915ABG Driver for Linux 
defines several of these to configure various settings.

The general form of using the private wireless methods is:

	% iwpriv $IFNAME method parameters

Where $IFNAME is the interface name the device is registered with 
(typically eth1, customized via one of the various network interface
name managers, such as ifrename)

The supported private methods are:

  get_mode
	Can be used to report out which IEEE mode the driver is 
	configured to support.  Example:
	
	% iwpriv eth1 get_mode
	eth1	get_mode:802.11bg (6)

  set_mode
	Can be used to configure which IEEE mode the driver will 
	support.  

	Usage:
	% iwpriv eth1 set_mode {mode}
	Where {mode} is a number in the range 1-7:
	1	802.11a (2915 only)
	2	802.11b
	3	802.11ab (2915 only)
	4	802.11g 
	5	802.11ag (2915 only)
	6	802.11bg
	7	802.11abg (2915 only)

  get_preamble
	Can be used to report configuration of preamble length.

  set_preamble
	Can be used to set the configuration of preamble length:

	Usage:
	% iwpriv eth1 set_preamble {mode}
	Where {mode} is one of:
	1	Long preamble only
	0	Auto (long or short based on connection)
	

1.4. Sysfs Helper Files:
-----------------------------------------------

The Linux kernel provides a pseudo file system that can be used to 
access various components of the operating system.  The Intel(R) 
PRO/Wireless 2915ABG Driver for Linux exposes several configuration 
parameters through this mechanism.

An entry in the sysfs can support reading and/or writing.  You can 
typically query the contents of a sysfs entry through the use of cat, 
and can set the contents via echo.  For example:

% cat /sys/bus/pci/drivers/ipw2200/debug_level

Will report the current debug level of the driver's logging subsystem 
(only available if CONFIG_IPW_DEBUG was configured when the driver was 
built).

You can set the debug level via:

% echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level

Where $VALUE would be a number in the case of this sysfs entry.  The 
input to sysfs files does not have to be a number.  For example, the 
firmware loader used by hotplug utilizes sysfs entries for transferring 
the firmware image from user space into the driver.

The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries 
at two levels -- driver level, which apply to all instances of the 
driver (in the event that there are more than one device installed) and 
device level, which applies only to the single specific instance.


1.4.1 Driver Level Sysfs Helper Files
-----------------------------------------------

For the driver level files, look in /sys/bus/pci/drivers/ipw2200/

  debug_level  
	
	This controls the same global as the 'debug' module parameter


1.4.2 Device Level Sysfs Helper Files
-----------------------------------------------

For the device level files, look in
	
	/sys/bus/pci/drivers/ipw2200/{PCI-ID}/

For example:
	/sys/bus/pci/drivers/ipw2200/0000:02:01.0

For the device level files, see /sys/bus/pci/[drivers/ipw2200:

  rf_kill
	read - 
	0 = RF kill not enabled (radio on)
	1 = SW based RF kill active (radio off)
	2 = HW based RF kill active (radio off)
	3 = Both HW and SW RF kill active (radio off)
	write -
	0 = If SW based RF kill active, turn the radio back on
	1 = If radio is on, activate SW based RF kill

	NOTE: If you enable the SW based RF kill and then toggle the HW
  	based RF kill from ON -> OFF -> ON, the radio will NOT come back on
	
  ucode 
	read-only access to the ucode version number


2.   About the Version Numbers
-----------------------------------------------

Due to the nature of open source development projects, there are 
frequently changes being incorporated that have not gone through 
a complete validation process.  These changes are incorporated into 
development snapshot releases.

Releases are numbered with a three level scheme: 

	major.minor.development

Any version where the 'development' portion is 0 (for example
1.0.0, 1.1.0, etc.) indicates a stable version that will be made 
available for kernel inclusion.

Any version where the 'development' portion is not a 0 (for
example 1.0.1, 1.1.5, etc.) indicates a development version that is
being made available for testing and cutting edge users.  The stability 
and functionality of the development releases are not know.  We make
efforts to try and keep all snapshots reasonably stable, but due to the
frequency of their release, and the desire to get those releases 
available as quickly as possible, unknown anomalies should be expected.

The major version number will be incremented when significant changes
are made to the driver.  Currently, there are no major changes planned.


3.  Support
-----------------------------------------------

For installation support of the 1.0.0 version, you can contact 
http://supportmail.intel.com, or you can use the open source project 
support.

For general information and support, go to:
	
    http://ipw2200.sf.net/


4.  License
-----------------------------------------------

  Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.

  This program is free software; you can redistribute it and/or modify it 
  under the terms of the GNU General Public License version 2 as 
  published by the Free Software Foundation.
  
  This program is distributed in the hope that it will be useful, but WITHOUT 
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
  more details.
  
  You should have received a copy of the GNU General Public License along with
  this program; if not, write to the Free Software Foundation, Inc., 59 
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  
  The full GNU General Public License is included in this distribution in the
  file called LICENSE.
  
  Contact Information:
  James P. Ketrenos <ipw2100-admin@linux.intel.com>
  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497

+105 −0
Original line number Original line Diff line number Diff line
@@ -137,6 +137,111 @@ config PCMCIA_RAYCS
comment "Wireless 802.11b ISA/PCI cards support"
comment "Wireless 802.11b ISA/PCI cards support"
	depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
	depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)


config IPW2100
	tristate "Intel PRO/Wireless 2100 Network Connection"
	depends on NET_RADIO && PCI && IEEE80211
	select FW_LOADER
	---help---
          A driver for the Intel PRO/Wireless 2100 Network 
	  Connection 802.11b wireless network adapter.

          See <file:Documentation/networking/README.ipw2100> for information on
          the capabilities currently enabled in this driver and for tips
          for debugging issues and problems.

	  In order to use this driver, you will need a firmware image for it.
          You can obtain the firmware from
	  <http://ipw2100.sf.net/>.  Once you have the firmware image, you 
	  will need to place it in /etc/firmware.

          You will also very likely need the Wireless Tools in order to
          configure your card:

          <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
 
          If you want to compile the driver as a module ( = code which can be
          inserted in and remvoed from the running kernel whenever you want),
          say M here and read <file:Documentation/modules.txt>.  The module
          will be called ipw2100.ko.
	
config IPW2100_PROMISC
        bool "Enable promiscuous mode"
        depends on IPW2100
        ---help---
	  Enables promiscuous/monitor mode support for the ipw2100 driver.
	  With this feature compiled into the driver, you can switch to 
	  promiscuous mode via the Wireless Tool's Monitor mode.  While in this
	  mode, no packets can be sent.

config IPW_DEBUG
	bool "Enable full debugging output in IPW2100 module."
	depends on IPW2100
	---help---
	  This option will enable debug tracing output for the IPW2100.  

	  This will result in the kernel module being ~60k larger.  You can 
	  control which debug output is sent to the kernel log by setting the 
	  value in 

	  /sys/bus/pci/drivers/ipw2100/debug_level

	  This entry will only exist if this option is enabled.

	  If you are not trying to debug or develop the IPW2100 driver, you 
	  most likely want to say N here.

config IPW2200
	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
	depends on NET_RADIO && PCI
	select FW_LOADER
	select IEEE80211
	---help---
          A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
	  Connection adapters. 

          See <file:Documentation/networking/README.ipw2200> for 
	  information on the capabilities currently enabled in this 
	  driver and for tips for debugging issues and problems.

	  In order to use this driver, you will need a firmware image for it.
          You can obtain the firmware from
	  <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200 
	  for information on where to install the firmare images.

          You will also very likely need the Wireless Tools in order to
          configure your card:

          <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
 
          If you want to compile the driver as a module ( = code which can be
          inserted in and remvoed from the running kernel whenever you want),
          say M here and read <file:Documentation/modules.txt>.  The module
          will be called ipw2200.ko.

config IPW_DEBUG
	bool "Enable full debugging output in IPW2200 module."
	depends on IPW2200
	---help---
	  This option will enable debug tracing output for the IPW2200.  

	  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 

	  /sys/bus/pci/drivers/ipw2200/debug_level

	  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:

	  % echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level

	  You can find the list of debug mask values in 
	  drivers/net/wireless/ipw2200.h

	  If you are not trying to debug or develop the IPW2200 driver, you 
	  most likely want to say N here.

config AIRO
config AIRO
	tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
	tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
	depends on NET_RADIO && ISA && (PCI || BROKEN)
	depends on NET_RADIO && ISA && (PCI || BROKEN)
+4 −0
Original line number Original line Diff line number Diff line
@@ -2,6 +2,10 @@
# Makefile for the Linux Wireless network device drivers.
# Makefile for the Linux Wireless network device drivers.
#
#


obj-$(CONFIG_IPW2100) += ipw2100.o

obj-$(CONFIG_IPW2200) += ipw2200.o

obj-$(CONFIG_STRIP) += strip.o
obj-$(CONFIG_STRIP) += strip.o
obj-$(CONFIG_ARLAN) += arlan.o 
obj-$(CONFIG_ARLAN) += arlan.o 


+31 −31

File changed.

Preview size limit exceeded, changes collapsed.

Loading