Jul 12 2007 Changes in 1.2.2
- Add compatibility patch for linux-2.6.22 sk_buff structure change
- Fix ipw_isr() comments error on shared IRQ
- Fix ipw2200 set wrong power parameter causing firmware error
- Fix `iwpriv set_power` error
Jan 04 2007 Changes in 1.2.1
- Fix ESSID last byte bogus character problem caused by WE-21
- Compatibility update for 2.6.19 above kernel workqueue API change
- Fix external module compiling symbols not found warning
Sep 12 2006 Changes in 1.2.0
- Add IEEE80211_RADIOTAP_TSFT for promiscuous mode
- Fix make patch_kernel problem
Aug 20 2006 Changes in 1.1.4
- Enable wireless extension passive scan (thanks to Thomas King)
- Fix deadlock detected by lockdep
- Add pci .shutdown handler
- Fix kernel Oops if cmdlog debug is enabled
- mark "iwconfig retry 255" as invalid
- remove the MAC timestamp present field from radiotap head
- Fix ipw2200 QOS parameters endian issue
- remove unused struct ipw_rx_buffer
- Reassociate even if set the same essid (thanks to Bill Moss)
- ipw_wx_set_essid fix (thanks to Bill Moss)
- SIOCGIWFREQ ioctl returns frequency rather than channel (thanks to Ingo van Lil)
- always enable frequently used debugging code
Jun 12 2006 Changes in 1.1.3
- Add kernel 2.6.8 compatibility support patches
- Replace bash-specific constructions for verify_wifi_hw script
- Make Makefile deal better with CONFIG_* definitions
- Remove KSRC_OUTPUT checking for compiling external modules
- Always enable frequently used debugging code
- SIOCGIWFREQ ioctl returns frequency rather than channel (thanks to Ingo van Lil)
- ipw_wx_set_essid fix (thanks to Bill Moss)
- Reassociate even if set the same essid (thanks to Bill Moss)
- Remove unused struct ipw_rx_buffer
- Fix a possible SMP deadlock bug found by lockdep
- Fix QoS parameters big endian issue (thanks to Jackie Wu)
Mar 20 2006 Changes in 1.1.2
This version requires ieee80211-1.1.13.
- Fix endian issue with v3.0 firmware image format
- Set the 'fixed' flags in wext get_rate (thanks Jean II)
- Do not conitune loading fw if kmalloc fails (thanks to Ingo Molnar)
- Add module_param support for antenna selection
- Generates a scan event after a scan has completed (thanks to Jean II)
- Fix TX QoS enabled frames problem
- Exponential averaging for signal and noise Level (thnaks to Bill Moss)
- New rtap_iface RX support
- ability to forward Tx'd packets (thanks Stefen)
- addition of channel information to the radiotap header in Tx'd frames
- allow user space to set up some simplistic filters for what data to
forward to user space.
- provides 'filters' script to see what filters are available
- provides 'ipwstats.c' sample C program that will open the rtap
interface and parse out the radiotap header information.
- added version string fields so the version string indicates what is
configured (ie, you'll see 1.1.1kpmd if you are using a snapshot
(Kernel.. previously -git), promiscuous (p), monitor (m), debug (d) build
Mar 08 2006 Changes in 1.1.1
- Filter unsupported channels out in ad-hoc mode
- Change debug level for firmware error logging
- Export `debug' module param only if CONFIG_IPW2200_DEBUG
- Set a meaningful silence threshold value
- Enable the "slow diversity" algorithm
- Wireless extension sensitivity threshold support (thanks to Olivier Hochreutiner)
- Switch to the new ipw2200-fw-3.0 image format
- Fix script `unload' "only return from a function" problem
- Update README.ipw2100 set_power description
Feb 23 2006 Changes in 1.1.0
- Fix IW_QUAL_DBM undefined problem if WIRELESS_EXT < 19 (thanks to
Bill Moss)
Feb 22 2006 Changes in 1.0.13
- Fix DHCP broken problem caused by is_multicast_ether_addr doesn't
include broadcast ether address (thanks to Olivier Hochreutiner)
Feb 17 2006 Changes in 1.0.12
- Fix debug option cannot enable problem (thanks to Henrik Brix Andersen)
- Suppress "Unknown notification..." warning message
- Add signal level to iwlist scan output (thanks to Bill Moss)
- Remove the WPA enabled card associates to non-WPA AP checking (thanks to Stefan Rompf)
- Fix compile error on kernels w/ WIRELESS_EXT < 18
- Replace ipw specific frame_hdr_len() with generic ieee80211_get_hdrlen()
- Fix rf_kill is activated problem after mode changing if module parameter
'disable=1' is used
Feb 15 2006 Changes in 1.0.11
- Fix software crypto shared WEP authentication problem (thanks to
Andrew Morton)
- Stop netdev queue if h/w doesn't have space for new packets
- Print geography code upon module load (thanks to Henrik Brix Andersen)
- Fix WPA network selection problem (thanks to Stefan Rompf)
- Fix a potential NULL pointer dereference if CONFIG_IPW2200_DEBUG is
not defined
- Fix ->eeprom[EEPROM_VERSION] check (thanks to Alexey Dobriyan)
- Support WE-18 WPA enc_capa (thanks to Dan Williams)
- Disable hwcrypto by default as a temporary workaround for the
frequent firmware restart problem (thanks to Andreas Happe)
- Convert semaphore to mutexes (thanks to Ingo Molnar)
Jan 08 2006 Changes in 1.0.10
- Fix a QoS send_command argument switch problem (thanks to
Henrik Brix Andersen)
- Fix a variable referenced after kfree() bug
Jan 06 2006 Changes in 1.0.9
- Scale firmware loading watchdog with the firmware size (thanks to Peter Jones)
- Add module parameter to enable/disable roaming
- Make LED blinking frequency independ of HZ (thanks to Clemens Buchacher)
- Replace HZ calculation with jiffies_to_msec()
- Add LEAP authentication algorithm support
- Mask out the WEP_KEY command dump from debug log for security reason
(thanks to Nick Kralevich)
- Fixed indirect SRAM/register 8/16-bit write routines for
non-dword-aligned destination addresses
- Fixed sw_reset doesn't clear the static essid
- Fix a slab corruption problem caused by ipw2200 error log buffer
incorrect calculation
- Disallow direct scanning when device is down (thanks to Pekka Enberg)
- Fixed "iwspy ethx off" causes kernel panic
- Fixed ipw2200 returns NETDEV_TX_BUSY even if queue is not full
Oct 21 2005 Changes in 1.0.8
- Added channel support for ipw2200 cards identified as 'ZZR'
- Fixed problem with not being able to send broadcast packets.
- Fixed older Wireless Extension compatibility
Oct 18 2005 Changes in 1.0.7
NOTE:
In order to upgrade to 1.0.7, you must:
- Obtain the ieee80211 subsystem (v1.1.5 or later) from
http://ieee80211.sf.net
- Obtain the latest firmware (v2.4) from
http://ipw2200.sf.net/firmware.php
- Fix problem with 'Driver using old /proc/net/wireless'
message (thanks
to Benoit Boissinot)
- Fixed #771 problem with too many (8) bytes being received
when using
AES/hwcrypto.
- Fixed problem with get_cmd_string not existing if
CONFIG_IPW_DEBUG is
not set.
- Added code to filter out WPA networks if only shared key
WEP is
enabled (resolving a firmware restart)
- Fixed support of mixed PTK/GTK CCMP/TKIP support
- Fixed is_network_packet to check for broadcast packets
- Modified all places where firmware loading can fail to
report
the errno in decimal format for easy tracking (thanks to
Peter
Jones)
- Fixed 760 problem with setting WEP key in monitor mode
causes IV loss
and decrypt attempt on captured packets.
- Fixed 455 problem with frequent channel changes causing a
firmware
error.
- Updated copyright strings
- Modified firmware error and event log capturing to capture into
allocated data blocks vs. pulling from registers.
- Changed ipw_dump_nic_error_log to ipw_dump_error_log and adjusted to
use pre-allocated log blocks.
- Added wait_state wakeup on scan completion.
- Added event_log and error_log sysfs entries.
- Modified all ipw_send_cmd() usage to report errors within ipw_send_cmd
vs. within each of the callers. This allows uniform error returns as
well as uniform debug logging.
- Modified ipw_config and STATUS_INIT setting to correct race
condition with request_scan being called before initialized if invoked
from insmod, resulting in no association occurring during boot until
iwlist scan is run.
- Updated version stamp for firmware from 2.3 to 2.4.
- Fix firmware error when setting tx_power.
- Fixed #751 Fix driver association requires manual scan.
- Fix ipw_wx_get_txpow shows wrong disabled value.
- Fixed #701 Fix a misuse of ieee->mode with ieee->iw_mode.
- Fixed the ad-hoc network WEP key list issue.
- Fixed #792 Fix WPA-PSK AES both for -Dipw and -Dwext.
- Disable host fragmentation in open mode since IPW2200/2915 hardware
support hardware fragmentation.
- Workaround kernel BUG_ON panic caused by unexpected duplicate packets.
- Added more useful geography encoding so people's experience with
iwconfig matches what their hardware can actually do in regard to
supported channel maps, etc.
- Misc. updates to be in sync w/ latest ieee80211 subsystem
- Use of ieee80211_hdr to ieee80211_hdr_Naddr
- Added is_queue_full for 802.11e support.
- Added handle_probe_response, handle_beacon,
handle_association_response callbacks.
- Changed default # of missed beacons to miss before disassociation
to 24 (vs. 9 which is too low in most environments)
- [unstable] Added command log sysfs entry for recording firmware
interactions even in non-debug builds
- Radiotap type frames support for monitor mode, which requires Libpcap
0.9.3+ to parse correctly in the user space (thanks to Mike Kershaw
for the radiotap addition, and Stefan Rompf who provided an initial
implementation for adding AVS which then motivated the radiotap work.)
- Fixed #801 problem with intermittent firmware restarts in weak signal
areas due to roaming logic
- Fixed some compiler issues if CONFIG_IPW2200_QOS is enabled.
Jul 13 2005 Changes in 1.0.6
NOTE: In order to upgrade to 1.0.6, you must obtain the
ieee80211
subsystem (v1.0.2 or later) from http://ieee80211.sf.net
- Fixed #637 problem with setting Tx power on A band (thanks to Liu
Hong)
- Fixed abg_ture -> abg_true to sync with ieee80211-1.0.2 (thanks to Liu
Hong)
- Fixed #667 problem with 'No space for Tx' (thanks to Zhu Yi)
- Fix hardware encryption (both WEP and AES) doesn't work with
fragmentation.
Firmware sends received packets with double sized ICV/MIC (thanks to
Zhu Yi)
- Fix is_duplicate_packet() bug for fragmentation number setting.
(thanks to Zhu Yi)
- Fixed type-o in Makefile 'direectory -> directory' (thanks to
Elie De Brauwer)
- Fixed Makefile use of MODVER (thanks to Zhu Yi)
Jul 12 2005 Changes in 1.0.5
NOTE: In order to upgrade to 1.0.5, you must obtain the
ieee80211
subsystem from
http://ieee80211.sf.net
- Fixed #452 problem with setting retry limit (thanks to Hong Liu)
- Fixed #592 race condition during association causing firmware errors
- Fixed #602 problem with building in 64-bit environment
- Fixed #625 problem with SCAN_REQUEST_EXT sometimes failing
- Fixed #645 problem with bit rate not decreasing when moving laptop
farther from AP
- Fixed #656 problem with 'iwconfig eth1 mode auto' and 'modprobe'
locking the system
- Fixed #667 problem with "No space for Tx" for hwcrypto=1
- Fixed #680 problem with compiling against kernel patched with Software
Suspend 2.1.8.7 (thanks to svetljo )
- Fixed #685 kernel panic in rmmod caused by led work is still queued
- Fixed #695 problem with network doesn't reassociate after
suspend/resume
- Fixed #701 problem with 'iwprvi sw_reset' not resetting the card from
monitor mode
- Fixed #702 compilation error against 2.6.12
- Fixed #710 problem with monitor mode being used after a WEP key has
been configured
- Enhance remove-old to tell modules will be unloaded and then unload
them
(thanks to Alejandro Bonilla)
- INSTALL and ISSUES update (thanks to Alejandro Bonilla)
- Cosmetic README fix (thanks to Alejandro Bonilla)
- Fixed network->mode vs. priv->ieee->iw_mode checking and README update
(thanks to Ben Cahill)
- Fixed "Unknown management packet %d" warning
- Fixed setting channels multiple times in monitor mode causes scan
stopped
- Fixed ipw_wx_sw_reset doesn't switch firmware if mode is changed.
- Add duplicate packet checking code (kill ping DUP! and TKIP replay
warning)
- Fix hardware encryption (both WEP and AES) doesn't work with
fragmentation.
- Removed ieee80211 subsystem from being part of the distribution.
Please see the INSTALL document for information on obtaining and
installing the ieee80211 modules.
May 17 2005 Changes in 1.0.4
NOTE: In order to upgrade to 1.0.4 you must also upgrade your
firmware to 2.3. You can download the firmware from
http://ipw2200.sf.net/firmware.php.
- Added some run time data via the 'stats' sysfs entry.
- Fixed #627 problem with open APs not working with wpa_supplicant
- Fixed swapped memset arguments in ieee80211_tx (thanks to Jesper Juhl)
- Fixed problem with CONFIG_IEEE80211_ defines not being configured when
built as an in-kernel module (thanks to Olivier Blin)
- Fixed #632 problem with 'txpower auto' setting power incorrectly (thanks
to Kai Groner)
- Fixed #634 problem with 'iwconfig eth1 frag 0' hanging the shell
- Fixed problem with adapter not fully powering off during suspend to RAM or
when module unloaded.
- Improved support of iwlist freq|chan and setting of channels via iwconfig
to correctly check channel limits (added ieee80211_geos)
- Fixed #645 problem with turning fixed rates off not taking effect until
you reload the driver
- Fixed problem with firmware restart if wpa_supplicant was used to set a key
that wasn't exactly 5 or 13 bytes in length.
- Fixed #623 Added iwpriv sw_reset extension to reset sw parameters
- Added speed_scan channel scan list support
- Added managment frame export to user space with frame statistics
- Fixed #652 Modified the driver to load the EEPROM data even if RF KILL is
active during driver load
- Global s#CX2_#IPW_#g to make code more consistent
- Fixed #572 problem with setting txpower to auto
- Fixed #656 problem with kernel oops if mode auto; modprobe -r ipw2200
- Added QoS (CONFIG_IPW_QOS) support. This is being actively developed but
is the first step in getting WMM support into the driver and the kernel.
- Fixed some race conditions wich channel changes, association, and scan
abort that could periodically cause a firmware restart.
- Misc. changes to the ieee80211 subsystem to clean up code and add additional
support.
- Added some extensions to export scan and network statistics to user space
(exposed through speed_scan and net_stats sysfs entries)
- Fixed #661 problem with 'pci' script (thanks to ajksf@xs4all.nl)
- Fixed #654 problem compiling against kernel patched with SWSUSP2 (thanks to
Henrik Brix Andersen)
- Fixed a few bugs in how monitor mode was supported (scan lists
weren't quite right)
- Updated the firmware requirement from 2.2 to 2.3 which supports
monitor mode.
- Fix #609 problem if SUSPEND2 included on kernels that do not support
Apr 08 2005 Changes in 1.0.3
- Fix #609 problem if SUSPEND2 included on kernels that do not support
the _BUILTIN defines.
- Fix #556 by changing 'make install' target path to /lib/modules/`uname
-r`/drivers/net/wireless instead of /lib/modules/`uname
-r`/kernel/drivers/net/wireless
- Fix #616 problem with OOPS on module load (thanks to Yi Zhu)
- Fixed problem with led module parameter being described as
'auto_create'
- Added support to merge between adhoc networks (thanks to Mohamed Abbas)
- Added semaphore lock at the driver's entry points to protect against
re-entry (thanks to Mohamed Abbas)
- Added semaphore lock to background scheduled driver actions (thanks to
Mohamed Abbas)
- Changed how signal quality is reported for scan output (thanks to
Peter Jones)
- Fixed how high/low clamp values of signal quality are reported so a
more consistent ramp is provided (thanks to Bill Moss)
- Fix #624 problem with duplicate addresses (again) (thanks to Bernard
Blackham)
- Fix #385 problem with fragmentation and certain sized packets (thanks
to Mohamed Abbas)
- Moved ieee80211.h and ieee80211_crypt.h into ./net so that the
reference to their include location does not differ from that of the
ieee80211 subsystem provided by netdev-2.6
- Merged latest netdev-2.6 changes to ieee80211 subsystem into driver
- Modified iwconfig network name if RF kill is enabled to say 'radio off'
- Fix #382 problem with driver not responding to probe requests in Ad-Hoc
mode (thanks to Mohamed Abbas)
Mar 23 2005 Changes in 1.0.2
- Removed unneeded parenthesis around numeric constant defines
- Added info about WPA to INSTALL (thanks to Henrik Brix Andersen)
- Added support for iwspy
- Put in fix for Ad-Hoc mode not passing through all packets (thanks to
KKH)
- Put in fix for fragmentation not working for fragment sizes between
441-464 bytes (thanks to Mohamed Abbas)
- Test fix for #586 problem with kernel oops on module unload by adding
spin lock protection to ieee80211's crypt handlers (thanks to Yi Zhu)
- Fixed #592 problem of CONFIG_IEEE80211_WPA_MODULE not including WPA
support into the driver -- fixed as a result of no longer limiting
WPAs inclusion
- Fixed #594 problem with user rates mask causing lack of association if
AP mandatory rate is masked out. We now add back in as a supported
rate any mandatory rate.
- Possible fix for #597 kernel oops due to potentially calling
dev_kfree_skb on an skb multiple times.
- Added code to control LEDs that can be controlled through the wireless
NIC (vs. non-wireless HW interfaces) -- this is currently disabled by
default due to reports by some users of it hanging their laptop.
- Added some more debug messages around fragmentation logic
- Added locking around STATUS_HCMD_ACTIVE to prevent re-entry race
conditions
- Moved ipw_adapter_restart to only execute on the priv->workqueue to
keep keyboard errors from occuring during adapter restart
- Added CFG_BACKGROUND_SCAN to easily allow people to play with
background scanning implementations
- Modified WPA logic to send WPA IE if one is set (vs. being based on
wpa_enabled)
- Modified scan result logic to report WPA and RSN IEs if set (vs. being
based on wpa_enabled)
- Fixed issues with endianess compatability between the host and
wireless adapter (thanks to York Liu and Yi Zhu)
- Fixed problem with Ad-Hoc network creation causing a firmware error if
a scan was actively running (thanks to Mohamed Abbas)
Feb 08 2005 Changes in 1.0.1
- Fixed #559: iwconfig rate support (thanks to Florian Hackenberger)
NOTE: Configuring a subset of rates that excludes mandatory rates by your AP may result in not being able to associate with your AP.
- Improved link signal quality calculation (thanks to Bill Moss)
- Added additional debug output during scan to dump all 16 bits of
capability field to IEEE80211_DL_SCAN output
- Added support for Intel PRO/Wireless 2225BG Network Connection adapter
- Removed trailing whitespace on lines in code (thanks to Henrik Brix
Andersen)
- Yanked script trace (-x) from helper scripts (thanks to Henrik Brix
Andersen)
- Fixed a problem with sensitivity threshold during association (thanks
to Raphael Slinckx for troubleshooting with me on IRC for three days)
- Added iwpriv for turning forcing long preamble support:
iwpriv eth1 set_preamble 1|0
- Possible fixes for #542 and #377 support for short preamble
- Fixed #563 compilation warning on 2.6.11-rc2 (thanks to Henrik Brix
Andersen)
- Fixed locked BSSID reporting channel number (thanks to Pedro Ramalhais)
- Fixed type-o with scan watchdog timeout message (thanks to Pedro Ramalhais)
- Changed logic for displaying get_mode output so the code is easier
to follow (thanks to Pedro Ramalhais)
- Added initial support for WPA (thanks to Yi Zhu) -- tested with
wpa_supplicant (either tip w/ ipw driver, or with -Dipw2100) with both
CCMP and TKIP
- Fixed problem with CCMP not working due to uninitialized 802.11 header
fields (thanks to Pedro Ramalhais)
- Fixed unload script to unload the ieee80211 modules in the correct
order
Jan 31 2005 Changes in 1.0.0
- Stamped the version 1.0.0
- Fixed part of #430 problem with an AP never being considered for
association (storming) if the jiffies rewind problem occurs (thanks to
Yi Zhu)
Jan 28 2005 Changes in 0.22
- Changed debug log level for a fragmentation message in ieee80211 so
rather than use printk() it uses IEEE80211_DL_FRAG
- Fixed problem with ethtool -i not reporting the correct version string
Jan 17 2005 Changes in 0.21 (including unreleased 0.20)
- Provided __iomem typedef for pre-2.6.9
- Changed firmware event/error log dumping to be masked with
IPW_DL_FW_ERRORS flag. If you encounter a firmware error, your kernel
log will now just log the firmware restart.
- Fixed compilation warnings when CONFIG_IPW_DEBUG and
CONFIG_IEEE80211_DEBUG are not defined
- Fixed warning on unused return code from pci_set_consistent_dma_mask
- Fixed #525 compilation problem with gcc 2.9.5 due to __FUNCTION__ not
being followed by whitespace. (thanks to Dave Hansen)
- Fixed #530 problem after any resume (thanks to Henrik Brix Andersen)
- Fixed #363 problem after S4 resume (thanks to Yi Zhu)
- Fixed #488 problem with bridged networks and Ad-Hoc by adding
target MAC to station table, regardless of if they are actual
Ad-Hoc cells (thanks to Alex Hudson)
- Fixed #221 problem with setting mode immediately after load causing
failures
- Incorporated fixes to use __iomem (thanks to Stephen Hemminger)
- Fixed #502 support for 64-bit platforms (thanks to Pedro Ramalhais and
Angelo DiNardi)
- Fixed #431 problem with pci_alloc_consistent being handed a u32 instead of
dma_addr_t (thanks to Jacek Wysoczynski and Marek Rudniewski)
- Fixed #379 problem w/ non-encrypted 802.1x authentication (driver no
longer disassociates on privacy capability change -- similar to the
behavior of ipw2100)
- Fixed #509 problem w/ resetting nic possibly leaving status
variable bit set for a command being active.
- Fixed #450 problem w/ scan results not providing signal and level
statistics
Dec 20 2004 Changes in 0.19
NOTE: In order to upgrade to 0.19 you must
also upgrade your firmware to
2.2. You can download the firmware from
http://ipw2200.sf.net/firmware.php.
If, when loading the module, you see an error in the kernel logs about
conflicting firmware versions, then you do not have the correct firmware
installed.
- Fixed problem with unlocking the wrong spin lock (thanks to Yi Zhu)
- Restructured how the Link Quality is computed
- Added IPW_DEBUG_STATS for data related to how the Link Quality is
computed
- Restructured how the scan channel list is constructed (cleaned up
the
code a
bit)
- Fixed #291 problem with resume not working when coming from S3
(thanks
to Yi
Zhu)
- Fixed #489 and #387 problems with fragmentation not working
- Fixed #499 problem with packet latencies due to background scanning.
This
change required some logic rework in how the roaming process occurs.
- Fixed problem with some packets not being received due invalid Rx
filtering of BSSID
- Added SCAN watchdog to detect when scanning is not completing
Dec 14 2004 Changes in 0.18
- Fixed problem with the driver thinking the privacy capability wasn't
matching when it was (thanks to Yi Zhu)
- Fixed #451 problem where driver wasn't reporting to user space tools
when Tx
power is disabled (radio off)
- Fixed problem with Rx queue not being protected via locks (thanks to
Rusty Lynch)
- Added additional debug information if an authentication failure
message is received.
- Fixed #492 problem with 'invalid crypt' count not being reported in
wireless statistics
- Fixed #495 problem with 'auto_create' module parameter not working
- Fixed #288 problem with a driver panic or system lockup during load
or
under high load
Dec 10 2004 Changes in 0.17
NOTE: In order to upgrade to 0.17 you must also upgrade your firmware to
2.1. You can download the firmware from http://ipw2200.sf.net/firmware.php.
If, when loading the module, you see an error in the kernel logs about
conflicting firmware versions, then you do not have the correct firmware
installed.
ISSUES: Ad-Hoc is currently not functional with 0.17. If you rely on Ad-Hoc capabilities, please do not use this version.
- Adjusted the behavior of ad-hoc to act much more like the ipw2100 does.
This addresses several bugs relating to the formation/reformation of
ad-hoc networks.
- Started initializing the ad-hoc station table when associating to an ad-hoc
network. This fixes a problem that is at the root of may problem reports
where network connectivity is lost in ad-hoc mode, yet both the driver
and networking stack configuration is correct and the device is associated
sending out beacons.
- Added noise statistic reporting for current association
- Fixed "associate" module parameter so that it works as the README states
- Fixed signal strength reporting.
- Added AP roaming support (via 802.11 re-association requests). If you
have an ESS network that spans multiple APs and begin missing
enough beacons from the currently associated AP, the driver will look
for a better AP to associate with. If found, it will attempt to
re-associate with that AP.
- Fixed code such that if a scan completes while disassociating, an
association attempt is not made.
- Added dumping of Status and Config during fatal error dump (to help
provide driver context during the fatal error)
- Changed missed beacons to report the % of missed beacons recently
Dec 06 2004 Changes in 0.16
- Merged ieee80211 double alloc into single allocation (thanks to
Stephen Hemminger)
- Fixed compilation problem if CONFIG_IEEE80211_DEBUG is not defined
(thanks to Stephen Hemminger and Luc Saillard)
- Really fixed bug #271 so we properly compare essids when looking for
a valid network to connect to
- Fixed bug #402 so that WEP can be used with ad-hoc mode
- Fixed bug #414 problem with SSIDs being scrambled when hidden networks
detected (also resulted in multiple hidden networks showing in scan
results)
- Fixed bug #425/285 problem with 802.11b networks being extremely slow
- Added support for multi-mode access points. Fixes bugs like #397
where the driver is not able to associate with an ap in 'b' mode
even though the ap provides both 'b' and 'g' bands
- Fixed bug #421 problem with a panic if fragmentation is used. NOTE:
Fragmentation itself is currently broken (nothing goes through) but it
won't panic anymore.
- Fixed bug #237 so that link quality is now temporal and should adjust
dynamically as the network quality changes (previously it would slowly
stagnate onto a fixed level)
Nov 24 2004 Changes in 0.15
- Fixed #399 - max fragmentation threshold was 2342 instead of 2346
- Fixed problem with link state no longer being detected by ethtool
- Initialize atim_window in network during scans (fixes problem with
adhoc networks)
Nov 21 2004 Changes in 0.14
- Test fix for bug #207 by changing how a network is determined to be unique.
Previously, only the BSSID was checked to determine if a new probe or beacon
was for an already discovered network. Now the BSSID, ESSID, and
channel must match for the network to be considered the same.
- Fixed bug #265 by adding a filter for removing our own recieved
packets since the firmware does not do this for us.
- Fixed bug #269 so that ad-hoc will come up correctly the first time when
preemption is enabled.
- Fixed bug #270 which was fatal errors triggered by multiple association
commands on top of each other.
- Fixed bug #271 so that we correctly match essids when the assigned essid
is a substring of a network essid
- Fixed bug #275 which kept the driver from being able to use a default
crypto key other than the first or second key.
- Fixed bug #277 which caused the setting of the active key, or
specifying a key, to corrupt the key being assigned.
- Fixed bug #344 - wireless stats are now provided even if the HW is down or
not associated with a network.
- Fixed bug #365 which would result in kernel stack dumps in the system
log file due to an improper scheduling call while in atomic mode.
- Fixed bug #378 which would cause an endless loop of scans if a scan was
triggered with an "iwlist ethX scan" while associated.
- Fixed #393 such that only unicast frames request an ACK
- Fixed bug #404 so that we correctly fail when the wrong firmware version
is loaded.
- Synchornized ieee80211 module with ipw2100 v1.0.1 (modifed ieee80211
initialization, and Tx data path)
- Moved the trans_start reset to that the TX watchdog can actually fire
if the HW stalls out.
Nov 10 2004 Changes in 0.13
- Modified SW/HW rf_kill interaction functionality. See README.ipw2200 for
details on current usage.
- Fixed #239: iwconfig eth1 rts off/auto not supported
- Fixed problem with not being able to associate with
non-broadcast ESSID APs
- Changed default temporal timeout for scan age to 15s
- Changed MAC2STR and MACSTR to MAC_FMT and MAC_ARG
- Fixed problem with scan results not expiring
- Fixed a bug in ad-hoc support (#295) that prevented the creation of a new
ad-hoc network
- Reduced interval of scan requests to 1/10th second (vs. 5 seconds)
- Modified scan logic to alternate between directed and active scanning
when an ESSID is defined. This should improve AP to AP roaming via
ESSID selection.
- Increased dwell time on directed scans to 100ms from 20ms
- Fixed fragmentation for both wep and with no encryption
- Fixed wireless stats reporting to indicate that the noise level is invalid.
This version of the firmware does not provide noise statistics.
- Fixed a bug that prevented 'iwpriv ethX set_mode N' from working correctly
Oct 13 2004 Changes in 0.12
- Changed alloc_skb to use GFP_ATOMIC vs. GFP_ATOMIC| GFP_DMA (thanks to
Roland Dreier) GFP_ATOMIC needs to be used as GFP_KERNEL may block,
and the call is made from the default work queue during adapter load
- Fixed problem with module_param not building on some systems (thanks
to Pieter Hollants and Sebastian Henrich)
- Added additional debug output during association to indicate security
parameters (to assist in connection debugging)
- Misc cleanups (thanks to Stephen Hemminger)
- Un 'inline' initialization functions
- Added const to a few locations
Sep 30 2004 Changes in 0.11
- Hooked up the ability to set the fragmentation threshold. Unfortunately,
once set you won't receive any packets.
- Fixed problem with privacy capability not being compared correctly when
assessing viability of a network for association.
- Added debug level output into ieee80211* modules. You can access the
debug levels via the debug module parameter as well as through
/proc/net/ieee80211/debug_level, and see values via the idvals script
- Corrected support of 'iwlist ${IFNAME} bitrate'
- Corrected support of 'iwlist ${IFNAME} power'
- Added support for setting the TX power via
'iwconfig ${IFNAME} txpower ${LEVEL}'.
- Added support for setting the fragmentation threshold via
'iwconfig ${IFNAME} frag ${THRESHOLD}'.
- Added PSP power management support (thanks to An-Cheng Huang)
- Added support for suspend / resume.
- Fixed problem with setting an ESSID to a network that doesn't exist in
Managed mode would result in the creation of an AdHoc network.
- Changed the way modulation and freq_band are stored and accessed.
Sep 29 2004 Changes in 0.10
- Fixed problem with manual disabling of RF via rf_kill sysfs entry wasn't
resulting in the card actually being disabled.
- Added mode module parameter so you can start the device in either
Managed or AdHoc mode (see README.ipw2200 for more information)
- Modified logic for detecting hidden SSIDs to work with how Linksys APs
do it.
- Hooked in the rest of AdHoc code. You can now create adhoc networks,
associate to existing ones, etc.
- Added adhoc_create module parameter for configuring the driver to auto
create a network if you have provided the channel and network name.
- More changes to the scan logic, adding more debug output to indicate
why specific networks are chosen over others (enable those messages by
turning on the SCAN debug level. See `dvals` for the specific value.)
- Added a printk() to the pci probe indicating if it detects a 2915ABG
or 2200BG adapter.
- Fixed problem with setting IW_MODE to AUTO (previously it just didn't
work -- now it defaults back to IW_MODE_INFRA)
- Fixed problem with device coming up even if manual disable specified.
- Fixed problem with udev (or anything else that parsed all sysfs
entries) with causing error log storms to the kernel log.
Sep 28 2004 Changes in 0.9
Sep 16 2004 Changes in 0.8
- Fixed rate reporting to start with reporting maximum supported data rate,
then falling back after enough packets have Tx'd to be able to accurately
determine the true data rate.
- Added a space after __FUNCTION__ to remove compilation problems
experienced by some (thanks to Andreas Ruess)
- Added support for associating with 802.11a APs (thanks to Liang Chai)
- Improved quality/signal level reporting (thanks to An-Cheng Huang)
- Misc. code cleanups (thanks to Stephen Hemminger):
- Change to use sysfs attribute groups
- Fix to incremement Tx packets
- Removal of IRQ save in the ISR
- Removed redundant STATUS_DEV_OPEN
- Changed vmalloc -> kmalloc
- Several global -> static variable change
- Use C99 intializars in iw_handler declarations
- Modified the Makefile to define the CONFIG_IEEE80211_CRYPT_*differently
- Modified the AP selection logic to pick the AP with the strongest signal
that meets the other configured criteria.
- Modified AP selection logic to discard APs whose scan age has expired.
- Added code to set the sensitivity in the firmware upon association.
- Added code to correctly seed the random number control in the firmware.
- Added code to try and correct the intermittent failure seen sometimes while
loading the driver.
- Added code to detect when enough beacons have been missed to trigger a
disassociation, and to then invoke the disassociation.
Sep 03 2004 Changes in 0.7
- Fixed Makefile problem with compiling WEP support (thanks to Yi Zhu)
- Fixed support for associating with G-only APs (and also supporting all
of the G/B-rates in Mixed mode)
- Modified iwconfig output to report either 'unassociated' or
'ieee 802.11{band}' where band is one of a, b, or g.
- Fixed error preventing modprobe from consistently working (thanks to
Yi Zhu)
Sep 02 2004 Changes in 0.6
NOTE: In order to upgrade to 0.6 you must also upgrade your firmware to
2.0. You can download the firmware from
http://ipw2200.sf.net/firmware.php.
If, when loading the module, you see an error in the kernel logs about
conflicting firmware versions (2 != 1) or (1 != 2) then you do not have
the correct firmware installed.
- Updated firmware interface to support new extended scan.
- Added ABG PCI ids
- Added support for G data rates.
- Partial support for A data rates.
- Fixed ordinal setup/reading code so that real values can be reported through
wireless statistics.
- Partial change for reporting link quality through iwconfig -- not
completed.
- Refactored IPW_BAND_* to IPW_IEEE_* to try and use better terminology
when referencing 802.11 modes (a,b,g) vs. frequency bands
(2.4Ghz,5.2Ghz)
- Misc. code cleanup (thanks to Stephen Hemminger):
- If error log is empty, don't print the header
- Removed ipw_net_change_mtu since alloc_etherdev will set it to
eth_change_mtu which enforces the same restrictions.
- Variables changed to private that are only used in ipw2200_main
- Removed forward inline declaration, it really doesn't matter
- Chagned snprint stuff not inline (it can't be performance
sensitive), and data doesn't get modified (const).
Aug 31 2004 Changes in 0.5
- Fixed problem with load retry logic re-allocating Rx buffers
repeatedly (skb leak)
- Fixed SWSUSP compilation dependency to CONFIG_SOFTWARE_SUSPEND2
- Fixed oops if sysfs entries were read after the driver fails
to load if the firmware is missing.
- Moved probe / beacon handling into ieee module (shared with ipw2100)
- Changed to use netdev_priv consistently (thanks to Stephen
Hemminger)
- Fix the initialization code (thanks to Stephen Hemminger):
- memset is unnecessary since alloc_etherdev does it already
- SET_NETDEV_DEV so that /sys/class/net/eth0/device symlink is
created
- don't set name to "eth%d" already done by alloc_etherdev
- don't mask register_netdev error codes
- Misc. code cleanup (thanks to Stephen Hemminger):
- get rid of left over cruft in ipw2200 priv stuff that is
set but never used
- debug/channel should be local variables (global namespace
conflicts possible).
- extra semi-colon in IPW_DEBUG is bug waiting to happen.
- Report firmware version via ethtool (like other drivers) rather than
special sysfs hook. (thanks to Stephen Hemminger)
- Fixed TCP session freezing problem (thanks to Yi Zhu)
- Added support for non-broadcasting ESSIDs (thanks to Andreas
Oberritter)
Aug 31 2004 LKML Update & Intel PRO/Wireless 2915 ABG Announcement
The following is the email announcement to the LKML:
To: linux-kernel@vger.kernel.org, netdev@oss.sgi.com
Subject: [Announce] Update on ipw2100, ipw2200, and support for Intel PRO/Wireless 2915ABG
It's been a while since I've updated lkml and netdev on the progress of
the ipw projects. Given the recent announcement by Intel for the
introduction of Intel PRO/Wireless 2915 ABG Network Connection miniPCI
adapter, I thought now was a good time...
First, thanks to everyone that has been contributing, using, testing,
and reporting feedback for the projects described below. The support
by folks in the community has been terrific -- the drivers wouldn't be
anywhere near as feature rich and stable as they are today if not for
the contributions of everyone.
The ipw2100 project (802.11b) has progressed very well. We are in the
process of cleaning up the driver for submittal to netdev for eventual
inclusion into the kernel. The driver currently supports wep, 802.1x,
monitor mode, adhoc, infrastructure, etc. Suspend/resume isn't quite
functioning yet, but we'll get there soon. This project is hosted at
http://ipw2100.sf.net.
The ipw2200 project (802.11bg), which was launched back in May, is
quickly catching up to the ipw2100 project in terms of functionality.
It currently supports wep and 802.1x in infrastructure mode. Currently
it will only associate at B data rates; hooking in the G capabilities
is going on right now. We'll then tackle adhoc and remaining feature
gaps. We had been planning on holding off submittal for kernel
inclusion until we were feature complete. However, several folks have
requested that we accelerate that plan and get it in sooner rather than
later. To that end we're working to try and get it ready for submittal
along with the ipw2100 project. This project is hosted at
http://ipw2200.sf.net.
The ipw2100 and ipw2200 projects currently share the 802.11 frame
handling stack for Tx/Rx and some management frame processing. That
code has been pulled into its own module suite (ieee80211), based on
work from the Host AP project. That code needs to be resync'd with the
Host AP code (and vice versa where appropriate) so that then all of
those drivers will be able to leverage a single wireless network stack.
Anyway, this brings me to announcing Linux support for the Intel
PRO/Wireless 2915 ABG Network Connection adapter. As of next week, the
ipw2200 project will also begin supporting the ABG adapter. From the
driver's perspective, the only change between the two cards is the
addition fo the A radio on the 2915. So, adding support for the ABG is
just a matter of updating the firmware used by the ipw2200 project,
adding PCI id's, and putting in support for A. That work will progress
as we continue to bring full support for the ipw2200 project.
At some point in the near future we will rename the ipw2200 project to
something more appropriate to identify it as supporting both the 2200
and 2915 adapters.
Thanks,
James
|
Aug 16 2004 Changes in 0.4
- Hooked in WEP. You can now use encrypted sessions. 802.1x should also work
(802.1x hasn't been tested). Only supports OPEN authentication.
- RF Kill switch is now supported. Manual driver based RF kill support added
through sysfs entry (see README.ipw2200)
- Fixed scan results to report channel # for APs vs frequeny
- Added privacy capability matching to association selection -- the driver
will no longer associate with APs that have different privacy capabilities
enabled than the station
- Switched the IPW_DEBUG_ERROR and WARNING macros to always use printk
so that release builds, and users without a debug mask set will still
see error conditions in the kernel log.
- Added RTS threshold WE handler
- Added compilation support for having the SWSUSP patch installed (thanks to
Morten Nilsen)
- Modified net_dev declaration to compile on 2.4.27 (thanks to Yi Zhu)
Aug 12 2004 Changes in 0.3
- Implementation of many WE commands (still a lot to go)
- Scanning and association are working.
- Tx/Rx functioning for non-WEP enabled sessions
- Lots and lots of code changes
- ieee80211 pulled in from ipw2100 project.
Jul 02 2004 Changes in 0.2
- firmware loading
- skeleton wireless extensions
- eeprom access
- new sysfs tweakables
- skeleton for RX and TX queues
May 28 2004 Changes in 0.1
- Initial public release
- Fixed proc oops on module load
- Removed compilation warnings
- Added full list of device IDs
May 04 2004 Project Opened!
Intel has officially launched this project as of today. As a result, we
are now free to engage in more technical discussions on our implementation
plan for the IPW2200. A primary goal of this project, in addition to
providing the features Linux users care about, is to build a unified
driver framework for both the IPW2100 and IPW2200.
If you are curious about our ideas in this area, and have any ideas of your own or would like to contribute in any way, please join the mailing list and send out your thoughts and questions.
You can join the mailing list here. NOTE: To help reach the goal of a unified driver, both the IPW2100 and IPW2200 projects are set up to use the same mailing list. If it becomes evident that we need to create a mailing list specifically for the development of the IPW2200 driver we will do so.
May 04 2004 LKML Announcement
The following is the email announcement to the LKML:
To: linux-kernel@vger.kernel.org
Subject: [Announce] Intel PRO/Wireless 2200BG 802.11b/g Project
Intel is pleased to announce the launch of an open source project to support
the Intel PRO/Wireless 2200BG Network Connection miniPCI adapter (IPW2200).
The project site is up and in the coming weeks you can expect initial source
to become available providing the foundation for supporting this hardware.
We are announcing to the LKML now as we value working with the Linux
community and wanted to let you know directly that Intel has now officially
started this project.
The project is hosted at http://ipw2200.sourceforge.net. A development
mailing list is available (linked from the top of the IPW2200 project
page) so if you are interested in this project, go subscribe to the mailing
list and/or set yourself up to monitor the file releases.
Please let me know if you have any questions.
Thanks,
James
|