Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 .. include:: <isonum.txt>
0003 
0004 ==============================================
0005 Intel(R) PRO/Wireless 2915ABG Driver for Linux
0006 ==============================================
0007 
0008 
0009 Support for:
0010 
0011 - Intel(R) PRO/Wireless 2200BG Network Connection
0012 - Intel(R) PRO/Wireless 2915ABG Network Connection
0013 
0014 Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
0015 PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
0016 both hardware adapters listed above. In this document the Intel(R)
0017 PRO/Wireless 2915ABG Driver for Linux will be used to reference the
0018 unified driver.
0019 
0020 Copyright |copy| 2004-2006, Intel Corporation
0021 
0022 README.ipw2200
0023 
0024 :Version: 1.1.2
0025 :Date: March 30, 2006
0026 
0027 
0028 .. Index
0029 
0030     0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
0031     1.   Introduction
0032     1.1. Overview of features
0033     1.2. Module parameters
0034     1.3. Wireless Extension Private Methods
0035     1.4. Sysfs Helper Files
0036     1.5. Supported channels
0037     2.   Ad-Hoc Networking
0038     3.   Interacting with Wireless Tools
0039     3.1. iwconfig mode
0040     3.2. iwconfig sens
0041     4.   About the Version Numbers
0042     5.   Firmware installation
0043     6.   Support
0044     7.   License
0045 
0046 
0047 0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
0048 =================================================
0049 
0050 Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!
0051 
0052 Intel wireless LAN adapters are engineered, manufactured, tested, and
0053 quality checked to ensure that they meet all necessary local and
0054 governmental regulatory agency requirements for the regions that they
0055 are designated and/or marked to ship into. Since wireless LANs are
0056 generally unlicensed devices that share spectrum with radars,
0057 satellites, and other licensed and unlicensed devices, it is sometimes
0058 necessary to dynamically detect, avoid, and limit usage to avoid
0059 interference with these devices. In many instances Intel is required to
0060 provide test data to prove regional and local compliance to regional and
0061 governmental regulations before certification or approval to use the
0062 product is granted. Intel's wireless LAN's EEPROM, firmware, and
0063 software driver are designed to carefully control parameters that affect
0064 radio operation and to ensure electromagnetic compliance (EMC). These
0065 parameters include, without limitation, RF power, spectrum usage,
0066 channel scanning, and human exposure.
0067 
0068 For these reasons Intel cannot permit any manipulation by third parties
0069 of the software provided in binary format with the wireless WLAN
0070 adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
0071 patches, utilities, or code with the Intel wireless LAN adapters that
0072 have been manipulated by an unauthorized party (i.e., patches,
0073 utilities, or code (including open source code modifications) which have
0074 not been validated by Intel), (i) you will be solely responsible for
0075 ensuring the regulatory compliance of the products, (ii) Intel will bear
0076 no liability, under any theory of liability for any issues associated
0077 with the modified products, including without limitation, claims under
0078 the warranty and/or issues arising from regulatory non-compliance, and
0079 (iii) Intel will not provide or be required to assist in providing
0080 support to any third parties for such modified products.
0081 
0082 Note: Many regulatory agencies consider Wireless LAN adapters to be
0083 modules, and accordingly, condition system-level regulatory approval
0084 upon receipt and review of test data documenting that the antennas and
0085 system configuration do not cause the EMC and radio operation to be
0086 non-compliant.
0087 
0088 The drivers available for download from SourceForge are provided as a
0089 part of a development project.  Conformance to local regulatory
0090 requirements is the responsibility of the individual developer.  As
0091 such, if you are interested in deploying or shipping a driver as part of
0092 solution intended to be used for purposes other than development, please
0093 obtain a tested driver from Intel Customer Support at:
0094 
0095 http://support.intel.com
0096 
0097 
0098 1. Introduction
0099 ===============
0100 
0101 The following sections attempt to provide a brief introduction to using
0102 the Intel(R) PRO/Wireless 2915ABG Driver for Linux.
0103 
0104 This document is not meant to be a comprehensive manual on
0105 understanding or using wireless technologies, but should be sufficient
0106 to get you moving without wires on Linux.
0107 
0108 For information on building and installing the driver, see the INSTALL
0109 file.
0110 
0111 
0112 1.1. Overview of Features
0113 -------------------------
0114 The current release (1.1.2) supports the following features:
0115 
0116 + BSS mode (Infrastructure, Managed)
0117 + IBSS mode (Ad-Hoc)
0118 + WEP (OPEN and SHARED KEY mode)
0119 + 802.1x EAP via wpa_supplicant and xsupplicant
0120 + Wireless Extension support
0121 + Full B and G rate support (2200 and 2915)
0122 + Full A rate support (2915 only)
0123 + Transmit power control
0124 + S state support (ACPI suspend/resume)
0125 
0126 The following features are currently enabled, but not officially
0127 supported:
0128 
0129 + WPA
0130 + long/short preamble support
0131 + Monitor mode (aka RFMon)
0132 
0133 The distinction between officially supported and enabled is a reflection
0134 on the amount of validation and interoperability testing that has been
0135 performed on a given feature.
0136 
0137 
0138 
0139 1.2. Command Line Parameters
0140 ----------------------------
0141 
0142 Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
0143 2915ABG Driver for Linux allows configuration options to be provided
0144 as module parameters.  The most common way to specify a module parameter
0145 is via the command line.
0146 
0147 The general form is::
0148 
0149     % modprobe ipw2200 parameter=value
0150 
0151 Where the supported parameter are:
0152 
0153   associate
0154         Set to 0 to disable the auto scan-and-associate functionality of the
0155         driver.  If disabled, the driver will not attempt to scan
0156         for and associate to a network until it has been configured with
0157         one or more properties for the target network, for example configuring
0158         the network SSID.  Default is 0 (do not auto-associate)
0159 
0160         Example: % modprobe ipw2200 associate=0
0161 
0162   auto_create
0163         Set to 0 to disable the auto creation of an Ad-Hoc network
0164         matching the channel and network name parameters provided.
0165         Default is 1.
0166 
0167   channel
0168         channel number for association.  The normal method for setting
0169         the channel would be to use the standard wireless tools
0170         (i.e. `iwconfig eth1 channel 10`), but it is useful sometimes
0171         to set this while debugging.  Channel 0 means 'ANY'
0172 
0173   debug
0174         If using a debug build, this is used to control the amount of debug
0175         info is logged.  See the 'dvals' and 'load' script for more info on
0176         how to use this (the dvals and load scripts are provided as part
0177         of the ipw2200 development snapshot releases available from the
0178         SourceForge project at http://ipw2200.sf.net)
0179 
0180   led
0181         Can be used to turn on experimental LED code.
0182         0 = Off, 1 = On.  Default is 1.
0183 
0184   mode
0185         Can be used to set the default mode of the adapter.
0186         0 = Managed, 1 = Ad-Hoc, 2 = Monitor
0187 
0188 
0189 1.3. Wireless Extension Private Methods
0190 ---------------------------------------
0191 
0192 As an interface designed to handle generic hardware, there are certain
0193 capabilities not exposed through the normal Wireless Tool interface.  As
0194 such, a provision is provided for a driver to declare custom, or
0195 private, methods.  The Intel(R) PRO/Wireless 2915ABG Driver for Linux
0196 defines several of these to configure various settings.
0197 
0198 The general form of using the private wireless methods is::
0199 
0200         % iwpriv $IFNAME method parameters
0201 
0202 Where $IFNAME is the interface name the device is registered with
0203 (typically eth1, customized via one of the various network interface
0204 name managers, such as ifrename)
0205 
0206 The supported private methods are:
0207 
0208   get_mode
0209         Can be used to report out which IEEE mode the driver is
0210         configured to support.  Example:
0211 
0212         % iwpriv eth1 get_mode
0213         eth1    get_mode:802.11bg (6)
0214 
0215   set_mode
0216         Can be used to configure which IEEE mode the driver will
0217         support.
0218 
0219         Usage::
0220 
0221             % iwpriv eth1 set_mode {mode}
0222 
0223         Where {mode} is a number in the range 1-7:
0224 
0225         ==      =====================
0226         1       802.11a (2915 only)
0227         2       802.11b
0228         3       802.11ab (2915 only)
0229         4       802.11g
0230         5       802.11ag (2915 only)
0231         6       802.11bg
0232         7       802.11abg (2915 only)
0233         ==      =====================
0234 
0235   get_preamble
0236         Can be used to report configuration of preamble length.
0237 
0238   set_preamble
0239         Can be used to set the configuration of preamble length:
0240 
0241         Usage::
0242 
0243             % iwpriv eth1 set_preamble {mode}
0244 
0245         Where {mode} is one of:
0246 
0247         ==      ========================================
0248         1       Long preamble only
0249         0       Auto (long or short based on connection)
0250         ==      ========================================
0251 
0252 
0253 1.4. Sysfs Helper Files
0254 -----------------------
0255 
0256 The Linux kernel provides a pseudo file system that can be used to
0257 access various components of the operating system.  The Intel(R)
0258 PRO/Wireless 2915ABG Driver for Linux exposes several configuration
0259 parameters through this mechanism.
0260 
0261 An entry in the sysfs can support reading and/or writing.  You can
0262 typically query the contents of a sysfs entry through the use of cat,
0263 and can set the contents via echo.  For example::
0264 
0265     % cat /sys/bus/pci/drivers/ipw2200/debug_level
0266 
0267 Will report the current debug level of the driver's logging subsystem
0268 (only available if CONFIG_IPW2200_DEBUG was configured when the driver
0269 was built).
0270 
0271 You can set the debug level via::
0272 
0273     % echo $VALUE > /sys/bus/pci/drivers/ipw2200/debug_level
0274 
0275 Where $VALUE would be a number in the case of this sysfs entry.  The
0276 input to sysfs files does not have to be a number.  For example, the
0277 firmware loader used by hotplug utilizes sysfs entries for transferring
0278 the firmware image from user space into the driver.
0279 
0280 The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
0281 at two levels -- driver level, which apply to all instances of the driver
0282 (in the event that there are more than one device installed) and device
0283 level, which applies only to the single specific instance.
0284 
0285 
0286 1.4.1 Driver Level Sysfs Helper Files
0287 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0288 
0289 For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
0290 
0291   debug_level
0292         This controls the same global as the 'debug' module parameter
0293 
0294 
0295 
0296 1.4.2 Device Level Sysfs Helper Files
0297 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0298 
0299 For the device level files, look in::
0300 
0301         /sys/bus/pci/drivers/ipw2200/{PCI-ID}/
0302 
0303 For example:::
0304 
0305         /sys/bus/pci/drivers/ipw2200/0000:02:01.0
0306 
0307 For the device level files, see /sys/bus/pci/drivers/ipw2200:
0308 
0309   rf_kill
0310         read -
0311 
0312         ==  =========================================
0313         0   RF kill not enabled (radio on)
0314         1   SW based RF kill active (radio off)
0315         2   HW based RF kill active (radio off)
0316         3   Both HW and SW RF kill active (radio off)
0317         ==  =========================================
0318 
0319         write -
0320 
0321         ==  ==================================================
0322         0   If SW based RF kill active, turn the radio back on
0323         1   If radio is on, activate SW based RF kill
0324         ==  ==================================================
0325 
0326         .. note::
0327 
0328            If you enable the SW based RF kill and then toggle the HW
0329            based RF kill from ON -> OFF -> ON, the radio will NOT come back on
0330 
0331   ucode
0332         read-only access to the ucode version number
0333 
0334   led
0335         read -
0336 
0337         ==  =================
0338         0   LED code disabled
0339         1   LED code enabled
0340         ==  =================
0341 
0342         write -
0343 
0344         ==  ================
0345         0   Disable LED code
0346         1   Enable LED code
0347         ==  ================
0348 
0349 
0350         .. note::
0351 
0352            The LED code has been reported to hang some systems when
0353            running ifconfig and is therefore disabled by default.
0354 
0355 
0356 1.5. Supported channels
0357 -----------------------
0358 
0359 Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
0360 message stating the detected geography code and the number of 802.11
0361 channels supported by the card will be displayed in the log.
0362 
0363 The geography code corresponds to a regulatory domain as shown in the
0364 table below.
0365 
0366         +------+----------------------------+--------------------+
0367         |      |                            | Supported channels |
0368         | Code |        Geography           +----------+---------+
0369         |      |                            | 802.11bg | 802.11a |
0370         +======+============================+==========+=========+
0371         | ---  | Restricted                 |  11      |   0     |
0372         +------+----------------------------+----------+---------+
0373         | ZZF  | Custom US/Canada           |  11      |   8     |
0374         +------+----------------------------+----------+---------+
0375         | ZZD  | Rest of World              |  13      |   0     |
0376         +------+----------------------------+----------+---------+
0377         | ZZA  | Custom USA & Europe & High |  11      |  13     |
0378         +------+----------------------------+----------+---------+
0379         | ZZB  | Custom NA & Europe         |  11      |  13     |
0380         +------+----------------------------+----------+---------+
0381         | ZZC  | Custom Japan               |  11      |   4     |
0382         +------+----------------------------+----------+---------+
0383         | ZZM  | Custom                     |  11      |   0     |
0384         +------+----------------------------+----------+---------+
0385         | ZZE  | Europe                     |  13      |  19     |
0386         +------+----------------------------+----------+---------+
0387         | ZZJ  | Custom Japan               |  14      |   4     |
0388         +------+----------------------------+----------+---------+
0389         | ZZR  | Rest of World              |  14      |   0     |
0390         +------+----------------------------+----------+---------+
0391         | ZZH  | High Band                  |  13      |   4     |
0392         +------+----------------------------+----------+---------+
0393         | ZZG  | Custom Europe              |  13      |   4     |
0394         +------+----------------------------+----------+---------+
0395         | ZZK  | Europe                     |  13      |  24     |
0396         +------+----------------------------+----------+---------+
0397         | ZZL  | Europe                     |  11      |  13     |
0398         +------+----------------------------+----------+---------+
0399 
0400 2.  Ad-Hoc Networking
0401 =====================
0402 
0403 When using a device in an Ad-Hoc network, it is useful to understand the
0404 sequence and requirements for the driver to be able to create, join, or
0405 merge networks.
0406 
0407 The following attempts to provide enough information so that you can
0408 have a consistent experience while using the driver as a member of an
0409 Ad-Hoc network.
0410 
0411 2.1. Joining an Ad-Hoc Network
0412 ------------------------------
0413 
0414 The easiest way to get onto an Ad-Hoc network is to join one that
0415 already exists.
0416 
0417 2.2. Creating an Ad-Hoc Network
0418 -------------------------------
0419 
0420 An Ad-Hoc networks is created using the syntax of the Wireless tool.
0421 
0422 For Example:
0423 iwconfig eth1 mode ad-hoc essid testing channel 2
0424 
0425 2.3. Merging Ad-Hoc Networks
0426 ----------------------------
0427 
0428 
0429 3. Interaction with Wireless Tools
0430 ==================================
0431 
0432 3.1 iwconfig mode
0433 -----------------
0434 
0435 When configuring the mode of the adapter, all run-time configured parameters
0436 are reset to the value used when the module was loaded.  This includes
0437 channels, rates, ESSID, etc.
0438 
0439 3.2 iwconfig sens
0440 -----------------
0441 
0442 The 'iwconfig ethX sens XX' command will not set the signal sensitivity
0443 threshold, as described in iwconfig documentation, but rather the number
0444 of consecutive missed beacons that will trigger handover, i.e. roaming
0445 to another access point. At the same time, it will set the disassociation
0446 threshold to 3 times the given value.
0447 
0448 
0449 4.  About the Version Numbers
0450 =============================
0451 
0452 Due to the nature of open source development projects, there are
0453 frequently changes being incorporated that have not gone through
0454 a complete validation process.  These changes are incorporated into
0455 development snapshot releases.
0456 
0457 Releases are numbered with a three level scheme:
0458 
0459         major.minor.development
0460 
0461 Any version where the 'development' portion is 0 (for example
0462 1.0.0, 1.1.0, etc.) indicates a stable version that will be made
0463 available for kernel inclusion.
0464 
0465 Any version where the 'development' portion is not a 0 (for
0466 example 1.0.1, 1.1.5, etc.) indicates a development version that is
0467 being made available for testing and cutting edge users.  The stability
0468 and functionality of the development releases are not know.  We make
0469 efforts to try and keep all snapshots reasonably stable, but due to the
0470 frequency of their release, and the desire to get those releases
0471 available as quickly as possible, unknown anomalies should be expected.
0472 
0473 The major version number will be incremented when significant changes
0474 are made to the driver.  Currently, there are no major changes planned.
0475 
0476 5. Firmware installation
0477 ========================
0478 
0479 The driver requires a firmware image, download it and extract the
0480 files under /lib/firmware (or wherever your hotplug's firmware.agent
0481 will look for firmware files)
0482 
0483 The firmware can be downloaded from the following URL:
0484 
0485     http://ipw2200.sf.net/
0486 
0487 
0488 6. Support
0489 ==========
0490 
0491 For direct support of the 1.0.0 version, you can contact
0492 http://supportmail.intel.com, or you can use the open source project
0493 support.
0494 
0495 For general information and support, go to:
0496 
0497     http://ipw2200.sf.net/
0498 
0499 
0500 7. License
0501 ==========
0502 
0503   Copyright |copy| 2003 - 2006 Intel Corporation. All rights reserved.
0504 
0505   This program is free software; you can redistribute it and/or modify it
0506   under the terms of the GNU General Public License version 2 as
0507   published by the Free Software Foundation.
0508 
0509   This program is distributed in the hope that it will be useful, but WITHOUT
0510   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0511   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
0512   more details.
0513 
0514   You should have received a copy of the GNU General Public License along with
0515   this program; if not, write to the Free Software Foundation, Inc., 59
0516   Temple Place - Suite 330, Boston, MA  02111-1307, USA.
0517 
0518   The full GNU General Public License is included in this distribution in the
0519   file called LICENSE.
0520 
0521   Contact Information:
0522 
0523   James P. Ketrenos <ipw2100-admin@linux.intel.com>
0524 
0525   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
0526