Merge upstream net/ieee80211.h changes into 'ieee80211' branch.
[linux-2.6] / Documentation / networking / README.ipw2200
1
2 Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
3
4 Intel(R) PRO/Wireless 2200BG Network Connection 
5 Intel(R) PRO/Wireless 2915ABG Network Connection 
6
7 Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R) 
8 PRO/Wireless 2200BG Driver for Linux is a unified driver that works on 
9 both hardware adapters listed above. In this document the Intel(R) 
10 PRO/Wireless 2915ABG Driver for Linux will be used to reference the 
11 unified driver.
12
13 Copyright (C) 2004-2005, Intel Corporation
14
15 README.ipw2200
16
17 Version: 1.0.0
18 Date   : January 31, 2005
19
20
21 Index
22 -----------------------------------------------
23 1.   Introduction
24 1.1. Overview of features
25 1.2. Module parameters
26 1.3. Wireless Extension Private Methods
27 1.4. Sysfs Helper Files
28 2.   About the Version Numbers
29 3.   Support
30 4.   License
31
32
33 1.   Introduction
34 -----------------------------------------------
35 The following sections attempt to provide a brief introduction to using 
36 the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
37
38 This document is not meant to be a comprehensive manual on 
39 understanding or using wireless technologies, but should be sufficient 
40 to get you moving without wires on Linux.
41
42 For information on building and installing the driver, see the INSTALL
43 file.
44
45
46 1.1. Overview of Features
47 -----------------------------------------------
48 The current release (1.0.0) supports the following features:
49
50 + BSS mode (Infrastructure, Managed)
51 + IBSS mode (Ad-Hoc)
52 + WEP (OPEN and SHARED KEY mode)
53 + 802.1x EAP via wpa_supplicant and xsupplicant
54 + Wireless Extension support 
55 + Full B and G rate support (2200 and 2915)
56 + Full A rate support (2915 only)
57 + Transmit power control
58 + S state support (ACPI suspend/resume)
59 + long/short preamble support
60
61
62
63 1.2. Command Line Parameters
64 -----------------------------------------------
65
66 Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless 
67 2915ABG Driver for Linux allows certain configuration options to be 
68 provided as module parameters.  The most common way to specify a module 
69 parameter is via the command line.  
70
71 The general form is:
72
73 % modprobe ipw2200 parameter=value
74
75 Where the supported parameter are:
76
77   associate
78         Set to 0 to disable the auto scan-and-associate functionality of the
79         driver.  If disabled, the driver will not attempt to scan 
80         for and associate to a network until it has been configured with 
81         one or more properties for the target network, for example configuring 
82         the network SSID.  Default is 1 (auto-associate)
83         
84         Example: % modprobe ipw2200 associate=0
85
86   auto_create
87         Set to 0 to disable the auto creation of an Ad-Hoc network 
88         matching the channel and network name parameters provided.  
89         Default is 1.
90
91   channel
92         channel number for association.  The normal method for setting
93         the channel would be to use the standard wireless tools
94         (i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
95         to set this while debugging.  Channel 0 means 'ANY'
96
97   debug
98         If using a debug build, this is used to control the amount of debug
99         info is logged.  See the 'dval' and 'load' script for more info on
100         how to use this (the dval and load scripts are provided as part 
101         of the ipw2200 development snapshot releases available from the 
102         SourceForge project at http://ipw2200.sf.net)
103
104   mode
105         Can be used to set the default mode of the adapter.  
106         0 = Managed, 1 = Ad-Hoc
107
108
109 1.3. Wireless Extension Private Methods
110 -----------------------------------------------
111
112 As an interface designed to handle generic hardware, there are certain 
113 capabilities not exposed through the normal Wireless Tool interface.  As 
114 such, a provision is provided for a driver to declare custom, or 
115 private, methods.  The Intel(R) PRO/Wireless 2915ABG Driver for Linux 
116 defines several of these to configure various settings.
117
118 The general form of using the private wireless methods is:
119
120         % iwpriv $IFNAME method parameters
121
122 Where $IFNAME is the interface name the device is registered with 
123 (typically eth1, customized via one of the various network interface
124 name managers, such as ifrename)
125
126 The supported private methods are:
127
128   get_mode
129         Can be used to report out which IEEE mode the driver is 
130         configured to support.  Example:
131         
132         % iwpriv eth1 get_mode
133         eth1    get_mode:802.11bg (6)
134
135   set_mode
136         Can be used to configure which IEEE mode the driver will 
137         support.  
138
139         Usage:
140         % iwpriv eth1 set_mode {mode}
141         Where {mode} is a number in the range 1-7:
142         1       802.11a (2915 only)
143         2       802.11b
144         3       802.11ab (2915 only)
145         4       802.11g 
146         5       802.11ag (2915 only)
147         6       802.11bg
148         7       802.11abg (2915 only)
149
150   get_preamble
151         Can be used to report configuration of preamble length.
152
153   set_preamble
154         Can be used to set the configuration of preamble length:
155
156         Usage:
157         % iwpriv eth1 set_preamble {mode}
158         Where {mode} is one of:
159         1       Long preamble only
160         0       Auto (long or short based on connection)
161         
162
163 1.4. Sysfs Helper Files:
164 -----------------------------------------------
165
166 The Linux kernel provides a pseudo file system that can be used to 
167 access various components of the operating system.  The Intel(R) 
168 PRO/Wireless 2915ABG Driver for Linux exposes several configuration 
169 parameters through this mechanism.
170
171 An entry in the sysfs can support reading and/or writing.  You can 
172 typically query the contents of a sysfs entry through the use of cat, 
173 and can set the contents via echo.  For example:
174
175 % cat /sys/bus/pci/drivers/ipw2200/debug_level
176
177 Will report the current debug level of the driver's logging subsystem 
178 (only available if CONFIG_IPW_DEBUG was configured when the driver was 
179 built).
180
181 You can set the debug level via:
182
183 % echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
184
185 Where $VALUE would be a number in the case of this sysfs entry.  The 
186 input to sysfs files does not have to be a number.  For example, the 
187 firmware loader used by hotplug utilizes sysfs entries for transferring 
188 the firmware image from user space into the driver.
189
190 The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries 
191 at two levels -- driver level, which apply to all instances of the 
192 driver (in the event that there are more than one device installed) and 
193 device level, which applies only to the single specific instance.
194
195
196 1.4.1 Driver Level Sysfs Helper Files
197 -----------------------------------------------
198
199 For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
200
201   debug_level  
202         
203         This controls the same global as the 'debug' module parameter
204
205
206 1.4.2 Device Level Sysfs Helper Files
207 -----------------------------------------------
208
209 For the device level files, look in
210         
211         /sys/bus/pci/drivers/ipw2200/{PCI-ID}/
212
213 For example:
214         /sys/bus/pci/drivers/ipw2200/0000:02:01.0
215
216 For the device level files, see /sys/bus/pci/[drivers/ipw2200:
217
218   rf_kill
219         read - 
220         0 = RF kill not enabled (radio on)
221         1 = SW based RF kill active (radio off)
222         2 = HW based RF kill active (radio off)
223         3 = Both HW and SW RF kill active (radio off)
224         write -
225         0 = If SW based RF kill active, turn the radio back on
226         1 = If radio is on, activate SW based RF kill
227
228         NOTE: If you enable the SW based RF kill and then toggle the HW
229         based RF kill from ON -> OFF -> ON, the radio will NOT come back on
230         
231   ucode 
232         read-only access to the ucode version number
233
234
235 2.   About the Version Numbers
236 -----------------------------------------------
237
238 Due to the nature of open source development projects, there are 
239 frequently changes being incorporated that have not gone through 
240 a complete validation process.  These changes are incorporated into 
241 development snapshot releases.
242
243 Releases are numbered with a three level scheme: 
244
245         major.minor.development
246
247 Any version where the 'development' portion is 0 (for example
248 1.0.0, 1.1.0, etc.) indicates a stable version that will be made 
249 available for kernel inclusion.
250
251 Any version where the 'development' portion is not a 0 (for
252 example 1.0.1, 1.1.5, etc.) indicates a development version that is
253 being made available for testing and cutting edge users.  The stability 
254 and functionality of the development releases are not know.  We make
255 efforts to try and keep all snapshots reasonably stable, but due to the
256 frequency of their release, and the desire to get those releases 
257 available as quickly as possible, unknown anomalies should be expected.
258
259 The major version number will be incremented when significant changes
260 are made to the driver.  Currently, there are no major changes planned.
261
262
263 3.  Support
264 -----------------------------------------------
265
266 For installation support of the 1.0.0 version, you can contact 
267 http://supportmail.intel.com, or you can use the open source project 
268 support.
269
270 For general information and support, go to:
271         
272     http://ipw2200.sf.net/
273
274
275 4.  License
276 -----------------------------------------------
277
278   Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
279
280   This program is free software; you can redistribute it and/or modify it 
281   under the terms of the GNU General Public License version 2 as 
282   published by the Free Software Foundation.
283   
284   This program is distributed in the hope that it will be useful, but WITHOUT 
285   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
286   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
287   more details.
288   
289   You should have received a copy of the GNU General Public License along with
290   this program; if not, write to the Free Software Foundation, Inc., 59 
291   Temple Place - Suite 330, Boston, MA  02111-1307, USA.
292   
293   The full GNU General Public License is included in this distribution in the
294   file called LICENSE.
295   
296   Contact Information:
297   James P. Ketrenos <ipw2100-admin@linux.intel.com>
298   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
299
300