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 | |