Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7c243b5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

parents 7df446e7 f406db8c
Loading
Loading
Loading
Loading
+90 −42
Original line number Original line Diff line number Diff line


===========================
Intel(R) PRO/Wireless 2100 Driver for Linux in support of:
Intel(R) PRO/Wireless 2100 Network Connection Driver for Linux
README.ipw2100


March 14, 2005
Intel(R) PRO/Wireless 2100 Network Connection


===========================
Copyright (C) 2003-2005, Intel Corporation
Index
---------------------------
0. Introduction
1. Release 1.1.0 Current Features
2. Command Line Parameters
3. Sysfs Helper Files
4. Radio Kill Switch
5. Dynamic Firmware
6. Power Management
7. Support
8. License


README.ipw2100


===========================
Version: 1.1.3
0. Introduction
Date   : October 17, 2005
------------ -----   -----       ----       ---       --         -     

Index
-----------------------------------------------
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
1. Introduction
2. Release 1.1.3 Current Features
3. Command Line Parameters
4. Sysfs Helper Files
5. Radio Kill Switch
6. Dynamic Firmware
7. Power Management
8. Support
9. License


0.   IMPORTANT INFORMATION BEFORE USING THIS DRIVER
-----------------------------------------------

Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!

Intel wireless LAN adapters are engineered, manufactured, tested, and
quality checked to ensure that they meet all necessary local and
governmental regulatory agency requirements for the regions that they
are designated and/or marked to ship into. Since wireless LANs are
generally unlicensed devices that share spectrum with radars,
satellites, and other licensed and unlicensed devices, it is sometimes
necessary to dynamically detect, avoid, and limit usage to avoid
interference with these devices. In many instances Intel is required to
provide test data to prove regional and local compliance to regional and
governmental regulations before certification or approval to use the
product is granted. Intel's wireless LAN's EEPROM, firmware, and
software driver are designed to carefully control parameters that affect
radio operation and to ensure electromagnetic compliance (EMC). These
parameters include, without limitation, RF power, spectrum usage,
channel scanning, and human exposure.

For these reasons Intel cannot permit any manipulation by third parties
of the software provided in binary format with the wireless WLAN
adapters (e.g., the EEPROM and firmware). Furthermore, if you use any
patches, utilities, or code with the Intel wireless LAN adapters that
have been manipulated by an unauthorized party (i.e., patches,
utilities, or code (including open source code modifications) which have
not been validated by Intel), (i) you will be solely responsible for
ensuring the regulatory compliance of the products, (ii) Intel will bear
no liability, under any theory of liability for any issues associated
with the modified products, including without limitation, claims under
the warranty and/or issues arising from regulatory non-compliance, and
(iii) Intel will not provide or be required to assist in providing
support to any third parties for such modified products.

Note: Many regulatory agencies consider Wireless LAN adapters to be
modules, and accordingly, condition system-level regulatory approval
upon receipt and review of test data documenting that the antennas and
system configuration do not cause the EMC and radio operation to be
non-compliant.

The drivers available for download from SourceForge are provided as a
part of a development project.  Conformance to local regulatory
requirements is the responsibility of the individual developer.  As
such, if you are interested in deploying or shipping a driver as part of
solution intended to be used for purposes other than development, please
obtain a tested driver from Intel Customer Support at:

http://support.intel.com/support/notebook/sb/CS-006408.htm


1. Introduction
-----------------------------------------------


This document provides a brief overview of the features supported by the 
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
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
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 */
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:
  	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
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>.
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
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


    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.


+164 −32
Original line number Original line Diff line number Diff line
@@ -14,20 +14,76 @@ 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.


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,7 +112,17 @@ 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. 






@@ -64,9 +130,9 @@ The current release (1.0.0) supports the following features:
-----------------------------------------------
-----------------------------------------------


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 certain configuration options to be 
2915ABG Driver for Linux allows configuration 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:


  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 'dvals' 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 dvals 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
@@ -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 transferring 
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/
	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
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:
  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,11 +381,22 @@ 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.


@@ -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:
  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
