Commit 2e9ff56e authored by Jeff Garzik's avatar Jeff Garzik
parents d378aca6 cc8279f6
...@@ -3,18 +3,18 @@ Intel(R) PRO/Wireless 2100 Driver for Linux in support of: ...@@ -3,18 +3,18 @@ Intel(R) PRO/Wireless 2100 Driver for Linux in support of:
Intel(R) PRO/Wireless 2100 Network Connection Intel(R) PRO/Wireless 2100 Network Connection
Copyright (C) 2003-2005, Intel Corporation Copyright (C) 2003-2006, Intel Corporation
README.ipw2100 README.ipw2100
Version: 1.1.3 Version: git-1.1.5
Date : October 17, 2005 Date : January 25, 2006
Index Index
----------------------------------------------- -----------------------------------------------
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER 0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
1. Introduction 1. Introduction
2. Release 1.1.3 Current Features 2. Release git-1.1.5 Current Features
3. Command Line Parameters 3. Command Line Parameters
4. Sysfs Helper Files 4. Sysfs Helper Files
5. Radio Kill Switch 5. Radio Kill Switch
...@@ -89,7 +89,7 @@ potential fixes and patches, as well as links to the development mailing list ...@@ -89,7 +89,7 @@ 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 2. Release git-1.1.5 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)
...@@ -270,7 +270,7 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels ...@@ -270,7 +270,7 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
9. License 9. License
----------------------------------------------- -----------------------------------------------
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. Copyright(c) 2003 - 2006 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 the GNU General Public License (version 2) as under the terms of the GNU General Public License (version 2) as
......
...@@ -10,7 +10,7 @@ both hardware adapters listed above. In this document the Intel(R) ...@@ -10,7 +10,7 @@ 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-2006, Intel Corporation
README.ipw2200 README.ipw2200
...@@ -26,9 +26,11 @@ Index ...@@ -26,9 +26,11 @@ Index
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
1.5. Supported channels
2. Ad-Hoc Networking 2. Ad-Hoc Networking
3. Interacting with Wireless Tools 3. Interacting with Wireless Tools
3.1. iwconfig mode 3.1. iwconfig mode
3.2. iwconfig sens
4. About the Version Numbers 4. About the Version Numbers
5. Firmware installation 5. Firmware installation
6. Support 6. Support
...@@ -314,6 +316,35 @@ For the device level files, see /sys/bus/pci/drivers/ipw2200: ...@@ -314,6 +316,35 @@ For the device level files, see /sys/bus/pci/drivers/ipw2200:
running ifconfig and is therefore disabled by default. running ifconfig and is therefore disabled by default.
1.5. Supported channels
-----------------------------------------------
Upon loading the Intel(R) PRO/Wireless 2915ABG Driver for Linux, a
message stating the detected geography code and the number of 802.11
channels supported by the card will be displayed in the log.
The geography code corresponds to a regulatory domain as shown in the
table below.
Supported channels
Code Geography 802.11bg 802.11a
--- Restricted 11 0
ZZF Custom US/Canada 11 8
ZZD Rest of World 13 0
ZZA Custom USA & Europe & High 11 13
ZZB Custom NA & Europe 11 13
ZZC Custom Japan 11 4
ZZM Custom 11 0
ZZE Europe 13 19
ZZJ Custom Japan 14 4
ZZR Rest of World 14 0
ZZH High Band 13 4
ZZG Custom Europe 13 4
ZZK Europe 13 24
ZZL Europe 11 13
2. Ad-Hoc Networking 2. Ad-Hoc Networking
----------------------------------------------- -----------------------------------------------
...@@ -353,6 +384,15 @@ When configuring the mode of the adapter, all run-time configured parameters ...@@ -353,6 +384,15 @@ 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 are reset to the value used when the module was loaded. This includes
channels, rates, ESSID, etc. channels, rates, ESSID, etc.
3.2 iwconfig sens
-----------------------------------------------
The 'iwconfig ethX sens XX' command will not set the signal sensitivity
threshold, as described in iwconfig documentation, but rather the number
of consecutive missed beacons that will trigger handover, i.e. roaming
to another access point. At the same time, it will set the disassociation
threshold to 3 times the given value.
4. About the Version Numbers 4. About the Version Numbers
----------------------------------------------- -----------------------------------------------
...@@ -408,7 +448,7 @@ For general information and support, go to: ...@@ -408,7 +448,7 @@ For general information and support, go to:
7. License 7. License
----------------------------------------------- -----------------------------------------------
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. Copyright(c) 2003 - 2006 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 the GNU General Public License version 2 as under the terms of the GNU General Public License version 2 as
......
This diff is collapsed.
/****************************************************************************** /******************************************************************************
Copyright(c) 2003 - 2004 Intel Corporation. All rights reserved. Copyright(c) 2003 - 2006 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
...@@ -41,7 +41,12 @@ ...@@ -41,7 +41,12 @@
#include <net/ieee80211.h> #include <net/ieee80211.h>
#ifdef CONFIG_IPW2100_MONITOR
#include <net/ieee80211_radiotap.h>
#endif
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include <linux/mutex.h>
struct ipw2100_priv; struct ipw2100_priv;
struct ipw2100_tx_packet; struct ipw2100_tx_packet;
...@@ -590,8 +595,8 @@ struct ipw2100_priv { ...@@ -590,8 +595,8 @@ struct ipw2100_priv {
int inta_other; int inta_other;
spinlock_t low_lock; spinlock_t low_lock;
struct semaphore action_sem; struct mutex action_mutex;
struct semaphore adapter_sem; struct mutex adapter_mutex;
wait_queue_head_t wait_command_queue; wait_queue_head_t wait_command_queue;
}; };
......
This diff is collapsed.
/****************************************************************************** /******************************************************************************
Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. Copyright(c) 2003 - 2006 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
...@@ -246,8 +246,10 @@ enum connection_manager_assoc_states { ...@@ -246,8 +246,10 @@ enum connection_manager_assoc_states {
#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31 #define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31
#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1 #define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1
#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24 #define IPW_MB_ROAMING_THRESHOLD_MIN 1
#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8 #define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8
#define IPW_MB_ROAMING_THRESHOLD_MAX 30
#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 3*IPW_MB_ROAMING_THRESHOLD_DEFAULT
#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300 #define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300
#define MACADRR_BYTE_LEN 6 #define MACADRR_BYTE_LEN 6
...@@ -618,13 +620,16 @@ struct notif_tgi_tx_key { ...@@ -618,13 +620,16 @@ struct notif_tgi_tx_key {
u8 reserved; u8 reserved;
} __attribute__ ((packed)); } __attribute__ ((packed));
#define SILENCE_OVER_THRESH (1)
#define SILENCE_UNDER_THRESH (2)
struct notif_link_deterioration { struct notif_link_deterioration {
struct ipw_cmd_stats stats; struct ipw_cmd_stats stats;
u8 rate; u8 rate;
u8 modulation; u8 modulation;
struct rate_histogram histogram; struct rate_histogram histogram;
u8 reserved1; u8 silence_notification_type; /* SILENCE_OVER/UNDER_THRESH */
u16 reserved2; u16 silence_count;
} __attribute__ ((packed)); } __attribute__ ((packed));
struct notif_association { struct notif_association {
...@@ -782,7 +787,7 @@ struct ipw_sys_config { ...@@ -782,7 +787,7 @@ struct ipw_sys_config {
u8 enable_cts_to_self; u8 enable_cts_to_self;
u8 enable_multicast_filtering; u8 enable_multicast_filtering;
u8 bt_coexist_collision_thr; u8 bt_coexist_collision_thr;
u8 reserved2; u8 silence_threshold;
u8 accept_all_mgmt_bcpr; u8 accept_all_mgmt_bcpr;
u8 accept_all_mgtm_frames; u8 accept_all_mgtm_frames;
u8 pass_noise_stats_to_host; u8 pass_noise_stats_to_host;
...@@ -1892,6 +1897,7 @@ struct ipw_cmd_log { ...@@ -1892,6 +1897,7 @@ struct ipw_cmd_log {
#define CFG_SYS_ANTENNA_BOTH 0x00 /* NIC selects best antenna */ #define CFG_SYS_ANTENNA_BOTH 0x00 /* NIC selects best antenna */
#define CFG_SYS_ANTENNA_A 0x01 /* force antenna A */ #define CFG_SYS_ANTENNA_A 0x01 /* force antenna A */
#define CFG_SYS_ANTENNA_B 0x03 /* force antenna B */ #define CFG_SYS_ANTENNA_B 0x03 /* force antenna B */
#define CFG_SYS_ANTENNA_SLOW_DIV 0x02 /* consider background noise */
/* /*
* The definitions below were lifted off the ipw2100 driver, which only * The definitions below were lifted off the ipw2100 driver, which only
...@@ -1907,27 +1913,4 @@ struct ipw_cmd_log { ...@@ -1907,27 +1913,4 @@ struct ipw_cmd_log {
#define IPW_MAX_CONFIG_RETRIES 10 #define IPW_MAX_CONFIG_RETRIES 10
static inline u32 frame_hdr_len(struct ieee80211_hdr_4addr *hdr)
{
u32 retval;
u16 fc;
retval = sizeof(struct ieee80211_hdr_3addr);
fc = le16_to_cpu(hdr->frame_ctl);
/*
* Function ToDS FromDS
* IBSS 0 0
* To AP 1 0
* From AP 0 1
* WDS (bridge) 1 1
*
* Only WDS frames use Address4 among them. --YZ
*/
if (!(fc & IEEE80211_FCTL_TODS) || !(fc & IEEE80211_FCTL_FROMDS))
retval -= ETH_ALEN;
return retval;
}
#endif /* __ipw2200_h__ */ #endif /* __ipw2200_h__ */
...@@ -1345,7 +1345,19 @@ static void update_network(struct ieee80211_network *dst, ...@@ -1345,7 +1345,19 @@ static void update_network(struct ieee80211_network *dst,
ieee80211_network_reset(dst); ieee80211_network_reset(dst);
dst->ibss_dfs = src->ibss_dfs; dst->ibss_dfs = src->ibss_dfs;
memcpy(&dst->stats, &src->stats, sizeof(struct ieee80211_rx_stats)); /* We only update the statistics if they were created by receiving
* the network information on the actual channel the network is on.
*
* This keeps beacons received on neighbor channels from bringing
* down the signal level of an AP. */
if (dst->channel == src->stats.received_channel)
memcpy(&dst->stats, &src->stats,
sizeof(struct ieee80211_rx_stats));
else
IEEE80211_DEBUG_SCAN("Network " MAC_FMT " info received "
"off channel (%d vs. %d)\n", MAC_ARG(src->bssid),
dst->channel, src->stats.received_channel);
dst->capability = src->capability; dst->capability = src->capability;
memcpy(dst->rates, src->rates, src->rates_len); memcpy(dst->rates, src->rates, src->rates_len);
dst->rates_len = src->rates_len; dst->rates_len = src->rates_len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment