]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - Documentation/networking/README.ipw2200
[PATCH] ipw2200: Enables the "slow diversity" algorithm
[mirror_ubuntu-zesty-kernel.git] / Documentation / networking / README.ipw2200
CommitLineData
43f66a6c
JK
1
2Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
3
826d2abe
JK
4Intel(R) PRO/Wireless 2200BG Network Connection
5Intel(R) PRO/Wireless 2915ABG Network Connection
43f66a6c 6
826d2abe
JK
7Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
8PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
9both hardware adapters listed above. In this document the Intel(R)
10PRO/Wireless 2915ABG Driver for Linux will be used to reference the
43f66a6c
JK
11unified driver.
12
13Copyright (C) 2004-2005, Intel Corporation
14
15README.ipw2200
16
826d2abe
JK
17Version: 1.0.8
18Date : October 20, 2005
43f66a6c
JK
19
20
21Index
22-----------------------------------------------
826d2abe 230. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
43f66a6c
JK
241. Introduction
251.1. Overview of features
261.2. Module parameters
271.3. Wireless Extension Private Methods
281.4. Sysfs Helper Files
48a84770 291.5. Supported channels
826d2abe
JK
302. Ad-Hoc Networking
313. Interacting with Wireless Tools
323.1. iwconfig mode
334. About the Version Numbers
345. Firmware installation
356. Support
367. License
37
38
390. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
40-----------------------------------------------
41
42Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!
43
44Intel wireless LAN adapters are engineered, manufactured, tested, and
45quality checked to ensure that they meet all necessary local and
46governmental regulatory agency requirements for the regions that they
47are designated and/or marked to ship into. Since wireless LANs are
48generally unlicensed devices that share spectrum with radars,
49satellites, and other licensed and unlicensed devices, it is sometimes
50necessary to dynamically detect, avoid, and limit usage to avoid
51interference with these devices. In many instances Intel is required to
52provide test data to prove regional and local compliance to regional and
53governmental regulations before certification or approval to use the
54product is granted. Intel's wireless LAN's EEPROM, firmware, and
55software driver are designed to carefully control parameters that affect
56radio operation and to ensure electromagnetic compliance (EMC). These
57parameters include, without limitation, RF power, spectrum usage,
58channel scanning, and human exposure.
59
60For these reasons Intel cannot permit any manipulation by third parties
61of the software provided in binary format with the wireless WLAN
62adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
63patches, utilities, or code with the Intel wireless LAN adapters that
64have been manipulated by an unauthorized party (i.e., patches,
65utilities, or code (including open source code modifications) which have
66not been validated by Intel), (i) you will be solely responsible for
67ensuring the regulatory compliance of the products, (ii) Intel will bear
68no liability, under any theory of liability for any issues associated
69with the modified products, including without limitation, claims under
70the warranty and/or issues arising from regulatory non-compliance, and
71(iii) Intel will not provide or be required to assist in providing
72support to any third parties for such modified products.
73
74Note: Many regulatory agencies consider Wireless LAN adapters to be
75modules, and accordingly, condition system-level regulatory approval
76upon receipt and review of test data documenting that the antennas and
77system configuration do not cause the EMC and radio operation to be
78non-compliant.
79
80The drivers available for download from SourceForge are provided as a
81part of a development project. Conformance to local regulatory
82requirements is the responsibility of the individual developer. As
83such, if you are interested in deploying or shipping a driver as part of
84solution intended to be used for purposes other than development, please
85obtain a tested driver from Intel Customer Support at:
86
87http://support.intel.com/support/notebook/sb/CS-006408.htm
43f66a6c
JK
88
89
901. Introduction
91-----------------------------------------------
92The following sections attempt to provide a brief introduction to using
93the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
94
95This document is not meant to be a comprehensive manual on
96understanding or using wireless technologies, but should be sufficient
97to get you moving without wires on Linux.
98
99For information on building and installing the driver, see the INSTALL
100file.
101
102
1031.1. Overview of Features
104-----------------------------------------------
826d2abe 105The current release (1.0.8) supports the following features:
43f66a6c
JK
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)
826d2abe
JK
116
117The following features are currently enabled, but not officially
118supported:
119
120+ WPA
43f66a6c 121+ long/short preamble support
826d2abe
JK
122+ Monitor mode (aka RFMon)
123
124The distinction between officially supported and enabled is a reflection
125on the amount of validation and interoperability testing that has been
126performed on a given feature.
43f66a6c
JK
127
128
129
1301.2. Command Line Parameters
131-----------------------------------------------
132
826d2abe
JK
133Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
1342915ABG Driver for Linux allows configuration options to be provided
135as module parameters. The most common way to specify a module parameter
136is via the command line.
43f66a6c
JK
137
138The general form is:
139
140% modprobe ipw2200 parameter=value
141
142Where 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
826d2abe
JK
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
43f66a6c
JK
168 of the ipw2200 development snapshot releases available from the
169 SourceForge project at http://ipw2200.sf.net)
826d2abe
JK
170
171 led
172 Can be used to turn on experimental LED code.
173 0 = Off, 1 = On. Default is 0.
43f66a6c
JK
174
175 mode
176 Can be used to set the default mode of the adapter.
826d2abe 177 0 = Managed, 1 = Ad-Hoc, 2 = Monitor
43f66a6c
JK
178
179
1801.3. Wireless Extension Private Methods
181-----------------------------------------------
182
183As an interface designed to handle generic hardware, there are certain
184capabilities not exposed through the normal Wireless Tool interface. As
185such, a provision is provided for a driver to declare custom, or
186private, methods. The Intel(R) PRO/Wireless 2915ABG Driver for Linux
187defines several of these to configure various settings.
188
189The general form of using the private wireless methods is:
190
191 % iwpriv $IFNAME method parameters
192
193Where $IFNAME is the interface name the device is registered with
194(typically eth1, customized via one of the various network interface
195name managers, such as ifrename)
196
197The 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
2341.4. Sysfs Helper Files:
235-----------------------------------------------
236
237The Linux kernel provides a pseudo file system that can be used to
826d2abe
JK
238access various components of the operating system. The Intel(R)
239PRO/Wireless 2915ABG Driver for Linux exposes several configuration
43f66a6c
JK
240parameters through this mechanism.
241
242An entry in the sysfs can support reading and/or writing. You can
243typically query the contents of a sysfs entry through the use of cat,
244and can set the contents via echo. For example:
245
246% cat /sys/bus/pci/drivers/ipw2200/debug_level
247
248Will report the current debug level of the driver's logging subsystem
249(only available if CONFIG_IPW_DEBUG was configured when the driver was
250built).
251
252You can set the debug level via:
253
254% echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
255
256Where $VALUE would be a number in the case of this sysfs entry. The
257input to sysfs files does not have to be a number. For example, the
826d2abe 258firmware loader used by hotplug utilizes sysfs entries for transfering
43f66a6c
JK
259the firmware image from user space into the driver.
260
261The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
826d2abe
JK
262at 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
264level, which applies only to the single specific instance.
43f66a6c
JK
265
266
2671.4.1 Driver Level Sysfs Helper Files
268-----------------------------------------------
269
270For 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
826d2abe 277
43f66a6c
JK
2781.4.2 Device Level Sysfs Helper Files
279-----------------------------------------------
280
281For the device level files, look in
282
283 /sys/bus/pci/drivers/ipw2200/{PCI-ID}/
284
285For example:
286 /sys/bus/pci/drivers/ipw2200/0000:02:01.0
287
826d2abe 288For the device level files, see /sys/bus/pci/drivers/ipw2200:
43f66a6c
JK
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
826d2abe
JK
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
48a84770
HBA
3181.5. Supported channels
319-----------------------------------------------
320
321Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
322message stating the detected geography code and the number of 802.11
323channels supported by the card will be displayed in the log.
324
325The geography code corresponds to a regulatory domain as shown in the
326table below.
327
328 Supported channels
329Code Geography 802.11bg 802.11a
330
331--- Restricted 11 0
332ZZF Custom US/Canada 11 8
333ZZD Rest of World 13 0
334ZZA Custom USA & Europe & High 11 13
335ZZB Custom NA & Europe 11 13
336ZZC Custom Japan 11 4
337ZZM Custom 11 0
338ZZE Europe 13 19
339ZZJ Custom Japan 14 4
340ZZR Rest of World 14 0
341ZZH High Band 13 4
342ZZG Custom Europe 13 4
343ZZK Europe 13 24
344ZZL Europe 11 13
345
346
826d2abe
JK
3472. Ad-Hoc Networking
348-----------------------------------------------
349
350When using a device in an Ad-Hoc network, it is useful to understand the
351sequence and requirements for the driver to be able to create, join, or
352merge networks.
353
354The following attempts to provide enough information so that you can
355have a consistent experience while using the driver as a member of an
356Ad-Hoc network.
357
3582.1. Joining an Ad-Hoc Network
359-----------------------------------------------
360
361The easiest way to get onto an Ad-Hoc network is to join one that
362already exists.
43f66a6c 363
826d2abe
JK
3642.2. Creating an Ad-Hoc Network
365-----------------------------------------------
366
367An Ad-Hoc networks is created using the syntax of the Wireless tool.
368
369For Example:
370iwconfig eth1 mode ad-hoc essid testing channel 2
371
3722.3. Merging Ad-Hoc Networks
373-----------------------------------------------
374
375
3763. Interaction with Wireless Tools
377-----------------------------------------------
378
3793.1 iwconfig mode
380-----------------------------------------------
381
382When configuring the mode of the adapter, all run-time configured parameters
383are reset to the value used when the module was loaded. This includes
384channels, rates, ESSID, etc.
385
386
3874. About the Version Numbers
43f66a6c
JK
388-----------------------------------------------
389
390Due to the nature of open source development projects, there are
391frequently changes being incorporated that have not gone through
392a complete validation process. These changes are incorporated into
393development snapshot releases.
394
395Releases are numbered with a three level scheme:
396
397 major.minor.development
398
399Any version where the 'development' portion is 0 (for example
4001.0.0, 1.1.0, etc.) indicates a stable version that will be made
401available for kernel inclusion.
402
403Any version where the 'development' portion is not a 0 (for
404example 1.0.1, 1.1.5, etc.) indicates a development version that is
405being made available for testing and cutting edge users. The stability
406and functionality of the development releases are not know. We make
407efforts to try and keep all snapshots reasonably stable, but due to the
408frequency of their release, and the desire to get those releases
409available as quickly as possible, unknown anomalies should be expected.
410
411The major version number will be incremented when significant changes
412are made to the driver. Currently, there are no major changes planned.
413
826d2abe
JK
4145. Firmware installation
415----------------------------------------------
416
417The driver requires a firmware image, download it and extract the
418files under /lib/firmware (or wherever your hotplug's firmware.agent
419will look for firmware files)
420
421The firmware can be downloaded from the following URL:
43f66a6c 422
826d2abe
JK
423 http://ipw2200.sf.net/
424
425
4266. Support
43f66a6c
JK
427-----------------------------------------------
428
826d2abe
JK
429For direct support of the 1.0.0 version, you can contact
430http://supportmail.intel.com, or you can use the open source project
43f66a6c
JK
431support.
432
433For general information and support, go to:
434
435 http://ipw2200.sf.net/
436
437
826d2abe 4387. License
43f66a6c
JK
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