mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 05:34:00 +08:00
171e7b2f1f
Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
295 lines
11 KiB
Plaintext
295 lines
11 KiB
Plaintext
|
|
Intel(R) PRO/Wireless 2100 Driver for Linux in support of:
|
|
|
|
Intel(R) PRO/Wireless 2100 Network Connection
|
|
|
|
Copyright (C) 2003-2006, Intel Corporation
|
|
|
|
README.ipw2100
|
|
|
|
Version: git-1.1.5
|
|
Date : January 25, 2006
|
|
|
|
Index
|
|
-----------------------------------------------
|
|
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
|
|
1. Introduction
|
|
2. Release git-1.1.5 Current Features
|
|
3. Command Line Parameters
|
|
4. Sysfs Helper Files
|
|
5. Radio Kill Switch
|
|
6. Dynamic Firmware
|
|
7. Power Management
|
|
8. Support
|
|
9. License
|
|
|
|
|
|
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
|
|
-----------------------------------------------
|
|
|
|
Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!
|
|
|
|
Intel wireless LAN adapters are engineered, manufactured, tested, and
|
|
quality checked to ensure that they meet all necessary local and
|
|
governmental regulatory agency requirements for the regions that they
|
|
are designated and/or marked to ship into. Since wireless LANs are
|
|
generally unlicensed devices that share spectrum with radars,
|
|
satellites, and other licensed and unlicensed devices, it is sometimes
|
|
necessary to dynamically detect, avoid, and limit usage to avoid
|
|
interference with these devices. In many instances Intel is required to
|
|
provide test data to prove regional and local compliance to regional and
|
|
governmental regulations before certification or approval to use the
|
|
product is granted. Intel's wireless LAN's EEPROM, firmware, and
|
|
software driver are designed to carefully control parameters that affect
|
|
radio operation and to ensure electromagnetic compliance (EMC). These
|
|
parameters include, without limitation, RF power, spectrum usage,
|
|
channel scanning, and human exposure.
|
|
|
|
For these reasons Intel cannot permit any manipulation by third parties
|
|
of the software provided in binary format with the wireless WLAN
|
|
adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
|
|
patches, utilities, or code with the Intel wireless LAN adapters that
|
|
have been manipulated by an unauthorized party (i.e., patches,
|
|
utilities, or code (including open source code modifications) which have
|
|
not been validated by Intel), (i) you will be solely responsible for
|
|
ensuring the regulatory compliance of the products, (ii) Intel will bear
|
|
no liability, under any theory of liability for any issues associated
|
|
with the modified products, including without limitation, claims under
|
|
the warranty and/or issues arising from regulatory non-compliance, and
|
|
(iii) Intel will not provide or be required to assist in providing
|
|
support to any third parties for such modified products.
|
|
|
|
Note: Many regulatory agencies consider Wireless LAN adapters to be
|
|
modules, and accordingly, condition system-level regulatory approval
|
|
upon receipt and review of test data documenting that the antennas and
|
|
system configuration do not cause the EMC and radio operation to be
|
|
non-compliant.
|
|
|
|
The drivers available for download from SourceForge are provided as a
|
|
part of a development project. Conformance to local regulatory
|
|
requirements is the responsibility of the individual developer. As
|
|
such, if you are interested in deploying or shipping a driver as part of
|
|
solution intended to be used for purposes other than development, please
|
|
obtain a tested driver from Intel Customer Support at:
|
|
|
|
http://support.intel.com/support/notebook/sb/CS-006408.htm
|
|
|
|
|
|
1. Introduction
|
|
-----------------------------------------------
|
|
|
|
This document provides a brief overview of the features supported by the
|
|
IPW2100 driver project. The main project website, where the latest
|
|
development version of the driver can be found, is:
|
|
|
|
http://ipw2100.sourceforge.net
|
|
|
|
There you can find the not only the latest releases, but also information about
|
|
potential fixes and patches, as well as links to the development mailing list
|
|
for the driver project.
|
|
|
|
|
|
2. Release git-1.1.5 Current Supported Features
|
|
-----------------------------------------------
|
|
- Managed (BSS) and Ad-Hoc (IBSS)
|
|
- WEP (shared key and open)
|
|
- Wireless Tools support
|
|
- 802.1x (tested with XSupplicant 1.0.1)
|
|
|
|
Enabled (but not supported) features:
|
|
- Monitor/RFMon mode
|
|
- WPA/WPA2
|
|
|
|
The distinction between officially supported and enabled is a reflection
|
|
on the amount of validation and interoperability testing that has been
|
|
performed on a given feature.
|
|
|
|
|
|
3. Command Line Parameters
|
|
-----------------------------------------------
|
|
|
|
If the driver is built as a module, the following optional parameters are used
|
|
by entering them on the command line with the modprobe command using this
|
|
syntax:
|
|
|
|
modprobe ipw2100 [<option>=<VAL1><,VAL2>...]
|
|
|
|
For example, to disable the radio on driver loading, enter:
|
|
|
|
modprobe ipw2100 disable=1
|
|
|
|
The ipw2100 driver supports the following module parameters:
|
|
|
|
Name Value Example:
|
|
debug 0x0-0xffffffff debug=1024
|
|
mode 0,1,2 mode=1 /* AdHoc */
|
|
channel int channel=3 /* Only valid in AdHoc or Monitor */
|
|
associate boolean associate=0 /* Do NOT auto associate */
|
|
disable boolean disable=1 /* Do not power the HW */
|
|
|
|
|
|
4. Sysfs Helper Files
|
|
---------------------------
|
|
-----------------------------------------------
|
|
|
|
There are several ways to control the behavior of the driver. Many of the
|
|
general capabilities are exposed through the Wireless Tools (iwconfig). There
|
|
are a few capabilities that are exposed through entries in the Linux Sysfs.
|
|
|
|
|
|
----- Driver Level ------
|
|
For the driver level files, look in /sys/bus/pci/drivers/ipw2100/
|
|
|
|
debug_level
|
|
|
|
This controls the same global as the 'debug' module parameter. For
|
|
information on the various debugging levels available, run the 'dvals'
|
|
script found in the driver source directory.
|
|
|
|
NOTE: 'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn
|
|
on.
|
|
|
|
----- Device Level ------
|
|
For the device level files look in
|
|
|
|
/sys/bus/pci/drivers/ipw2100/{PCI-ID}/
|
|
|
|
For example:
|
|
/sys/bus/pci/drivers/ipw2100/0000:02:01.0
|
|
|
|
For the device level files, see /sys/bus/pci/drivers/ipw2100:
|
|
|
|
rf_kill
|
|
read -
|
|
0 = RF kill not enabled (radio on)
|
|
1 = SW based RF kill active (radio off)
|
|
2 = HW based RF kill active (radio off)
|
|
3 = Both HW and SW RF kill active (radio off)
|
|
write -
|
|
0 = If SW based RF kill active, turn the radio back on
|
|
1 = If radio is on, activate SW based RF kill
|
|
|
|
NOTE: If you enable the SW based RF kill and then toggle the HW
|
|
based RF kill from ON -> OFF -> ON, the radio will NOT come back on
|
|
|
|
|
|
5. Radio Kill Switch
|
|
-----------------------------------------------
|
|
Most laptops provide the ability for the user to physically disable the radio.
|
|
Some vendors have implemented this as a physical switch that requires no
|
|
software to turn the radio off and on. On other laptops, however, the switch
|
|
is controlled through a button being pressed and a software driver then making
|
|
calls to turn the radio off and on. This is referred to as a "software based
|
|
RF kill switch"
|
|
|
|
See the Sysfs helper file 'rf_kill' for determining the state of the RF switch
|
|
on your system.
|
|
|
|
|
|
6. Dynamic Firmware
|
|
-----------------------------------------------
|
|
As the firmware is licensed under a restricted use license, it can not be
|
|
included within the kernel sources. To enable the IPW2100 you will need a
|
|
firmware image to load into the wireless NIC's processors.
|
|
|
|
You can obtain these images from <http://ipw2100.sf.net/firmware.php>.
|
|
|
|
See INSTALL for instructions on installing the firmware.
|
|
|
|
|
|
7. Power Management
|
|
-----------------------------------------------
|
|
The IPW2100 supports the configuration of the Power Save Protocol
|
|
through a private wireless extension interface. The IPW2100 supports
|
|
the following different modes:
|
|
|
|
off No power management. Radio is always on.
|
|
on Automatic power management
|
|
1-5 Different levels of power management. The higher the
|
|
number the greater the power savings, but with an impact to
|
|
packet latencies.
|
|
|
|
Power management works by powering down the radio after a certain
|
|
interval of time has passed where no packets are passed through the
|
|
radio. Once powered down, the radio remains in that state for a given
|
|
period of time. For higher power savings, the interval between last
|
|
packet processed to sleep is shorter and the sleep period is longer.
|
|
|
|
When the radio is asleep, the access point sending data to the station
|
|
must buffer packets at the AP until the station wakes up and requests
|
|
any buffered packets. If you have an AP that does not correctly support
|
|
the PSP protocol you may experience packet loss or very poor performance
|
|
while power management is enabled. If this is the case, you will need
|
|
to try and find a firmware update for your AP, or disable power
|
|
management (via `iwconfig eth1 power off`)
|
|
|
|
To configure the power level on the IPW2100 you use a combination of
|
|
iwconfig and iwpriv. iwconfig is used to turn power management on, off,
|
|
and set it to auto.
|
|
|
|
iwconfig eth1 power off Disables radio power down
|
|
iwconfig eth1 power on Enables radio power management to
|
|
last set level (defaults to AUTO)
|
|
iwpriv eth1 set_power 0 Sets power level to AUTO and enables
|
|
power management if not previously
|
|
enabled.
|
|
iwpriv eth1 set_power 1-5 Set the power level as specified,
|
|
enabling power management if not
|
|
previously enabled.
|
|
|
|
You can view the current power level setting via:
|
|
|
|
iwpriv eth1 get_power
|
|
|
|
It will return the current period or timeout that is configured as a string
|
|
in the form of xxxx/yyyy (z) where xxxx is the timeout interval (amount of
|
|
time after packet processing), yyyy is the period to sleep (amount of time to
|
|
wait before powering the radio and querying the access point for buffered
|
|
packets), and z is the 'power level'. If power management is turned off the
|
|
xxxx/yyyy will be replaced with 'off' -- the level reported will be the active
|
|
level if `iwconfig eth1 power on` is invoked.
|
|
|
|
|
|
8. Support
|
|
-----------------------------------------------
|
|
|
|
For general development information and support,
|
|
go to:
|
|
|
|
http://ipw2100.sf.net/
|
|
|
|
The ipw2100 1.1.0 driver and firmware can be downloaded from:
|
|
|
|
http://support.intel.com
|
|
|
|
For installation support on the ipw2100 1.1.0 driver on Linux kernels
|
|
2.6.8 or greater, email support is available from:
|
|
|
|
http://supportmail.intel.com
|
|
|
|
9. License
|
|
-----------------------------------------------
|
|
|
|
Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License (version 2) as
|
|
published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
more details.
|
|
|
|
You should have received a copy of the GNU General Public License along with
|
|
this program; if not, write to the Free Software Foundation, Inc., 59
|
|
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
The full GNU General Public License is included in this distribution in the
|
|
file called LICENSE.
|
|
|
|
License Contact Information:
|
|
James P. Ketrenos <ipw2100-admin@linux.intel.com>
|
|
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
|
|
|