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