+18 −0
Original line number Original line Diff line number Diff line
@@ -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
+11 −27
Original line number Original line Diff line number Diff line
@@ -243,34 +243,18 @@ static int uml_net_change_mtu(struct net_device *dev, int new_mtu)
	return err;
	return err;
}
}


static int uml_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
static void uml_net_get_drvinfo(struct net_device *dev,
				struct ethtool_drvinfo *info)
{
{
	static const struct ethtool_drvinfo info = {
	strcpy(info->driver, DRIVER_NAME);
		.cmd     = ETHTOOL_GDRVINFO,
	strcpy(info->version, "42");
		.driver  = DRIVER_NAME,
		.version = "42",
	};
	void *useraddr;
	u32 ethcmd;

	switch (cmd) {
	case SIOCETHTOOL:
		useraddr = ifr->ifr_data;
		if (copy_from_user(&ethcmd, useraddr, sizeof(ethcmd)))
			return -EFAULT;
		switch (ethcmd) {
		case ETHTOOL_GDRVINFO:
			if (copy_to_user(useraddr, &info, sizeof(info)))
				return -EFAULT;
			return 0;
		default:
			return -EOPNOTSUPP;
		}
	default:
		return -EINVAL;
	}
}
}


static struct ethtool_ops uml_net_ethtool_ops = {
	.get_drvinfo	= uml_net_get_drvinfo,
	.get_link	= ethtool_op_get_link,
};

void uml_net_user_timer_expire(unsigned long _conn)
void uml_net_user_timer_expire(unsigned long _conn)
{
{
#ifdef undef
#ifdef undef
@@ -359,7 +343,7 @@ static int eth_configure(int n, void *init, char *mac,
	dev->tx_timeout = uml_net_tx_timeout;
	dev->tx_timeout = uml_net_tx_timeout;
	dev->set_mac_address = uml_net_set_mac;
	dev->set_mac_address = uml_net_set_mac;
	dev->change_mtu = uml_net_change_mtu;
	dev->change_mtu = uml_net_change_mtu;
	dev->do_ioctl = uml_net_ioctl;
	dev->ethtool_ops = &uml_net_ethtool_ops;
	dev->watchdog_timeo = (HZ >> 1);
	dev->watchdog_timeo = (HZ >> 1);
	dev->irq = UM_ETH_IRQ;
	dev->irq = UM_ETH_IRQ;


+0 −33
Original line number Original line Diff line number Diff line
@@ -611,38 +611,6 @@ static int iss_net_change_mtu(struct net_device *dev, int new_mtu)
	return -EINVAL;
	return -EINVAL;
}
}


static int iss_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
#if 0
	static const struct ethtool_drvinfo info = {
		.cmd     = ETHTOOL_GDRVINFO,
		.driver  = DRIVER_NAME,
		.version = "42",
	};
	void *useraddr;
	u32 ethcmd;

	switch (cmd) {
	case SIOCETHTOOL:
		useraddr = ifr->ifr_data;
		if (copy_from_user(&ethcmd, useraddr, sizeof(ethcmd)))
			return -EFAULT;

		switch (ethcmd) {
			case ETHTOOL_GDRVINFO:
				if (copy_to_user(useraddr, &info, sizeof(info)))
					return -EFAULT;
				return 0;
			default:
				return -EOPNOTSUPP;
		}
	default:
		return -EINVAL;
	}
#endif
	return -EINVAL;
}

void iss_net_user_timer_expire(unsigned long _conn)
void iss_net_user_timer_expire(unsigned long _conn)
{
{
}
}
@@ -730,7 +698,6 @@ static int iss_net_configure(int index, char *init)
	dev->tx_timeout = iss_net_tx_timeout;
	dev->tx_timeout = iss_net_tx_timeout;
	dev->set_mac_address = iss_net_set_mac;
	dev->set_mac_address = iss_net_set_mac;
	dev->change_mtu = iss_net_change_mtu;
	dev->change_mtu = iss_net_change_mtu;
	dev->do_ioctl = iss_net_ioctl;
	dev->watchdog_timeo = (HZ >> 1);
	dev->watchdog_timeo = (HZ >> 1);
	dev->irq = -1;
	dev->irq = -1;


Loading