cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ipw2200.rst (17496B)


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