| James Ketrenos | 2c86c27 | 2005-03-23 17:32:29 -0600 | [diff] [blame] | 1 |  | 
 | 2 | =========================== | 
 | 3 | Intel(R) PRO/Wireless 2100 Network Connection Driver for Linux | 
 | 4 | README.ipw2100 | 
 | 5 |  | 
 | 6 | March 14, 2005 | 
 | 7 |  | 
 | 8 | =========================== | 
 | 9 | Index | 
 | 10 | --------------------------- | 
 | 11 | 0. Introduction | 
 | 12 | 1. Release 1.1.0 Current Features | 
 | 13 | 2. Command Line Parameters | 
 | 14 | 3. Sysfs Helper Files | 
 | 15 | 4. Radio Kill Switch | 
 | 16 | 5. Dynamic Firmware | 
 | 17 | 6. Power Management | 
 | 18 | 7. Support | 
 | 19 | 8. License | 
 | 20 |  | 
 | 21 |  | 
 | 22 | =========================== | 
 | 23 | 0. Introduction | 
 | 24 | ------------ -----   -----       ----       ---       --         -      | 
 | 25 |  | 
 | 26 | This document provides a brief overview of the features supported by the  | 
 | 27 | IPW2100 driver project.  The main project website, where the latest  | 
 | 28 | development version of the driver can be found, is: | 
 | 29 |  | 
 | 30 | 	http://ipw2100.sourceforge.net | 
 | 31 |  | 
 | 32 | There you can find the not only the latest releases, but also information about | 
 | 33 | potential fixes and patches, as well as links to the development mailing list | 
 | 34 | for the driver project. | 
 | 35 |  | 
 | 36 |  | 
 | 37 | =========================== | 
 | 38 | 1. Release 1.1.0 Current Supported Features | 
 | 39 | ---------------------------      | 
 | 40 | - Managed (BSS) and Ad-Hoc (IBSS) | 
 | 41 | - WEP (shared key and open) | 
 | 42 | - Wireless Tools support  | 
 | 43 | - 802.1x (tested with XSupplicant 1.0.1) | 
 | 44 |  | 
 | 45 | Enabled (but not supported) features: | 
 | 46 | - Monitor/RFMon mode | 
 | 47 | - WPA/WPA2 | 
 | 48 |  | 
 | 49 | The distinction between officially supported and enabled is a reflection | 
 | 50 | on the amount of validation and interoperability testing that has been | 
 | 51 | performed on a given feature. | 
 | 52 |  | 
 | 53 |  | 
 | 54 | =========================== | 
 | 55 | 2. Command Line Parameters | 
 | 56 | ---------------------------      | 
 | 57 |  | 
 | 58 | If the driver is built as a module, the following optional parameters are used | 
 | 59 | by entering them on the command line with the modprobe command using this | 
 | 60 | syntax: | 
 | 61 |  | 
 | 62 | 	modprobe ipw2100 [<option>=<VAL1><,VAL2>...] | 
 | 63 |  | 
 | 64 | For example, to disable the radio on driver loading, enter: | 
 | 65 |  | 
 | 66 | 	modprobe ipw2100 disable=1 | 
 | 67 |  | 
 | 68 | The ipw2100 driver supports the following module parameters: | 
 | 69 |  | 
 | 70 | Name		Value		Example: | 
 | 71 | debug		0x0-0xffffffff	debug=1024 | 
 | 72 | mode		0,1,2		mode=1   /* AdHoc */ | 
 | 73 | channel		int		channel=3 /* Only valid in AdHoc or Monitor */ | 
 | 74 | associate	boolean		associate=0 /* Do NOT auto associate */ | 
 | 75 | disable		boolean		disable=1 /* Do not power the HW */ | 
 | 76 |  | 
 | 77 |  | 
 | 78 | =========================== | 
 | 79 | 3. Sysfs Helper Files | 
 | 80 | ---------------------------      | 
 | 81 |  | 
 | 82 | There are several ways to control the behavior of the driver.  Many of the  | 
 | 83 | general capabilities are exposed through the Wireless Tools (iwconfig).  There | 
 | 84 | are a few capabilities that are exposed through entries in the Linux Sysfs. | 
 | 85 |  | 
 | 86 |  | 
 | 87 | ----- Driver Level ------ | 
 | 88 | For the driver level files, look in /sys/bus/pci/drivers/ipw2100/ | 
 | 89 |  | 
 | 90 |   debug_level   | 
 | 91 | 	 | 
 | 92 | 	This controls the same global as the 'debug' module parameter.  For  | 
 | 93 |         information on the various debugging levels available, run the 'dvals' | 
 | 94 | 	script found in the driver source directory. | 
 | 95 |  | 
 | 96 | 	NOTE:  'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn | 
 | 97 | 	       on. | 
 | 98 |  | 
 | 99 | ----- Device Level ------ | 
 | 100 | For the device level files look in | 
 | 101 | 	 | 
 | 102 | 	/sys/bus/pci/drivers/ipw2100/{PCI-ID}/ | 
 | 103 |  | 
 | 104 | For example: | 
 | 105 | 	/sys/bus/pci/drivers/ipw2100/0000:02:01.0 | 
 | 106 |  | 
 | 107 | For the device level files, see /sys/bus/pci/drivers/ipw2100: | 
 | 108 |  | 
 | 109 |   rf_kill | 
 | 110 | 	read -  | 
 | 111 | 	0 = RF kill not enabled (radio on) | 
 | 112 | 	1 = SW based RF kill active (radio off) | 
 | 113 | 	2 = HW based RF kill active (radio off) | 
 | 114 | 	3 = Both HW and SW RF kill active (radio off) | 
 | 115 | 	write - | 
 | 116 | 	0 = If SW based RF kill active, turn the radio back on | 
 | 117 | 	1 = If radio is on, activate SW based RF kill | 
 | 118 |  | 
 | 119 | 	NOTE: If you enable the SW based RF kill and then toggle the HW | 
 | 120 |   	based RF kill from ON -> OFF -> ON, the radio will NOT come back on | 
 | 121 |  | 
 | 122 |  | 
 | 123 | =========================== | 
 | 124 | 4. Radio Kill Switch | 
 | 125 | --------------------------- | 
 | 126 | Most laptops provide the ability for the user to physically disable the radio. | 
 | 127 | Some vendors have implemented this as a physical switch that requires no | 
 | 128 | software to turn the radio off and on.  On other laptops, however, the switch | 
 | 129 | is controlled through a button being pressed and a software driver then making | 
 | 130 | calls to turn the radio off and on.  This is referred to as a "software based | 
 | 131 | RF kill switch" | 
 | 132 |  | 
 | 133 | See the Sysfs helper file 'rf_kill' for determining the state of the RF switch | 
 | 134 | on your system. | 
 | 135 |  | 
 | 136 |  | 
 | 137 | =========================== | 
 | 138 | 5. Dynamic Firmware | 
 | 139 | ---------------------------      | 
 | 140 | As the firmware is licensed under a restricted use license, it can not be  | 
 | 141 | included within the kernel sources.  To enable the IPW2100 you will need a  | 
 | 142 | firmware image to load into the wireless NIC's processors. | 
 | 143 |  | 
 | 144 | You can obtain these images from <http://ipw2100.sf.net/firmware.php>. | 
 | 145 |  | 
 | 146 | See INSTALL for instructions on installing the firmware. | 
 | 147 |  | 
 | 148 |  | 
 | 149 | =========================== | 
 | 150 | 6. Power Management | 
 | 151 | ---------------------------      | 
 | 152 | The IPW2100 supports the configuration of the Power Save Protocol  | 
 | 153 | through a private wireless extension interface.  The IPW2100 supports  | 
 | 154 | the following different modes: | 
 | 155 |  | 
 | 156 | 	off	No power management.  Radio is always on. | 
 | 157 | 	on	Automatic power management | 
 | 158 | 	1-5	Different levels of power management.  The higher the  | 
 | 159 | 		number the greater the power savings, but with an impact to  | 
 | 160 | 		packet latencies.  | 
 | 161 |  | 
 | 162 | Power management works by powering down the radio after a certain  | 
 | 163 | interval of time has passed where no packets are passed through the  | 
 | 164 | radio.  Once powered down, the radio remains in that state for a given  | 
 | 165 | period of time.  For higher power savings, the interval between last  | 
 | 166 | packet processed to sleep is shorter and the sleep period is longer. | 
 | 167 |  | 
 | 168 | When the radio is asleep, the access point sending data to the station  | 
 | 169 | must buffer packets at the AP until the station wakes up and requests  | 
 | 170 | any buffered packets.  If you have an AP that does not correctly support  | 
 | 171 | the PSP protocol you may experience packet loss or very poor performance  | 
 | 172 | while power management is enabled.  If this is the case, you will need  | 
 | 173 | to try and find a firmware update for your AP, or disable power  | 
 | 174 | management (via `iwconfig eth1 power off`) | 
 | 175 |  | 
 | 176 | To configure the power level on the IPW2100 you use a combination of  | 
 | 177 | iwconfig and iwpriv.  iwconfig is used to turn power management on, off,  | 
 | 178 | and set it to auto. | 
 | 179 |  | 
 | 180 | 	iwconfig eth1 power off    Disables radio power down | 
 | 181 | 	iwconfig eth1 power on     Enables radio power management to  | 
 | 182 | 				   last set level (defaults to AUTO) | 
 | 183 | 	iwpriv eth1 set_power 0    Sets power level to AUTO and enables  | 
 | 184 | 				   power management if not previously  | 
 | 185 | 				   enabled. | 
 | 186 | 	iwpriv eth1 set_power 1-5  Set the power level as specified,  | 
 | 187 | 				   enabling power management if not  | 
 | 188 | 				   previously enabled. | 
 | 189 |  | 
 | 190 | You can view the current power level setting via: | 
 | 191 | 	 | 
 | 192 | 	iwpriv eth1 get_power | 
 | 193 |  | 
 | 194 | It will return the current period or timeout that is configured as a string | 
 | 195 | in the form of xxxx/yyyy (z) where xxxx is the timeout interval (amount of | 
 | 196 | time after packet processing), yyyy is the period to sleep (amount of time to  | 
 | 197 | wait before powering the radio and querying the access point for buffered | 
 | 198 | packets), and z is the 'power level'.  If power management is turned off the | 
 | 199 | xxxx/yyyy will be replaced with 'off' -- the level reported will be the active | 
 | 200 | level if `iwconfig eth1 power on` is invoked. | 
 | 201 |  | 
 | 202 |  | 
 | 203 | =========================== | 
 | 204 | 7. Support | 
 | 205 | ---------------------------      | 
 | 206 |  | 
 | 207 | For general development information and support, | 
 | 208 | go to: | 
 | 209 | 	 | 
 | 210 |     http://ipw2100.sf.net/ | 
 | 211 |  | 
 | 212 | The ipw2100 1.1.0 driver and firmware can be downloaded from:   | 
 | 213 |  | 
 | 214 |     http://support.intel.com | 
 | 215 |  | 
 | 216 | For installation support on the ipw2100 1.1.0 driver on Linux kernels  | 
 | 217 | 2.6.8 or greater, email support is available from:   | 
 | 218 |  | 
 | 219 |     http://supportmail.intel.com | 
 | 220 |  | 
 | 221 | =========================== | 
 | 222 | 8. License | 
 | 223 | ---------------------------      | 
 | 224 |  | 
 | 225 |   Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. | 
 | 226 |  | 
 | 227 |   This program is free software; you can redistribute it and/or modify it  | 
 | 228 |   under the terms of the GNU General Public License (version 2) as  | 
 | 229 |   published by the Free Software Foundation. | 
 | 230 |    | 
 | 231 |   This program is distributed in the hope that it will be useful, but WITHOUT  | 
 | 232 |   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  | 
 | 233 |   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for  | 
 | 234 |   more details. | 
 | 235 |    | 
 | 236 |   You should have received a copy of the GNU General Public License along with | 
 | 237 |   this program; if not, write to the Free Software Foundation, Inc., 59  | 
 | 238 |   Temple Place - Suite 330, Boston, MA  02111-1307, USA. | 
 | 239 |    | 
 | 240 |   The full GNU General Public License is included in this distribution in the | 
 | 241 |   file called LICENSE. | 
 | 242 |    | 
 | 243 |   License Contact Information: | 
 | 244 |   James P. Ketrenos <ipw2100-admin@linux.intel.com> | 
 | 245 |   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 | 
 | 246 |  |