Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
eedb9f09
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
153
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
eedb9f09
编写于
11月 09, 2005
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
差异文件
Merge
rsync://bughost.org/repos/ipw-delta/
上级
f24e0975
826d2abe
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
7717 addition
and
3107 deletion
+7717
-3107
Documentation/networking/README.ipw2100
Documentation/networking/README.ipw2100
+90
-42
Documentation/networking/README.ipw2200
Documentation/networking/README.ipw2200
+164
-32
MAINTAINERS
MAINTAINERS
+18
-0
drivers/net/wireless/ipw2100.c
drivers/net/wireless/ipw2100.c
+1567
-1293
drivers/net/wireless/ipw2100.h
drivers/net/wireless/ipw2100.h
+77
-92
drivers/net/wireless/ipw2200.c
drivers/net/wireless/ipw2200.c
+5391
-1484
drivers/net/wireless/ipw2200.h
drivers/net/wireless/ipw2200.h
+410
-164
未找到文件。
Documentation/networking/README.ipw2100
浏览文件 @
eedb9f09
===========================
Intel(R) PRO/Wireless 2100 Driver for Linux in support of:
Intel(R) PRO/Wireless 2100 Network Connection Driver for Linux
Intel(R) PRO/Wireless 2100 Network Connection
Copyright (C) 2003-2005, Intel Corporation
README.ipw2100
README.ipw2100
March 14, 2005
Version: 1.1.3
Date : October 17, 2005
===========================
Index
Index
---------------------------
-----------------------------------------------
0. Introduction
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
1. Release 1.1.0 Current Features
1. Introduction
2. Command Line Parameters
2. Release 1.1.3 Current Features
3. Sysfs Helper Files
3. Command Line Parameters
4. Radio Kill Switch
4. Sysfs Helper Files
5. Dynamic Firmware
5. Radio Kill Switch
6. Power Management
6. Dynamic Firmware
7. Support
7. Power Management
8. License
8. Support
9. License
===========================
0. Introduction
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
This document provides a brief overview of the features supported by the
IPW2100 driver project. The main project website, where the latest
IPW2100 driver project. The main project website, where the latest
...
@@ -34,9 +89,8 @@ potential fixes and patches, as well as links to the development mailing list
...
@@ -34,9 +89,8 @@ potential fixes and patches, as well as links to the development mailing list
for the driver project.
for the driver project.
===========================
2. Release 1.1.3 Current Supported Features
1. Release 1.1.0 Current Supported Features
-----------------------------------------------
---------------------------
- Managed (BSS) and Ad-Hoc (IBSS)
- Managed (BSS) and Ad-Hoc (IBSS)
- WEP (shared key and open)
- WEP (shared key and open)
- Wireless Tools support
- Wireless Tools support
...
@@ -51,9 +105,8 @@ on the amount of validation and interoperability testing that has been
...
@@ -51,9 +105,8 @@ on the amount of validation and interoperability testing that has been
performed on a given feature.
performed on a given feature.
===========================
3. Command Line Parameters
2. Command Line Parameters
-----------------------------------------------
---------------------------
If the driver is built as a module, the following optional parameters are used
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
by entering them on the command line with the modprobe command using this
...
@@ -75,9 +128,9 @@ associate boolean associate=0 /* Do NOT auto associate */
...
@@ -75,9 +128,9 @@ associate boolean associate=0 /* Do NOT auto associate */
disable boolean disable=1 /* Do not power the HW */
disable boolean disable=1 /* Do not power the HW */
===========================
4. Sysfs Helper Files
3. Sysfs Helper Files
---------------------------
---------------------------
-----------------------------------------------
There are several ways to control the behavior of the driver. Many of the
There are several ways to control the behavior of the driver. Many of the
general capabilities are exposed through the Wireless Tools (iwconfig). There
general capabilities are exposed through the Wireless Tools (iwconfig). There
...
@@ -120,9 +173,8 @@ For the device level files, see /sys/bus/pci/drivers/ipw2100:
...
@@ -120,9 +173,8 @@ For the device level files, see /sys/bus/pci/drivers/ipw2100:
based RF kill from ON -> OFF -> ON, the radio will NOT come back on
based RF kill from ON -> OFF -> ON, the radio will NOT come back on
===========================
5. Radio Kill Switch
4. Radio Kill Switch
-----------------------------------------------
---------------------------
Most laptops provide the ability for the user to physically disable the radio.
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
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
software to turn the radio off and on. On other laptops, however, the switch
...
@@ -134,9 +186,8 @@ See the Sysfs helper file 'rf_kill' for determining the state of the RF switch
...
@@ -134,9 +186,8 @@ See the Sysfs helper file 'rf_kill' for determining the state of the RF switch
on your system.
on your system.
===========================
6. Dynamic Firmware
5. Dynamic Firmware
-----------------------------------------------
---------------------------
As the firmware is licensed under a restricted use license, it can not be
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
included within the kernel sources. To enable the IPW2100 you will need a
firmware image to load into the wireless NIC's processors.
firmware image to load into the wireless NIC's processors.
...
@@ -146,9 +197,8 @@ You can obtain these images from <http://ipw2100.sf.net/firmware.php>.
...
@@ -146,9 +197,8 @@ You can obtain these images from <http://ipw2100.sf.net/firmware.php>.
See INSTALL for instructions on installing the firmware.
See INSTALL for instructions on installing the firmware.
===========================
7. Power Management
6. Power Management
-----------------------------------------------
---------------------------
The IPW2100 supports the configuration of the Power Save Protocol
The IPW2100 supports the configuration of the Power Save Protocol
through a private wireless extension interface. The IPW2100 supports
through a private wireless extension interface. The IPW2100 supports
the following different modes:
the following different modes:
...
@@ -200,9 +250,8 @@ xxxx/yyyy will be replaced with 'off' -- the level reported will be the active
...
@@ -200,9 +250,8 @@ xxxx/yyyy will be replaced with 'off' -- the level reported will be the active
level if `iwconfig eth1 power on` is invoked.
level if `iwconfig eth1 power on` is invoked.
===========================
8. Support
7. Support
-----------------------------------------------
---------------------------
For general development information and support,
For general development information and support,
go to:
go to:
...
@@ -218,9 +267,8 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
...
@@ -218,9 +267,8 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
http://supportmail.intel.com
http://supportmail.intel.com
===========================
9. License
8. License
-----------------------------------------------
---------------------------
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
...
...
Documentation/networking/README.ipw2200
浏览文件 @
eedb9f09
Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
Intel(R) PRO/Wireless 2915ABG Driver for Linux in support of:
Intel(R) PRO/Wireless 2200BG Network Connection
Intel(R) PRO/Wireless 2200BG Network Connection
Intel(R) PRO/Wireless 2915ABG Network Connection
Intel(R) PRO/Wireless 2915ABG Network Connection
Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
Note: The Intel(R) PRO/Wireless 2915ABG Driver for Linux and Intel(R)
PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
PRO/Wireless 2200BG Driver for Linux is a unified driver that works on
both hardware adapters listed above. In this document the Intel(R)
both hardware adapters listed above. In this document the Intel(R)
PRO/Wireless 2915ABG Driver for Linux will be used to reference the
PRO/Wireless 2915ABG Driver for Linux will be used to reference the
unified driver.
unified driver.
Copyright (C) 2004-2005, Intel Corporation
Copyright (C) 2004-2005, Intel Corporation
README.ipw2200
README.ipw2200
Version: 1.0.
0
Version: 1.0.
8
Date :
January 31
, 2005
Date :
October 20
, 2005
Index
Index
-----------------------------------------------
-----------------------------------------------
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
1. Introduction
1. Introduction
1.1. Overview of features
1.1. Overview of features
1.2. Module parameters
1.2. Module parameters
1.3. Wireless Extension Private Methods
1.3. Wireless Extension Private Methods
1.4. Sysfs Helper Files
1.4. Sysfs Helper Files
2. About the Version Numbers
2. Ad-Hoc Networking
3. Support
3. Interacting with Wireless Tools
4. License
3.1. iwconfig mode
4. About the Version Numbers
5. Firmware installation
6. Support
7. 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
1. Introduction
...
@@ -45,7 +101,7 @@ file.
...
@@ -45,7 +101,7 @@ file.
1.1. Overview of Features
1.1. Overview of Features
-----------------------------------------------
-----------------------------------------------
The current release (1.0.
0
) supports the following features:
The current release (1.0.
8
) supports the following features:
+ BSS mode (Infrastructure, Managed)
+ BSS mode (Infrastructure, Managed)
+ IBSS mode (Ad-Hoc)
+ IBSS mode (Ad-Hoc)
...
@@ -56,17 +112,27 @@ The current release (1.0.0) supports the following features:
...
@@ -56,17 +112,27 @@ The current release (1.0.0) supports the following features:
+ Full A rate support (2915 only)
+ Full A rate support (2915 only)
+ Transmit power control
+ Transmit power control
+ S state support (ACPI suspend/resume)
+ S state support (ACPI suspend/resume)
The following features are currently enabled, but not officially
supported:
+ WPA
+ long/short preamble support
+ long/short preamble support
+ Monitor mode (aka RFMon)
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.
1.2. Command Line Parameters
1.2. Command Line Parameters
-----------------------------------------------
-----------------------------------------------
Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
Like many modules used in the Linux kernel, the Intel(R) PRO/Wireless
2915ABG Driver for Linux allows c
ertain configuration options to be
2915ABG Driver for Linux allows c
onfiguration options to be provided
provided as module parameters. The most common way to specify a module
as module parameters. The most common way to specify a module parameter
parameter
is via the command line.
is via the command line.
The general form is:
The general form is:
...
@@ -96,14 +162,18 @@ Where the supported parameter are:
...
@@ -96,14 +162,18 @@ Where the supported parameter are:
debug
debug
If using a debug build, this is used to control the amount of debug
If using a debug build, this is used to control the amount of debug
info is logged. See the 'dval' and 'load' script for more info on
info is logged. See the 'dval
s
' and 'load' script for more info on
how to use this (the dval and load scripts are provided as part
how to use this (the dval
s
and load scripts are provided as part
of the ipw2200 development snapshot releases available from the
of the ipw2200 development snapshot releases available from the
SourceForge project at http://ipw2200.sf.net)
SourceForge project at http://ipw2200.sf.net)
led
Can be used to turn on experimental LED code.
0 = Off, 1 = On. Default is 0.
mode
mode
Can be used to set the default mode of the adapter.
Can be used to set the default mode of the adapter.
0 = Managed, 1 = Ad-Hoc
0 = Managed, 1 = Ad-Hoc
, 2 = Monitor
1.3. Wireless Extension Private Methods
1.3. Wireless Extension Private Methods
...
@@ -164,8 +234,8 @@ The supported private methods are:
...
@@ -164,8 +234,8 @@ The supported private methods are:
-----------------------------------------------
-----------------------------------------------
The Linux kernel provides a pseudo file system that can be used to
The Linux kernel provides a pseudo file system that can be used to
access various components of the operating system. The Intel(R)
access various components of the operating system. The Intel(R)
PRO/Wireless 2915ABG Driver for Linux exposes several configuration
PRO/Wireless 2915ABG Driver for Linux exposes several configuration
parameters through this mechanism.
parameters through this mechanism.
An entry in the sysfs can support reading and/or writing. You can
An entry in the sysfs can support reading and/or writing. You can
...
@@ -184,13 +254,13 @@ You can set the debug level via:
...
@@ -184,13 +254,13 @@ You can set the debug level via:
Where $VALUE would be a number in the case of this sysfs entry. The
Where $VALUE would be a number in the case of this sysfs entry. The
input to sysfs files does not have to be a number. For example, the
input to sysfs files does not have to be a number. For example, the
firmware loader used by hotplug utilizes sysfs entries for transfer
r
ing
firmware loader used by hotplug utilizes sysfs entries for transfering
the firmware image from user space into the driver.
the firmware image from user space into the driver.
The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
at two levels -- driver level, which apply to all instances of the
at two levels -- driver level, which apply to all instances of the
driver
driver (in the event that there are more than one device installed) and
(in the event that there are more than one device installed) and device
device
level, which applies only to the single specific instance.
level, which applies only to the single specific instance.
1.4.1 Driver Level Sysfs Helper Files
1.4.1 Driver Level Sysfs Helper Files
...
@@ -203,6 +273,7 @@ For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
...
@@ -203,6 +273,7 @@ For the driver level files, look in /sys/bus/pci/drivers/ipw2200/
This controls the same global as the 'debug' module parameter
This controls the same global as the 'debug' module parameter
1.4.2 Device Level Sysfs Helper Files
1.4.2 Device Level Sysfs Helper Files
-----------------------------------------------
-----------------------------------------------
...
@@ -213,7 +284,7 @@ For the device level files, look in
...
@@ -213,7 +284,7 @@ For the device level files, look in
For example:
For example:
/sys/bus/pci/drivers/ipw2200/0000:02:01.0
/sys/bus/pci/drivers/ipw2200/0000:02:01.0
For the device level files, see /sys/bus/pci/
[
drivers/ipw2200:
For the device level files, see /sys/bus/pci/drivers/ipw2200:
rf_kill
rf_kill
read -
read -
...
@@ -231,8 +302,59 @@ For the device level files, see /sys/bus/pci/[drivers/ipw2200:
...
@@ -231,8 +302,59 @@ For the device level files, see /sys/bus/pci/[drivers/ipw2200:
ucode
ucode
read-only access to the ucode version number
read-only access to the ucode version number
led
read -
0 = LED code disabled
1 = LED code enabled
write -
0 = Disable LED code
1 = Enable LED code
NOTE: The LED code has been reported to hang some systems when
running ifconfig and is therefore disabled by default.
2. Ad-Hoc Networking
-----------------------------------------------
When using a device in an Ad-Hoc network, it is useful to understand the
sequence and requirements for the driver to be able to create, join, or
merge networks.
The following attempts to provide enough information so that you can
have a consistent experience while using the driver as a member of an
Ad-Hoc network.
2.1. Joining an Ad-Hoc Network
-----------------------------------------------
The easiest way to get onto an Ad-Hoc network is to join one that
already exists.
2. About the Version Numbers
2.2. Creating an Ad-Hoc Network
-----------------------------------------------
An Ad-Hoc networks is created using the syntax of the Wireless tool.
For Example:
iwconfig eth1 mode ad-hoc essid testing channel 2
2.3. Merging Ad-Hoc Networks
-----------------------------------------------
3. Interaction with Wireless Tools
-----------------------------------------------
3.1 iwconfig mode
-----------------------------------------------
When configuring the mode of the adapter, all run-time configured parameters
are reset to the value used when the module was loaded. This includes
channels, rates, ESSID, etc.
4. About the Version Numbers
-----------------------------------------------
-----------------------------------------------
Due to the nature of open source development projects, there are
Due to the nature of open source development projects, there are
...
@@ -259,12 +381,23 @@ available as quickly as possible, unknown anomalies should be expected.
...
@@ -259,12 +381,23 @@ available as quickly as possible, unknown anomalies should be expected.
The major version number will be incremented when significant changes
The major version number will be incremented when significant changes
are made to the driver. Currently, there are no major changes planned.
are made to the driver. Currently, there are no major changes planned.
5. Firmware installation
----------------------------------------------
The driver requires a firmware image, download it and extract the
files under /lib/firmware (or wherever your hotplug's firmware.agent
will look for firmware files)
The firmware can be downloaded from the following URL:
3. Support
http://ipw2200.sf.net/
6. Support
-----------------------------------------------
-----------------------------------------------
For
installation
support of the 1.0.0 version, you can contact
For
direct
support of the 1.0.0 version, you can contact
http://supportmail.intel.com, or you can use the open source project
http://supportmail.intel.com, or you can use the open source project
support.
support.
For general information and support, go to:
For general information and support, go to:
...
@@ -272,7 +405,7 @@ For general information and support, go to:
...
@@ -272,7 +405,7 @@ For general information and support, go to:
http://ipw2200.sf.net/
http://ipw2200.sf.net/
4
. License
7
. License
-----------------------------------------------
-----------------------------------------------
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
...
@@ -297,4 +430,3 @@ For general information and support, go to:
...
@@ -297,4 +430,3 @@ For general information and support, go to:
James P. Ketrenos <ipw2100-admin@linux.intel.com>
James P. Ketrenos <ipw2100-admin@linux.intel.com>
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
MAINTAINERS
浏览文件 @
eedb9f09
...
@@ -1330,6 +1330,24 @@ M: john.ronciak@intel.com
...
@@ -1330,6 +1330,24 @@ M: john.ronciak@intel.com
W: http://sourceforge.net/projects/e1000/
W: http://sourceforge.net/projects/e1000/
S: Supported
S: Supported
INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
P: Yi Zhu
M: yi.zhu@intel.com
P: James Ketrenos
M: jketreno@linux.intel.com
L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
W: http://ipw2100.sourceforge.net
S: Supported
INTEL PRO/WIRELESS 2915ABG NETWORK CONNECTION SUPPORT
P: Yi Zhu
M: yi.zhu@intel.com
P: James Ketrenos
M: jketreno@linux.intel.com
L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
W: http://ipw2200.sourceforge.net
S: Supported
IOC3 DRIVER
IOC3 DRIVER
P: Ralf Baechle
P: Ralf Baechle
M: ralf@linux-mips.org
M: ralf@linux-mips.org
...
...
drivers/net/wireless/ipw2100.c
浏览文件 @
eedb9f09
此差异已折叠。
点击以展开。
drivers/net/wireless/ipw2100.h
浏览文件 @
eedb9f09
/******************************************************************************
/******************************************************************************
Copyright(c) 2003 - 200
5
Intel Corporation. All rights reserved.
Copyright(c) 2003 - 200
4
Intel Corporation. All rights reserved.
This program is free software; you can redistribute it and/or modify it
This program is free software; you can redistribute it and/or modify it
under the terms of version 2 of the GNU General Public License as
under the terms of version 2 of the GNU General Public License as
...
@@ -93,7 +93,6 @@ struct ipw2100_rx_packet;
...
@@ -93,7 +93,6 @@ struct ipw2100_rx_packet;
#define IPW_DL_IOCTL (1<<14)
#define IPW_DL_IOCTL (1<<14)
#define IPW_DL_RF_KILL (1<<17)
#define IPW_DL_RF_KILL (1<<17)
#define IPW_DL_MANAGE (1<<15)
#define IPW_DL_MANAGE (1<<15)
#define IPW_DL_FW (1<<16)
#define IPW_DL_FW (1<<16)
...
@@ -156,7 +155,9 @@ extern const char *band_str[];
...
@@ -156,7 +155,9 @@ extern const char *band_str[];
struct
bd_status
{
struct
bd_status
{
union
{
union
{
struct
{
u8
nlf
:
1
,
txType
:
2
,
intEnabled
:
1
,
reserved
:
4
;}
fields
;
struct
{
u8
nlf
:
1
,
txType
:
2
,
intEnabled
:
1
,
reserved
:
4
;
}
fields
;
u8
field
;
u8
field
;
}
info
;
}
info
;
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
...
@@ -165,7 +166,7 @@ struct ipw2100_bd {
...
@@ -165,7 +166,7 @@ struct ipw2100_bd {
u32
host_addr
;
u32
host_addr
;
u32
buf_length
;
u32
buf_length
;
struct
bd_status
status
;
struct
bd_status
status
;
/* number of fragments for frame (should be set only for
/* number of fragments for frame (should be set only for
* 1st TBD) */
* 1st TBD) */
u8
num_fragments
;
u8
num_fragments
;
u8
reserved
[
6
];
u8
reserved
[
6
];
...
@@ -293,10 +294,10 @@ struct ipw2100_cmd_header {
...
@@ -293,10 +294,10 @@ struct ipw2100_cmd_header {
struct
ipw2100_data_header
{
struct
ipw2100_data_header
{
u32
host_command_reg
;
u32
host_command_reg
;
u32
host_command_reg1
;
u32
host_command_reg1
;
u8
encrypted
;
// BOOLEAN in win! TRUE if frame is enc by driver
u8
encrypted
;
// BOOLEAN in win! TRUE if frame is enc by driver
u8
needs_encryption
;
// BOOLEAN in win! TRUE if frma need to be enc in NIC
u8
needs_encryption
;
// BOOLEAN in win! TRUE if frma need to be enc in NIC
u8
wep_index
;
// 0 no key, 1-4 key index, 0xff immediate key
u8
wep_index
;
// 0 no key, 1-4 key index, 0xff immediate key
u8
key_size
;
// 0 no imm key, 0x5 64bit encr, 0xd 128bit encr, 0x10 128bit encr and 128bit IV
u8
key_size
;
// 0 no imm key, 0x5 64bit encr, 0xd 128bit encr, 0x10 128bit encr and 128bit IV
u8
key
[
16
];
u8
key
[
16
];
u8
reserved
[
10
];
// f/w reserved
u8
reserved
[
10
];
// f/w reserved
u8
src_addr
[
ETH_ALEN
];
u8
src_addr
[
ETH_ALEN
];
...
@@ -306,14 +307,13 @@ struct ipw2100_data_header {
...
@@ -306,14 +307,13 @@ struct ipw2100_data_header {
/* Host command data structure */
/* Host command data structure */
struct
host_command
{
struct
host_command
{
u32
host_command
;
// COMMAND ID
u32
host_command
;
// COMMAND ID
u32
host_command1
;
// COMMAND ID
u32
host_command1
;
// COMMAND ID
u32
host_command_sequence
;
// UNIQUE COMMAND NUMBER (ID)
u32
host_command_sequence
;
// UNIQUE COMMAND NUMBER (ID)
u32
host_command_length
;
// LENGTH
u32
host_command_length
;
// LENGTH
u32
host_command_parameters
[
HOST_COMMAND_PARAMS_REG_LEN
];
// COMMAND PARAMETERS
u32
host_command_parameters
[
HOST_COMMAND_PARAMS_REG_LEN
];
// COMMAND PARAMETERS
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
typedef
enum
{
typedef
enum
{
POWER_ON_RESET
,
POWER_ON_RESET
,
EXIT_POWER_DOWN_RESET
,
EXIT_POWER_DOWN_RESET
,
...
@@ -328,17 +328,16 @@ enum {
...
@@ -328,17 +328,16 @@ enum {
RX
RX
};
};
struct
ipw2100_tx_packet
{
struct
ipw2100_tx_packet
{
int
type
;
int
type
;
int
index
;
int
index
;
union
{
union
{
struct
{
/* COMMAND */
struct
{
/* COMMAND */
struct
ipw2100_cmd_header
*
cmd
;
struct
ipw2100_cmd_header
*
cmd
;
dma_addr_t
cmd_phys
;
dma_addr_t
cmd_phys
;
}
c_struct
;
}
c_struct
;
struct
{
/* DATA */
struct
{
/* DATA */
struct
ipw2100_data_header
*
data
;
struct
ipw2100_data_header
*
data
;
dma_addr_t
data_phys
;
dma_addr_t
data_phys
;
struct
ieee80211_txb
*
txb
;
struct
ieee80211_txb
*
txb
;
}
d_struct
;
}
d_struct
;
...
@@ -348,7 +347,6 @@ struct ipw2100_tx_packet {
...
@@ -348,7 +347,6 @@ struct ipw2100_tx_packet {
struct
list_head
list
;
struct
list_head
list
;
};
};
struct
ipw2100_rx_packet
{
struct
ipw2100_rx_packet
{
struct
ipw2100_rx
*
rxp
;
struct
ipw2100_rx
*
rxp
;
dma_addr_t
dma_addr
;
dma_addr_t
dma_addr
;
...
@@ -432,13 +430,13 @@ enum {
...
@@ -432,13 +430,13 @@ enum {
};
};
#define STATUS_POWERED (1<<0)
#define STATUS_POWERED (1<<0)
#define STATUS_CMD_ACTIVE (1<<1)
/**< host command in progress */
#define STATUS_CMD_ACTIVE (1<<1)
/**< host command in progress */
#define STATUS_RUNNING (1<<2)
/* Card initialized, but not enabled */
#define STATUS_RUNNING (1<<2)
/* Card initialized, but not enabled */
#define STATUS_ENABLED (1<<3)
/* Card enabled -- can scan,Tx,Rx */
#define STATUS_ENABLED (1<<3)
/* Card enabled -- can scan,Tx,Rx */
#define STATUS_STOPPING (1<<4)
/* Card is in shutdown phase */
#define STATUS_STOPPING (1<<4)
/* Card is in shutdown phase */
#define STATUS_INITIALIZED (1<<5)
/* Card is ready for external calls */
#define STATUS_INITIALIZED (1<<5)
/* Card is ready for external calls */
#define STATUS_ASSOCIATING (1<<9)
/* Associated, but no BSSID yet */
#define STATUS_ASSOCIATING (1<<9)
/* Associated, but no BSSID yet */
#define STATUS_ASSOCIATED (1<<10)
/* Associated and BSSID valid */
#define STATUS_ASSOCIATED (1<<10)
/* Associated and BSSID valid */
#define STATUS_INT_ENABLED (1<<11)
#define STATUS_INT_ENABLED (1<<11)
#define STATUS_RF_KILL_HW (1<<12)
#define STATUS_RF_KILL_HW (1<<12)
#define STATUS_RF_KILL_SW (1<<13)
#define STATUS_RF_KILL_SW (1<<13)
...
@@ -451,9 +449,7 @@ enum {
...
@@ -451,9 +449,7 @@ enum {
#define STATUS_SCAN_COMPLETE (1<<26)
#define STATUS_SCAN_COMPLETE (1<<26)
#define STATUS_WX_EVENT_PENDING (1<<27)
#define STATUS_WX_EVENT_PENDING (1<<27)
#define STATUS_RESET_PENDING (1<<29)
#define STATUS_RESET_PENDING (1<<29)
#define STATUS_SECURITY_UPDATED (1<<30)
/* Security sync needed */
#define STATUS_SECURITY_UPDATED (1<<30)
/* Security sync needed */
/* Internal NIC states */
/* Internal NIC states */
#define IPW_STATE_INITIALIZED (1<<0)
#define IPW_STATE_INITIALIZED (1<<0)
...
@@ -469,11 +465,9 @@ enum {
...
@@ -469,11 +465,9 @@ enum {
#define IPW_STATE_POWER_DOWN (1<<10)
#define IPW_STATE_POWER_DOWN (1<<10)
#define IPW_STATE_SCANNING (1<<11)
#define IPW_STATE_SCANNING (1<<11)
#define CFG_STATIC_CHANNEL (1<<0)
/* Restrict assoc. to single channel */
#define CFG_STATIC_ESSID (1<<1)
/* Restrict assoc. to single SSID */
#define CFG_STATIC_CHANNEL (1<<0)
/* Restrict assoc. to single channel */
#define CFG_STATIC_BSSID (1<<2)
/* Restrict assoc. to single BSSID */
#define CFG_STATIC_ESSID (1<<1)
/* Restrict assoc. to single SSID */
#define CFG_STATIC_BSSID (1<<2)
/* Restrict assoc. to single BSSID */
#define CFG_CUSTOM_MAC (1<<3)
#define CFG_CUSTOM_MAC (1<<3)
#define CFG_LONG_PREAMBLE (1<<4)
#define CFG_LONG_PREAMBLE (1<<4)
#define CFG_ASSOCIATE (1<<6)
#define CFG_ASSOCIATE (1<<6)
...
@@ -481,14 +475,17 @@ enum {
...
@@ -481,14 +475,17 @@ enum {
#define CFG_ADHOC_CREATE (1<<8)
#define CFG_ADHOC_CREATE (1<<8)
#define CFG_C3_DISABLED (1<<9)
#define CFG_C3_DISABLED (1<<9)
#define CFG_PASSIVE_SCAN (1<<10)
#define CFG_PASSIVE_SCAN (1<<10)
#ifdef CONFIG_IPW2100_MONITOR
#define CFG_CRC_CHECK (1<<11)
#endif
#define CAP_SHARED_KEY (1<<0)
/* Off = OPEN */
#define CAP_SHARED_KEY (1<<0)
/* Off = OPEN */
#define CAP_PRIVACY_ON (1<<1)
/* Off = No privacy */
#define CAP_PRIVACY_ON (1<<1)
/* Off = No privacy */
struct
ipw2100_priv
{
struct
ipw2100_priv
{
int
stop_hang_check
;
/* Set 1 when shutting down to kill hang_check */
int
stop_hang_check
;
/* Set 1 when shutting down to kill hang_check */
int
stop_rf_kill
;
/* Set 1 when shutting down to kill rf_kill */
int
stop_rf_kill
;
/* Set 1 when shutting down to kill rf_kill */
struct
ieee80211_device
*
ieee
;
struct
ieee80211_device
*
ieee
;
unsigned
long
status
;
unsigned
long
status
;
...
@@ -519,19 +516,16 @@ struct ipw2100_priv {
...
@@ -519,19 +516,16 @@ struct ipw2100_priv {
unsigned
long
hw_features
;
unsigned
long
hw_features
;
int
hangs
;
int
hangs
;
u32
last_rtc
;
u32
last_rtc
;
int
dump_raw
;
/* 1 to dump raw bytes in /sys/.../memory */
int
dump_raw
;
/* 1 to dump raw bytes in /sys/.../memory */
u8
*
snapshot
[
0x30
];
u8
*
snapshot
[
0x30
];
u8
mandatory_bssid_mac
[
ETH_ALEN
];
u8
mandatory_bssid_mac
[
ETH_ALEN
];
u8
mac_addr
[
ETH_ALEN
];
u8
mac_addr
[
ETH_ALEN
];
int
power_mode
;
int
power_mode
;
/* WEP data */
struct
ieee80211_security
sec
;
int
messages_sent
;
int
messages_sent
;
int
short_retry_limit
;
int
short_retry_limit
;
int
long_retry_limit
;
int
long_retry_limit
;
...
@@ -599,7 +593,6 @@ struct ipw2100_priv {
...
@@ -599,7 +593,6 @@ struct ipw2100_priv {
wait_queue_head_t
wait_command_queue
;
wait_queue_head_t
wait_command_queue
;
};
};
/*********************************************************
/*********************************************************
* Host Command -> From Driver to FW
* Host Command -> From Driver to FW
*********************************************************/
*********************************************************/
...
@@ -646,7 +639,6 @@ struct ipw2100_priv {
...
@@ -646,7 +639,6 @@ struct ipw2100_priv {
#define CARD_DISABLE_PHY_OFF 61
#define CARD_DISABLE_PHY_OFF 61
#define MSDU_TX_RATES 62
#define MSDU_TX_RATES 62
/* Rogue AP Detection */
/* Rogue AP Detection */
#define SET_STATION_STAT_BITS 64
#define SET_STATION_STAT_BITS 64
#define CLEAR_STATIONS_STAT_BITS 65
#define CLEAR_STATIONS_STAT_BITS 65
...
@@ -655,8 +647,6 @@ struct ipw2100_priv {
...
@@ -655,8 +647,6 @@ struct ipw2100_priv {
#define DISASSOCIATION_BSSID 68
#define DISASSOCIATION_BSSID 68
#define SET_WPA_IE 69
#define SET_WPA_IE 69
/* system configuration bit mask: */
/* system configuration bit mask: */
#define IPW_CFG_MONITOR 0x00004
#define IPW_CFG_MONITOR 0x00004
#define IPW_CFG_PREAMBLE_AUTO 0x00010
#define IPW_CFG_PREAMBLE_AUTO 0x00010
...
@@ -704,7 +694,7 @@ struct ipw2100_priv {
...
@@ -704,7 +694,7 @@ struct ipw2100_priv {
#define IPW2100_INTA_TX_TRANSFER (0x00000001) // Bit 0 (LSB)
#define IPW2100_INTA_TX_TRANSFER (0x00000001) // Bit 0 (LSB)
#define IPW2100_INTA_RX_TRANSFER (0x00000002) // Bit 1
#define IPW2100_INTA_RX_TRANSFER (0x00000002) // Bit 1
#define IPW2100_INTA_TX_COMPLETE (0x00000004) // Bit 2
#define IPW2100_INTA_TX_COMPLETE (0x00000004) // Bit 2
#define IPW2100_INTA_EVENT_INTERRUPT (0x00000008)
// Bit 3
#define IPW2100_INTA_EVENT_INTERRUPT (0x00000008)
// Bit 3
#define IPW2100_INTA_STATUS_CHANGE (0x00000010) // Bit 4
#define IPW2100_INTA_STATUS_CHANGE (0x00000010) // Bit 4
#define IPW2100_INTA_BEACON_PERIOD_EXPIRED (0x00000020) // Bit 5
#define IPW2100_INTA_BEACON_PERIOD_EXPIRED (0x00000020) // Bit 5
#define IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE (0x00010000) // Bit 16
#define IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE (0x00010000) // Bit 16
...
@@ -784,9 +774,6 @@ struct ipw2100_priv {
...
@@ -784,9 +774,6 @@ struct ipw2100_priv {
#define IPW_CARD_DISABLE_PHY_OFF_COMPLETE_WAIT 100 // 100 milli
#define IPW_CARD_DISABLE_PHY_OFF_COMPLETE_WAIT 100 // 100 milli
#define IPW_PREPARE_POWER_DOWN_COMPLETE_WAIT 100 // 100 milli
#define IPW_PREPARE_POWER_DOWN_COMPLETE_WAIT 100 // 100 milli
#define IPW_HEADER_802_11_SIZE sizeof(struct ieee80211_hdr_3addr)
#define IPW_HEADER_802_11_SIZE sizeof(struct ieee80211_hdr_3addr)
#define IPW_MAX_80211_PAYLOAD_SIZE 2304U
#define IPW_MAX_80211_PAYLOAD_SIZE 2304U
#define IPW_MAX_802_11_PAYLOAD_LENGTH 2312
#define IPW_MAX_802_11_PAYLOAD_LENGTH 2312
...
@@ -843,8 +830,8 @@ struct ipw2100_rx {
...
@@ -843,8 +830,8 @@ struct ipw2100_rx {
#define IPW_TX_POWER_MIN_DBM (-12)
#define IPW_TX_POWER_MIN_DBM (-12)
#define IPW_TX_POWER_MAX_DBM 16
#define IPW_TX_POWER_MAX_DBM 16
#define FW_SCAN_DONOT_ASSOCIATE 0x0001
// Dont Attempt to Associate after Scan
#define FW_SCAN_DONOT_ASSOCIATE 0x0001
// Dont Attempt to Associate after Scan
#define FW_SCAN_PASSIVE 0x0008
// Force PASSSIVE Scan
#define FW_SCAN_PASSIVE 0x0008
// Force PASSSIVE Scan
#define REG_MIN_CHANNEL 0
#define REG_MIN_CHANNEL 0
#define REG_MAX_CHANNEL 14
#define REG_MAX_CHANNEL 14
...
@@ -856,7 +843,6 @@ struct ipw2100_rx {
...
@@ -856,7 +843,6 @@ struct ipw2100_rx {
#define DIVERSITY_ANTENNA_A 1 // Use antenna A
#define DIVERSITY_ANTENNA_A 1 // Use antenna A
#define DIVERSITY_ANTENNA_B 2 // Use antenna B
#define DIVERSITY_ANTENNA_B 2 // Use antenna B
#define HOST_COMMAND_WAIT 0
#define HOST_COMMAND_WAIT 0
#define HOST_COMMAND_NO_WAIT 1
#define HOST_COMMAND_NO_WAIT 1
...
@@ -873,10 +859,9 @@ struct ipw2100_rx {
...
@@ -873,10 +859,9 @@ struct ipw2100_rx {
#define TYPE_ASSOCIATION_REQUEST 0x0013
#define TYPE_ASSOCIATION_REQUEST 0x0013
#define TYPE_REASSOCIATION_REQUEST 0x0014
#define TYPE_REASSOCIATION_REQUEST 0x0014
#define HW_FEATURE_RFKILL 0x0001
#define HW_FEATURE_RFKILL (0x0001)
#define RF_KILLSWITCH_OFF 1
#define RF_KILLSWITCH_OFF (1)
#define RF_KILLSWITCH_ON 0
#define RF_KILLSWITCH_ON (0)
#define IPW_COMMAND_POOL_SIZE 40
#define IPW_COMMAND_POOL_SIZE 40
...
@@ -895,7 +880,7 @@ struct ipw2100_rx {
...
@@ -895,7 +880,7 @@ struct ipw2100_rx {
// Fixed size data: Ordinal Table 1
// Fixed size data: Ordinal Table 1
typedef
enum
_ORDINAL_TABLE_1
{
// NS - means Not Supported by FW
typedef
enum
_ORDINAL_TABLE_1
{
// NS - means Not Supported by FW
// Transmit statistics
// Transmit statistics
IPW_ORD_STAT_TX_HOST_REQUESTS
=
1
,
// # of requested Host Tx's (MSDU)
IPW_ORD_STAT_TX_HOST_REQUESTS
=
1
,
// # of requested Host Tx's (MSDU)
IPW_ORD_STAT_TX_HOST_COMPLETE
,
// # of successful Host Tx's (MSDU)
IPW_ORD_STAT_TX_HOST_COMPLETE
,
// # of successful Host Tx's (MSDU)
IPW_ORD_STAT_TX_DIR_DATA
,
// # of successful Directed Tx's (MSDU)
IPW_ORD_STAT_TX_DIR_DATA
,
// # of successful Directed Tx's (MSDU)
...
@@ -905,42 +890,42 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
...
@@ -905,42 +890,42 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
IPW_ORD_STAT_TX_DIR_DATA11
,
// # of successful Directed Tx's (MSDU) @ 11MB
IPW_ORD_STAT_TX_DIR_DATA11
,
// # of successful Directed Tx's (MSDU) @ 11MB
IPW_ORD_STAT_TX_DIR_DATA22
,
// # of successful Directed Tx's (MSDU) @ 22MB
IPW_ORD_STAT_TX_DIR_DATA22
,
// # of successful Directed Tx's (MSDU) @ 22MB
IPW_ORD_STAT_TX_NODIR_DATA1
=
13
,
// # of successful Non_Directed Tx's (MSDU) @ 1MB
IPW_ORD_STAT_TX_NODIR_DATA1
=
13
,
// # of successful Non_Directed Tx's (MSDU) @ 1MB
IPW_ORD_STAT_TX_NODIR_DATA2
,
// # of successful Non_Directed Tx's (MSDU) @ 2MB
IPW_ORD_STAT_TX_NODIR_DATA2
,
// # of successful Non_Directed Tx's (MSDU) @ 2MB
IPW_ORD_STAT_TX_NODIR_DATA5_5
,
// # of successful Non_Directed Tx's (MSDU) @ 5.5MB
IPW_ORD_STAT_TX_NODIR_DATA5_5
,
// # of successful Non_Directed Tx's (MSDU) @ 5.5MB
IPW_ORD_STAT_TX_NODIR_DATA11
,
// # of successful Non_Directed Tx's (MSDU) @ 11MB
IPW_ORD_STAT_TX_NODIR_DATA11
,
// # of successful Non_Directed Tx's (MSDU) @ 11MB
IPW_ORD_STAT_NULL_DATA
=
21
,
// # of successful NULL data Tx's
IPW_ORD_STAT_NULL_DATA
=
21
,
// # of successful NULL data Tx's
IPW_ORD_STAT_TX_RTS
,
// # of successful Tx RTS
IPW_ORD_STAT_TX_RTS
,
// # of successful Tx RTS
IPW_ORD_STAT_TX_CTS
,
// # of successful Tx CTS
IPW_ORD_STAT_TX_CTS
,
// # of successful Tx CTS
IPW_ORD_STAT_TX_ACK
,
// # of successful Tx ACK
IPW_ORD_STAT_TX_ACK
,
// # of successful Tx ACK
IPW_ORD_STAT_TX_ASSN
,
// # of successful Association Tx's
IPW_ORD_STAT_TX_ASSN
,
// # of successful Association Tx's
IPW_ORD_STAT_TX_ASSN_RESP
,
// # of successful Association response Tx's
IPW_ORD_STAT_TX_ASSN_RESP
,
// # of successful Association response Tx's
IPW_ORD_STAT_TX_REASSN
,
// # of successful Reassociation Tx's
IPW_ORD_STAT_TX_REASSN
,
// # of successful Reassociation Tx's
IPW_ORD_STAT_TX_REASSN_RESP
,
// # of successful Reassociation response Tx's
IPW_ORD_STAT_TX_REASSN_RESP
,
// # of successful Reassociation response Tx's
IPW_ORD_STAT_TX_PROBE
,
// # of probes successfully transmitted
IPW_ORD_STAT_TX_PROBE
,
// # of probes successfully transmitted
IPW_ORD_STAT_TX_PROBE_RESP
,
// # of probe responses successfully transmitted
IPW_ORD_STAT_TX_PROBE_RESP
,
// # of probe responses successfully transmitted
IPW_ORD_STAT_TX_BEACON
,
// # of tx beacon
IPW_ORD_STAT_TX_BEACON
,
// # of tx beacon
IPW_ORD_STAT_TX_ATIM
,
// # of Tx ATIM
IPW_ORD_STAT_TX_ATIM
,
// # of Tx ATIM
IPW_ORD_STAT_TX_DISASSN
,
// # of successful Disassociation TX
IPW_ORD_STAT_TX_DISASSN
,
// # of successful Disassociation TX
IPW_ORD_STAT_TX_AUTH
,
// # of successful Authentication Tx
IPW_ORD_STAT_TX_AUTH
,
// # of successful Authentication Tx
IPW_ORD_STAT_TX_DEAUTH
,
// # of successful Deauthentication TX
IPW_ORD_STAT_TX_DEAUTH
,
// # of successful Deauthentication TX
IPW_ORD_STAT_TX_TOTAL_BYTES
=
41
,
// Total successful Tx data bytes
IPW_ORD_STAT_TX_TOTAL_BYTES
=
41
,
// Total successful Tx data bytes
IPW_ORD_STAT_TX_RETRIES
,
// # of Tx retries
IPW_ORD_STAT_TX_RETRIES
,
// # of Tx retries
IPW_ORD_STAT_TX_RETRY1
,
// # of Tx retries at 1MBPS
IPW_ORD_STAT_TX_RETRY1
,
// # of Tx retries at 1MBPS
IPW_ORD_STAT_TX_RETRY2
,
// # of Tx retries at 2MBPS
IPW_ORD_STAT_TX_RETRY2
,
// # of Tx retries at 2MBPS
IPW_ORD_STAT_TX_RETRY5_5
,
// # of Tx retries at 5.5MBPS
IPW_ORD_STAT_TX_RETRY5_5
,
// # of Tx retries at 5.5MBPS
IPW_ORD_STAT_TX_RETRY11
,
// # of Tx retries at 11MBPS
IPW_ORD_STAT_TX_RETRY11
,
// # of Tx retries at 11MBPS
IPW_ORD_STAT_TX_FAILURES
=
51
,
// # of Tx Failures
IPW_ORD_STAT_TX_FAILURES
=
51
,
// # of Tx Failures
IPW_ORD_STAT_TX_ABORT_AT_HOP
,
//NS // # of Tx's aborted at hop time
IPW_ORD_STAT_TX_ABORT_AT_HOP
,
//NS // # of Tx's aborted at hop time
IPW_ORD_STAT_TX_MAX_TRIES_IN_HOP
,
// # of times max tries in a hop failed
IPW_ORD_STAT_TX_MAX_TRIES_IN_HOP
,
// # of times max tries in a hop failed
IPW_ORD_STAT_TX_ABORT_LATE_DMA
,
//NS // # of times tx aborted due to late dma setup
IPW_ORD_STAT_TX_ABORT_LATE_DMA
,
//NS // # of times tx aborted due to late dma setup
IPW_ORD_STAT_TX_ABORT_STX
,
//NS // # of times backoff aborted
IPW_ORD_STAT_TX_ABORT_STX
,
//NS // # of times backoff aborted
IPW_ORD_STAT_TX_DISASSN_FAIL
,
// # of times disassociation failed
IPW_ORD_STAT_TX_DISASSN_FAIL
,
// # of times disassociation failed
IPW_ORD_STAT_TX_ERR_CTS
,
// # of missed/bad CTS frames
IPW_ORD_STAT_TX_ERR_CTS
,
// # of missed/bad CTS frames
IPW_ORD_STAT_TX_BPDU
,
//NS // # of spanning tree BPDUs sent
IPW_ORD_STAT_TX_BPDU
,
//NS // # of spanning tree BPDUs sent
IPW_ORD_STAT_TX_ERR_ACK
,
// # of tx err due to acks
IPW_ORD_STAT_TX_ERR_ACK
,
// # of tx err due to acks
// Receive statistics
// Receive statistics
...
@@ -952,7 +937,7 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
...
@@ -952,7 +937,7 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
IPW_ORD_STAT_RX_DIR_DATA11
,
// # of directed packets at 11MB
IPW_ORD_STAT_RX_DIR_DATA11
,
// # of directed packets at 11MB
IPW_ORD_STAT_RX_DIR_DATA22
,
// # of directed packets at 22MB
IPW_ORD_STAT_RX_DIR_DATA22
,
// # of directed packets at 22MB
IPW_ORD_STAT_RX_NODIR_DATA
=
71
,
// # of nondirected packets
IPW_ORD_STAT_RX_NODIR_DATA
=
71
,
// # of nondirected packets
IPW_ORD_STAT_RX_NODIR_DATA1
,
// # of nondirected packets at 1MB
IPW_ORD_STAT_RX_NODIR_DATA1
,
// # of nondirected packets at 1MB
IPW_ORD_STAT_RX_NODIR_DATA2
,
// # of nondirected packets at 2MB
IPW_ORD_STAT_RX_NODIR_DATA2
,
// # of nondirected packets at 2MB
IPW_ORD_STAT_RX_NODIR_DATA5_5
,
// # of nondirected packets at 5.5MB
IPW_ORD_STAT_RX_NODIR_DATA5_5
,
// # of nondirected packets at 5.5MB
...
@@ -977,18 +962,18 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
...
@@ -977,18 +962,18 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
IPW_ORD_STAT_RX_AUTH
,
// # of authentication Rx
IPW_ORD_STAT_RX_AUTH
,
// # of authentication Rx
IPW_ORD_STAT_RX_DEAUTH
,
// # of deauthentication Rx
IPW_ORD_STAT_RX_DEAUTH
,
// # of deauthentication Rx
IPW_ORD_STAT_RX_TOTAL_BYTES
=
101
,
// Total rx data bytes received
IPW_ORD_STAT_RX_TOTAL_BYTES
=
101
,
// Total rx data bytes received
IPW_ORD_STAT_RX_ERR_CRC
,
// # of packets with Rx CRC error
IPW_ORD_STAT_RX_ERR_CRC
,
// # of packets with Rx CRC error
IPW_ORD_STAT_RX_ERR_CRC1
,
// # of Rx CRC errors at 1MB
IPW_ORD_STAT_RX_ERR_CRC1
,
// # of Rx CRC errors at 1MB
IPW_ORD_STAT_RX_ERR_CRC2
,
// # of Rx CRC errors at 2MB
IPW_ORD_STAT_RX_ERR_CRC2
,
// # of Rx CRC errors at 2MB
IPW_ORD_STAT_RX_ERR_CRC5_5
,
// # of Rx CRC errors at 5.5MB
IPW_ORD_STAT_RX_ERR_CRC5_5
,
// # of Rx CRC errors at 5.5MB
IPW_ORD_STAT_RX_ERR_CRC11
,
// # of Rx CRC errors at 11MB
IPW_ORD_STAT_RX_ERR_CRC11
,
// # of Rx CRC errors at 11MB
IPW_ORD_STAT_RX_DUPLICATE1
=
112
,
// # of duplicate rx packets at 1MB
IPW_ORD_STAT_RX_DUPLICATE1
=
112
,
// # of duplicate rx packets at 1MB
IPW_ORD_STAT_RX_DUPLICATE2
,
// # of duplicate rx packets at 2MB
IPW_ORD_STAT_RX_DUPLICATE2
,
// # of duplicate rx packets at 2MB
IPW_ORD_STAT_RX_DUPLICATE5_5
,
// # of duplicate rx packets at 5.5MB
IPW_ORD_STAT_RX_DUPLICATE5_5
,
// # of duplicate rx packets at 5.5MB
IPW_ORD_STAT_RX_DUPLICATE11
,
// # of duplicate rx packets at 11MB
IPW_ORD_STAT_RX_DUPLICATE11
,
// # of duplicate rx packets at 11MB
IPW_ORD_STAT_RX_DUPLICATE
=
119
,
// # of duplicate rx packets
IPW_ORD_STAT_RX_DUPLICATE
=
119
,
// # of duplicate rx packets
IPW_ORD_PERS_DB_LOCK
=
120
,
// # locking fw permanent db
IPW_ORD_PERS_DB_LOCK
=
120
,
// # locking fw permanent db
IPW_ORD_PERS_DB_SIZE
,
// # size of fw permanent db
IPW_ORD_PERS_DB_SIZE
,
// # size of fw permanent db
...
@@ -1006,17 +991,17 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
...
@@ -1006,17 +991,17 @@ typedef enum _ORDINAL_TABLE_1 { // NS - means Not Supported by FW
IPW_ORD_STAT_RX_ICV_ERRORS
,
// # of ICV errors during decryption
IPW_ORD_STAT_RX_ICV_ERRORS
,
// # of ICV errors during decryption
// PSP Statistics
// PSP Statistics
IPW_ORD_STAT_PSP_SUSPENSION
=
137
,
// # of times adapter suspended
IPW_ORD_STAT_PSP_SUSPENSION
=
137
,
// # of times adapter suspended
IPW_ORD_STAT_PSP_BCN_TIMEOUT
,
// # of beacon timeout
IPW_ORD_STAT_PSP_BCN_TIMEOUT
,
// # of beacon timeout
IPW_ORD_STAT_PSP_POLL_TIMEOUT
,
// # of poll response timeouts
IPW_ORD_STAT_PSP_POLL_TIMEOUT
,
// # of poll response timeouts
IPW_ORD_STAT_PSP_NONDIR_TIMEOUT
,
// # of timeouts waiting for last broadcast/muticast pkt
IPW_ORD_STAT_PSP_NONDIR_TIMEOUT
,
// # of timeouts waiting for last broadcast/muticast pkt
IPW_ORD_STAT_PSP_RX_DTIMS
,
// # of PSP DTIMs received
IPW_ORD_STAT_PSP_RX_DTIMS
,
// # of PSP DTIMs received
IPW_ORD_STAT_PSP_RX_TIMS
,
// # of PSP TIMs received
IPW_ORD_STAT_PSP_RX_TIMS
,
// # of PSP TIMs received
IPW_ORD_STAT_PSP_STATION_ID
,
// PSP Station ID
IPW_ORD_STAT_PSP_STATION_ID
,
// PSP Station ID
// Association and roaming
// Association and roaming
IPW_ORD_LAST_ASSN_TIME
=
147
,
// RTC time of last association
IPW_ORD_LAST_ASSN_TIME
=
147
,
// RTC time of last association
IPW_ORD_STAT_PERCENT_MISSED_BCNS
,
// current calculation of % missed beacons
IPW_ORD_STAT_PERCENT_MISSED_BCNS
,
// current calculation of % missed beacons
IPW_ORD_STAT_PERCENT_RETRIES
,
// current calculation of % missed tx retries
IPW_ORD_STAT_PERCENT_RETRIES
,
// current calculation of % missed tx retries
IPW_ORD_ASSOCIATED_AP_PTR
,
// If associated, this is ptr to the associated
IPW_ORD_ASSOCIATED_AP_PTR
,
// If associated, this is ptr to the associated
// AP table entry. set to 0 if not associated
// AP table entry. set to 0 if not associated
...
@@ -1151,7 +1136,7 @@ struct ipw2100_fw_chunk {
...
@@ -1151,7 +1136,7 @@ struct ipw2100_fw_chunk {
};
};
struct
ipw2100_fw_chunk_set
{
struct
ipw2100_fw_chunk_set
{
const
void
*
data
;
const
void
*
data
;
unsigned
long
size
;
unsigned
long
size
;
};
};
...
@@ -1164,4 +1149,4 @@ struct ipw2100_fw {
...
@@ -1164,4 +1149,4 @@ struct ipw2100_fw {
#define MAX_FW_VERSION_LEN 14
#define MAX_FW_VERSION_LEN 14
#endif
/* _IPW2100_H */
#endif
/* _IPW2100_H */
drivers/net/wireless/ipw2200.c
浏览文件 @
eedb9f09
此差异已折叠。
点击以展开。
drivers/net/wireless/ipw2200.h
浏览文件 @
eedb9f09
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录