712c5681338bfb4c36543835c8dea2fa7a93dbc0
[safe/jmp/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.8
18 Date   : October 20, 2005
19
20
21 Index
22 -----------------------------------------------
23 0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
24 1.   Introduction
25 1.1. Overview of features
26 1.2. Module parameters
27 1.3. Wireless Extension Private Methods
28 1.4. Sysfs Helper Files
29 1.5. Supported channels
30 2.   Ad-Hoc Networking
31 3.   Interacting with Wireless Tools
32 3.1. iwconfig mode
33 4.   About the Version Numbers
34 5.   Firmware installation
35 6.   Support
36 7.   License
37
38
39 0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
40 -----------------------------------------------
41
42 Important Notice FOR ALL USERS OR DISTRIBUTORS!!!! 
43
44 Intel wireless LAN adapters are engineered, manufactured, tested, and
45 quality checked to ensure that they meet all necessary local and
46 governmental regulatory agency requirements for the regions that they
47 are designated and/or marked to ship into. Since wireless LANs are
48 generally unlicensed devices that share spectrum with radars,
49 satellites, and other licensed and unlicensed devices, it is sometimes
50 necessary to dynamically detect, avoid, and limit usage to avoid
51 interference with these devices. In many instances Intel is required to
52 provide test data to prove regional and local compliance to regional and
53 governmental regulations before certification or approval to use the
54 product is granted. Intel's wireless LAN's EEPROM, firmware, and
55 software driver are designed to carefully control parameters that affect
56 radio operation and to ensure electromagnetic compliance (EMC). These
57 parameters include, without limitation, RF power, spectrum usage,
58 channel scanning, and human exposure. 
59
60 For these reasons Intel cannot permit any manipulation by third parties
61 of the software provided in binary format with the wireless WLAN
62 adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
63 patches, utilities, or code with the Intel wireless LAN adapters that
64 have been manipulated by an unauthorized party (i.e., patches,
65 utilities, or code (including open source code modifications) which have
66 not been validated by Intel), (i) you will be solely responsible for
67 ensuring the regulatory compliance of the products, (ii) Intel will bear
68 no liability, under any theory of liability for any issues associated
69 with the modified products, including without limitation, claims under
70 the warranty and/or issues arising from regulatory non-compliance, and
71 (iii) Intel will not provide or be required to assist in providing
72 support to any third parties for such modified products.  
73
74 Note: Many regulatory agencies consider Wireless LAN adapters to be
75 modules, and accordingly, condition system-level regulatory approval
76 upon receipt and review of test data documenting that the antennas and
77 system configuration do not cause the EMC and radio operation to be
78 non-compliant.
79
80 The drivers available for download from SourceForge are provided as a 
81 part of a development project.  Conformance to local regulatory 
82 requirements is the responsibility of the individual developer.  As 
83 such, if you are interested in deploying or shipping a driver as part of 
84 solution intended to be used for purposes other than development, please 
85 obtain a tested driver from Intel Customer Support at:
86
87 http://support.intel.com/support/notebook/sb/CS-006408.htm
88
89
90 1.   Introduction
91 -----------------------------------------------
92 The following sections attempt to provide a brief introduction to using 
93 the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
94
95 This document is not meant to be a comprehensive manual on 
96 understanding or using wireless technologies, but should be sufficient 
97 to get you moving without wires on Linux.
98
99 For information on building and installing the driver, see the INSTALL
100 file.
101
102
103 1.1. Overview of Features
104 -----------------------------------------------
105 The current release (1.0.8) supports the following features:
106
107 + BSS mode (Infrastructure, Managed)
108 + IBSS mode (Ad-Hoc)
109 + WEP (OPEN and SHARED KEY mode)
110 + 802.1x EAP via wpa_supplicant and xsupplicant
111 + Wireless Extension support 
112 + Full B and G rate support (2200 and 2915)
113 + Full A rate support (2915 only)
114 + Transmit power control
115 + S state support (ACPI suspend/resume)
116
117 The following features are currently enabled, but not officially
118 supported:
119
120 + WPA
121 + long/short preamble support
122 + Monitor mode (aka RFMon)
123
124 The distinction between officially supported and enabled is a reflection 
125 on the amount of validation and interoperability testing that has been
126 performed on a given feature. 
127
128
129
130 1.2. Command Line Parameters
131 -----------------------------------------------
132
133 Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
134 2915ABG Driver for Linux allows configuration options to be provided 
135 as module parameters.  The most common way to specify a module parameter 
136 is via the command line.  
137
138 The general form is:
139
140 % modprobe ipw2200 parameter=value
141
142 Where the supported parameter are:
143
144   associate
145         Set to 0 to disable the auto scan-and-associate functionality of the
146         driver.  If disabled, the driver will not attempt to scan 
147         for and associate to a network until it has been configured with 
148         one or more properties for the target network, for example configuring 
149         the network SSID.  Default is 1 (auto-associate)
150         
151         Example: % modprobe ipw2200 associate=0
152
153   auto_create
154         Set to 0 to disable the auto creation of an Ad-Hoc network 
155         matching the channel and network name parameters provided.  
156         Default is 1.
157
158   channel
159         channel number for association.  The normal method for setting
160         the channel would be to use the standard wireless tools
161         (i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
162         to set this while debugging.  Channel 0 means 'ANY'
163
164   debug
165         If using a debug build, this is used to control the amount of debug
166         info is logged.  See the 'dvals' and 'load' script for more info on
167         how to use this (the dvals and load scripts are provided as part 
168         of the ipw2200 development snapshot releases available from the 
169         SourceForge project at http://ipw2200.sf.net)
170   
171   led
172         Can be used to turn on experimental LED code.
173         0 = Off, 1 = On.  Default is 0.
174
175   mode
176         Can be used to set the default mode of the adapter.  
177         0 = Managed, 1 = Ad-Hoc, 2 = Monitor
178
179
180 1.3. Wireless Extension Private Methods
181 -----------------------------------------------
182
183 As an interface designed to handle generic hardware, there are certain 
184 capabilities not exposed through the normal Wireless Tool interface.  As 
185 such, a provision is provided for a driver to declare custom, or 
186 private, methods.  The Intel(R) PRO/Wireless 2915ABG Driver for Linux 
187 defines several of these to configure various settings.
188
189 The general form of using the private wireless methods is:
190
191         % iwpriv $IFNAME method parameters
192
193 Where $IFNAME is the interface name the device is registered with 
194 (typically eth1, customized via one of the various network interface
195 name managers, such as ifrename)
196
197 The supported private methods are:
198
199   get_mode
200         Can be used to report out which IEEE mode the driver is 
201         configured to support.  Example:
202         
203         % iwpriv eth1 get_mode
204         eth1    get_mode:802.11bg (6)
205
206   set_mode
207         Can be used to configure which IEEE mode the driver will 
208         support.  
209
210         Usage:
211         % iwpriv eth1 set_mode {mode}
212         Where {mode} is a number in the range 1-7:
213         1       802.11a (2915 only)
214         2       802.11b
215         3       802.11ab (2915 only)
216         4       802.11g 
217         5       802.11ag (2915 only)
218         6       802.11bg
219         7       802.11abg (2915 only)
220
221   get_preamble
222         Can be used to report configuration of preamble length.
223
224   set_preamble
225         Can be used to set the configuration of preamble length:
226
227         Usage:
228         % iwpriv eth1 set_preamble {mode}
229         Where {mode} is one of:
230         1       Long preamble only
231         0       Auto (long or short based on connection)
232         
233
234 1.4. Sysfs Helper Files:
235 -----------------------------------------------
236
237 The Linux kernel provides a pseudo file system that can be used to 
238 access various components of the operating system.  The Intel(R)
239 PRO/Wireless 2915ABG Driver for Linux exposes several configuration
240 parameters through this mechanism.
241
242 An entry in the sysfs can support reading and/or writing.  You can 
243 typically query the contents of a sysfs entry through the use of cat, 
244 and can set the contents via echo.  For example:
245
246 % cat /sys/bus/pci/drivers/ipw2200/debug_level
247
248 Will report the current debug level of the driver's logging subsystem 
249 (only available if CONFIG_IPW_DEBUG was configured when the driver was 
250 built).
251
252 You can set the debug level via:
253
254 % echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
255
256 Where $VALUE would be a number in the case of this sysfs entry.  The 
257 input to sysfs files does not have to be a number.  For example, the 
258 firmware loader used by hotplug utilizes sysfs entries for transfering 
259 the firmware image from user space into the driver.
260
261 The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries 
262 at two levels -- driver level, which apply to all instances of the driver 
263 (in the event that there are more than one device installed) and device 
264 level, which applies only to the single specific instance.
265
266
267 1.4.1 Driver Level Sysfs Helper Files
268 -----------------------------------------------
269
270 For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
271
272   debug_level  
273         
274         This controls the same global as the 'debug' module parameter
275
276
277
278 1.4.2 Device Level Sysfs Helper Files
279 -----------------------------------------------
280
281 For the device level files, look in
282         
283         /sys/bus/pci/drivers/ipw2200/{PCI-ID}/
284
285 For example:
286         /sys/bus/pci/drivers/ipw2200/0000:02:01.0
287
288 For the device level files, see /sys/bus/pci/drivers/ipw2200:
289
290   rf_kill
291         read - 
292         0 = RF kill not enabled (radio on)
293         1 = SW based RF kill active (radio off)
294         2 = HW based RF kill active (radio off)
295         3 = Both HW and SW RF kill active (radio off)
296         write -
297         0 = If SW based RF kill active, turn the radio back on
298         1 = If radio is on, activate SW based RF kill
299
300         NOTE: If you enable the SW based RF kill and then toggle the HW
301         based RF kill from ON -> OFF -> ON, the radio will NOT come back on
302         
303   ucode 
304         read-only access to the ucode version number
305
306   led
307         read -
308         0 = LED code disabled
309         1 = LED code enabled
310         write -
311         0 = Disable LED code
312         1 = Enable LED code
313
314         NOTE: The LED code has been reported to hang some systems when 
315         running ifconfig and is therefore disabled by default.
316
317
318 1.5. Supported channels
319 -----------------------------------------------
320
321 Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
322 message stating the detected geography code and the number of 802.11
323 channels supported by the card will be displayed in the log.
324
325 The geography code corresponds to a regulatory domain as shown in the
326 table below.
327
328                                           Supported channels
329 Code    Geography                       802.11bg        802.11a
330
331 ---     Restricted                      11               0
332 ZZF     Custom US/Canada                11               8
333 ZZD     Rest of World                   13               0
334 ZZA     Custom USA & Europe & High      11              13
335 ZZB     Custom NA & Europe              11              13
336 ZZC     Custom Japan                    11               4
337 ZZM     Custom                          11               0
338 ZZE     Europe                          13              19
339 ZZJ     Custom Japan                    14               4
340 ZZR     Rest of World                   14               0
341 ZZH     High Band                       13               4
342 ZZG     Custom Europe                   13               4
343 ZZK     Europe                          13              24
344 ZZL     Europe                          11              13
345
346
347 2.   Ad-Hoc Networking
348 -----------------------------------------------
349
350 When using a device in an Ad-Hoc network, it is useful to understand the 
351 sequence and requirements for the driver to be able to create, join, or 
352 merge networks.
353
354 The following attempts to provide enough information so that you can 
355 have a consistent experience while using the driver as a member of an 
356 Ad-Hoc network.
357
358 2.1. Joining an Ad-Hoc Network
359 -----------------------------------------------
360
361 The easiest way to get onto an Ad-Hoc network is to join one that 
362 already exists.
363
364 2.2. Creating an Ad-Hoc Network
365 -----------------------------------------------
366
367 An Ad-Hoc networks is created using the syntax of the Wireless tool.
368
369 For Example:
370 iwconfig eth1 mode ad-hoc essid testing channel 2
371
372 2.3. Merging Ad-Hoc Networks
373 -----------------------------------------------
374
375
376 3.  Interaction with Wireless Tools
377 -----------------------------------------------
378
379 3.1 iwconfig mode
380 -----------------------------------------------
381
382 When configuring the mode of the adapter, all run-time configured parameters
383 are reset to the value used when the module was loaded.  This includes
384 channels, rates, ESSID, etc.
385
386
387 4.   About the Version Numbers
388 -----------------------------------------------
389
390 Due to the nature of open source development projects, there are 
391 frequently changes being incorporated that have not gone through 
392 a complete validation process.  These changes are incorporated into 
393 development snapshot releases.
394
395 Releases are numbered with a three level scheme: 
396
397         major.minor.development
398
399 Any version where the 'development' portion is 0 (for example
400 1.0.0, 1.1.0, etc.) indicates a stable version that will be made 
401 available for kernel inclusion.
402
403 Any version where the 'development' portion is not a 0 (for
404 example 1.0.1, 1.1.5, etc.) indicates a development version that is
405 being made available for testing and cutting edge users.  The stability 
406 and functionality of the development releases are not know.  We make
407 efforts to try and keep all snapshots reasonably stable, but due to the
408 frequency of their release, and the desire to get those releases 
409 available as quickly as possible, unknown anomalies should be expected.
410
411 The major version number will be incremented when significant changes
412 are made to the driver.  Currently, there are no major changes planned.
413
414 5.  Firmware installation
415 ----------------------------------------------
416
417 The driver requires a firmware image, download it and extract the
418 files under /lib/firmware (or wherever your hotplug's firmware.agent
419 will look for firmware files)
420
421 The firmware can be downloaded from the following URL:
422
423     http://ipw2200.sf.net/
424
425
426 6.  Support
427 -----------------------------------------------
428
429 For direct support of the 1.0.0 version, you can contact 
430 http://supportmail.intel.com, or you can use the open source project
431 support.
432
433 For general information and support, go to:
434         
435     http://ipw2200.sf.net/
436
437
438 7.  License
439 -----------------------------------------------
440
441   Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
442
443   This program is free software; you can redistribute it and/or modify it 
444   under the terms of the GNU General Public License version 2 as 
445   published by the Free Software Foundation.
446   
447   This program is distributed in the hope that it will be useful, but WITHOUT 
448   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
449   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
450   more details.
451   
452   You should have received a copy of the GNU General Public License along with
453   this program; if not, write to the Free Software Foundation, Inc., 59 
454   Temple Place - Suite 330, Boston, MA  02111-1307, USA.
455   
456   The full GNU General Public License is included in this distribution in the
457   file called LICENSE.
458   
459   Contact Information:
460   James P. Ketrenos <ipw2100-admin@linux.intel.com>
461   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
462