
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

* Fixed support for all 802.11G extended rates
* Ad-Hoc code starting to show up.  You can now create Ad-Hoc networks 
  and join with other cells.  Data Tx/Rx is still in the works.
* Added mode switching support to WX:
	% iwconfig eth1 mode (managed|ad-hoc)
* Enhanced the iwlist scan results to (hopefully) be more clear 
  on various statistics.
* Added support for restricting the 802.11 mode via a iwpriv method.  
  See README.ipw2200 for more information.
* Fixed UNKNOWNSTATUS_ERROR if AdHoc beacon received while in managed mode 
  (thanks to Yi Zhu)
* Fixed UNKNOWNSTATUS_ERROR if RF kill enabled when loading driver 
  (thanks to Yi Zhu)
* Reworked IE parser to use an iterative loop, based on Pedro Ramalhais' 
  original WPA port (thanks to Liang Chai)
* Fixed stricter type checking errors (thanks to Pedro Ramalhais)
* Fix oops in ieee80211_crypt_free (thanks to Yi Zhu)
* Fixed module reference counting of ieee modules (thanks to Stephen 
  Hemminger)
* Fixed oops if CONFIG_NETLINK enabled (thanks to Yi Zhu)
* Misc. code cleanups (extra casts removed, unused function warning) 
  (thanks to Scott Feldman)
* Changed AP detection logic so that it only considers a probe response 
  to be a duplicate if both the BSSID and ESSID match (allowing a single 
  BSSID to broadcast multiple ESSIDs)
* Modified load sequence such that if the RF switch is disabled during 
  load it doesn't try and bring up the network.
* Modified dev->open so that it doesn't start the queue unless it is 
  associated
* Sync'd ipw2100's ieee80211 module changes

Sep 15 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 3 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 2 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 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)

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.

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
* net device register / unregister
* PCI probe
* sysfs /sys/devices/pcixxx:xx/xxx/xxx/ipw2200_debug
	( cd /sys; find . -name 'ipw2200*' )
* proc /proc/net/ipw2200/debug
* module load / unload
* hot plug shell in place. 
	(loads from /usr/lib/firmware/ )

