xref: /linux/Documentation/networking/device_drivers/wifi/intel/ipw2100.rst (revision 48dea9a700c8728cc31a1dd44588b97578de86ee)
1.. SPDX-License-Identifier: GPL-2.0
2.. include:: <isonum.txt>
3
4===========================================
5Intel(R) PRO/Wireless 2100 Driver for Linux
6===========================================
7
8Support for:
9
10- Intel(R) PRO/Wireless 2100 Network Connection
11
12Copyright |copy| 2003-2006, Intel Corporation
13
14README.ipw2100
15
16:Version: git-1.1.5
17:Date:    January 25, 2006
18
19.. Index
20
21    0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
22    1. Introduction
23    2. Release git-1.1.5 Current Features
24    3. Command Line Parameters
25    4. Sysfs Helper Files
26    5. Radio Kill Switch
27    6. Dynamic Firmware
28    7. Power Management
29    8. Support
30    9. License
31
32
330. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
34=================================================
35
36Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!
37
38Intel wireless LAN adapters are engineered, manufactured, tested, and
39quality checked to ensure that they meet all necessary local and
40governmental regulatory agency requirements for the regions that they
41are designated and/or marked to ship into. Since wireless LANs are
42generally unlicensed devices that share spectrum with radars,
43satellites, and other licensed and unlicensed devices, it is sometimes
44necessary to dynamically detect, avoid, and limit usage to avoid
45interference with these devices. In many instances Intel is required to
46provide test data to prove regional and local compliance to regional and
47governmental regulations before certification or approval to use the
48product is granted. Intel's wireless LAN's EEPROM, firmware, and
49software driver are designed to carefully control parameters that affect
50radio operation and to ensure electromagnetic compliance (EMC). These
51parameters include, without limitation, RF power, spectrum usage,
52channel scanning, and human exposure.
53
54For these reasons Intel cannot permit any manipulation by third parties
55of the software provided in binary format with the wireless WLAN
56adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
57patches, utilities, or code with the Intel wireless LAN adapters that
58have been manipulated by an unauthorized party (i.e., patches,
59utilities, or code (including open source code modifications) which have
60not been validated by Intel), (i) you will be solely responsible for
61ensuring the regulatory compliance of the products, (ii) Intel will bear
62no liability, under any theory of liability for any issues associated
63with the modified products, including without limitation, claims under
64the warranty and/or issues arising from regulatory non-compliance, and
65(iii) Intel will not provide or be required to assist in providing
66support to any third parties for such modified products.
67
68Note: Many regulatory agencies consider Wireless LAN adapters to be
69modules, and accordingly, condition system-level regulatory approval
70upon receipt and review of test data documenting that the antennas and
71system configuration do not cause the EMC and radio operation to be
72non-compliant.
73
74The drivers available for download from SourceForge are provided as a
75part of a development project.  Conformance to local regulatory
76requirements is the responsibility of the individual developer.  As
77such, if you are interested in deploying or shipping a driver as part of
78solution intended to be used for purposes other than development, please
79obtain a tested driver from Intel Customer Support at:
80
81https://www.intel.com/support/wireless/sb/CS-006408.htm
82
831. Introduction
84===============
85
86This document provides a brief overview of the features supported by the
87IPW2100 driver project.  The main project website, where the latest
88development version of the driver can be found, is:
89
90	http://ipw2100.sourceforge.net
91
92There you can find the not only the latest releases, but also information about
93potential fixes and patches, as well as links to the development mailing list
94for the driver project.
95
96
972. Release git-1.1.5 Current Supported Features
98===============================================
99
100- Managed (BSS) and Ad-Hoc (IBSS)
101- WEP (shared key and open)
102- Wireless Tools support
103- 802.1x (tested with XSupplicant 1.0.1)
104
105Enabled (but not supported) features:
106- Monitor/RFMon mode
107- WPA/WPA2
108
109The distinction between officially supported and enabled is a reflection
110on the amount of validation and interoperability testing that has been
111performed on a given feature.
112
113
1143. Command Line Parameters
115==========================
116
117If the driver is built as a module, the following optional parameters are used
118by entering them on the command line with the modprobe command using this
119syntax::
120
121	modprobe ipw2100 [<option>=<VAL1><,VAL2>...]
122
123For example, to disable the radio on driver loading, enter:
124
125	modprobe ipw2100 disable=1
126
127The ipw2100 driver supports the following module parameters:
128
129=========	==============	============  ==============================
130Name		Value		Example       Meaning
131=========	==============	============  ==============================
132debug		0x0-0xffffffff	debug=1024    Debug level set to 1024
133mode		0,1,2		mode=1        AdHoc
134channel		int		channel=3     Only valid in AdHoc or Monitor
135associate	boolean		associate=0   Do NOT auto associate
136disable		boolean		disable=1     Do not power the HW
137=========	==============	============  ==============================
138
139
1404. Sysfs Helper Files
141=====================
142
143There are several ways to control the behavior of the driver.  Many of the
144general capabilities are exposed through the Wireless Tools (iwconfig).  There
145are a few capabilities that are exposed through entries in the Linux Sysfs.
146
147
148**Driver Level**
149
150For the driver level files, look in /sys/bus/pci/drivers/ipw2100/
151
152  debug_level
153	This controls the same global as the 'debug' module parameter.  For
154	information on the various debugging levels available, run the 'dvals'
155	script found in the driver source directory.
156
157	.. note::
158
159	      'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn on.
160
161**Device Level**
162
163For the device level files look in::
164
165	/sys/bus/pci/drivers/ipw2100/{PCI-ID}/
166
167For example::
168
169	/sys/bus/pci/drivers/ipw2100/0000:02:01.0
170
171For the device level files, see /sys/bus/pci/drivers/ipw2100:
172
173  rf_kill
174	read
175
176	==  =========================================
177	0   RF kill not enabled (radio on)
178	1   SW based RF kill active (radio off)
179	2   HW based RF kill active (radio off)
180	3   Both HW and SW RF kill active (radio off)
181	==  =========================================
182
183	write
184
185	==  ==================================================
186	0   If SW based RF kill active, turn the radio back on
187	1   If radio is on, activate SW based RF kill
188	==  ==================================================
189
190	.. note::
191
192	   If you enable the SW based RF kill and then toggle the HW
193	   based RF kill from ON -> OFF -> ON, the radio will NOT come back on
194
195
1965. Radio Kill Switch
197====================
198
199Most laptops provide the ability for the user to physically disable the radio.
200Some vendors have implemented this as a physical switch that requires no
201software to turn the radio off and on.  On other laptops, however, the switch
202is controlled through a button being pressed and a software driver then making
203calls to turn the radio off and on.  This is referred to as a "software based
204RF kill switch"
205
206See the Sysfs helper file 'rf_kill' for determining the state of the RF switch
207on your system.
208
209
2106. Dynamic Firmware
211===================
212
213As the firmware is licensed under a restricted use license, it can not be
214included within the kernel sources.  To enable the IPW2100 you will need a
215firmware image to load into the wireless NIC's processors.
216
217You can obtain these images from <http://ipw2100.sf.net/firmware.php>.
218
219See INSTALL for instructions on installing the firmware.
220
221
2227. Power Management
223===================
224
225The IPW2100 supports the configuration of the Power Save Protocol
226through a private wireless extension interface.  The IPW2100 supports
227the following different modes:
228
229	===	===========================================================
230	off	No power management.  Radio is always on.
231	on	Automatic power management
232	1-5	Different levels of power management.  The higher the
233		number the greater the power savings, but with an impact to
234		packet latencies.
235	===	===========================================================
236
237Power management works by powering down the radio after a certain
238interval of time has passed where no packets are passed through the
239radio.  Once powered down, the radio remains in that state for a given
240period of time.  For higher power savings, the interval between last
241packet processed to sleep is shorter and the sleep period is longer.
242
243When the radio is asleep, the access point sending data to the station
244must buffer packets at the AP until the station wakes up and requests
245any buffered packets.  If you have an AP that does not correctly support
246the PSP protocol you may experience packet loss or very poor performance
247while power management is enabled.  If this is the case, you will need
248to try and find a firmware update for your AP, or disable power
249management (via ``iwconfig eth1 power off``)
250
251To configure the power level on the IPW2100 you use a combination of
252iwconfig and iwpriv.  iwconfig is used to turn power management on, off,
253and set it to auto.
254
255	=========================  ====================================
256	iwconfig eth1 power off    Disables radio power down
257	iwconfig eth1 power on     Enables radio power management to
258				   last set level (defaults to AUTO)
259	iwpriv eth1 set_power 0    Sets power level to AUTO and enables
260				   power management if not previously
261				   enabled.
262	iwpriv eth1 set_power 1-5  Set the power level as specified,
263				   enabling power management if not
264				   previously enabled.
265	=========================  ====================================
266
267You can view the current power level setting via::
268
269	iwpriv eth1 get_power
270
271It will return the current period or timeout that is configured as a string
272in the form of xxxx/yyyy (z) where xxxx is the timeout interval (amount of
273time after packet processing), yyyy is the period to sleep (amount of time to
274wait before powering the radio and querying the access point for buffered
275packets), and z is the 'power level'.  If power management is turned off the
276xxxx/yyyy will be replaced with 'off' -- the level reported will be the active
277level if `iwconfig eth1 power on` is invoked.
278
279
2808. Support
281==========
282
283For general development information and support,
284go to:
285
286    http://ipw2100.sf.net/
287
288The ipw2100 1.1.0 driver and firmware can be downloaded from:
289
290    http://support.intel.com
291
292For installation support on the ipw2100 1.1.0 driver on Linux kernels
2932.6.8 or greater, email support is available from:
294
295    http://supportmail.intel.com
296
2979. License
298==========
299
300  Copyright |copy| 2003 - 2006 Intel Corporation. All rights reserved.
301
302  This program is free software; you can redistribute it and/or modify it
303  under the terms of the GNU General Public License (version 2) as
304  published by the Free Software Foundation.
305
306  This program is distributed in the hope that it will be useful, but WITHOUT
307  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
308  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
309  more details.
310
311  You should have received a copy of the GNU General Public License along with
312  this program; if not, write to the Free Software Foundation, Inc., 59
313  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
314
315  The full GNU General Public License is included in this distribution in the
316  file called LICENSE.
317
318  License Contact Information:
319
320  James P. Ketrenos <ipw2100-admin@linux.intel.com>
321
322  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
323
324