Changes in 0.55

NOTE: 0.55 requires firmware v1.3.  You can obtain the latest firmware 
from http://ipw2100.sf.net/firmware.php

* Fixed rmmod oops in ieee80211 (thanks to Yi Zhu and Stephen Hemminger)
* Merged in WPA code (thanks to Lubomir Gelo)
* Fixed stricter type check warnings (thanks to Pedro Ramalhais)
* Fixed 'make uninstall' to correctly remove the modules vs. the entire
  directory.
* Renamed ipw2100_main.c to ipw2100.c
* Fixed IPW2100_DEBUG_FW to IPW_DEBUG_FW
* Changed CONFIG_IPW2100_(WPA|WEP) to CONFIG_IEEE80211_(WPA|WEP)
* Makefile fixes to enable WEP during the build
* Masked out DEBUG_RX code paths by CONFIG_IPW_DEBUG (thanks to Dominik 
  Bathon)
* Fixed suspend/resume (thanks to Yi Zhu)
* Misc. code cleanups (extra casts removed, unused function warning)
  (thanks to Scott Feldman)
* Added filtering of corrupted 802.11 frames in rfmon mode (thanks to 
  Jacek Wysoczynski)

Known issues in 0.54

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).

Changes in 0.54

* Test fix for spurious IRQs during firmware intialization.
* Fixed payload_size bug in fragmentation code (thanks to Yi Zhu)
* Removed "IRQ ignored" message.
* Changed IPW2100_DEBUG and IPW2100_DL to IPW_DEBUG and IPW_DL
* Updated dvals script to report out debug levels
* Switched legacy fw loader on 2.6 to use vfs (thanks to Yi Zhu)
* Merged all .c into single file (same with .h)  Removed ipwversion.h
* ipw2100_private_args and ipw2100_private_handler arrays are defined
  only once and CONFIG_IPW2100_PROMISC #ifdefs are moved inside array
  definitions (thanks to Lubomir Gelo) 
* Removed get|set_preamble and get|set_longpreamble schizofrenia and
  fixes ipw2100_wx_set_preamble. Also removes unused long_preamble
  variable (thanks to Lubomir Gelo)
* Resynced ieee80211 with ipw2200 (moved scan and probe logic from 
  ipw module into ieee80211 module)

Known issues in 0.54

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).


Changes in 0.53

* Fixed completely broken proc init/destruct code (thanks to Pedro 
  Ramalhais)
* Fixed problem with new get_power not returning any string output (due to 
  a missed line while intergrating An-Cheng Huang's patch)
* Fixed SWSUSP2 build dependency check to CONFIG_SOFTWARE_SUSPEND2
* Fixed problem with IRQ not being freed correctly.
* Changed read to sys_read, etc. to fix legacy firmware compilation 
  problems (thanks to L Jensen)
* Added code to remove workqueue on PCI init error path (thanks to Yi 
  Zhu)
* Added dvals, load, and unload scripts.
* Updated in-kernel patch to 2.6.8

Known issues in 0.53

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).


Changes in 0.52

* Added disable module parameter to control whether the radio is disabled at
  load:
	% modprobe ipw2100 disable=1
* Added manual RF kill override support to /proc/.../state:
	% echo 1 > /proc/net/ipw2100/eth1/state
  disables the radio.  Echoing 0 will re-enable it. The existence of a HW
  RF switch will override the manual re-enable request.
* Misc. cleanups to ieee80211* (thanks to Christoph Hellwig)
* Fixed type-o in description for associate module parameter: default = on 
  (not off as previously reported)
* Fixed problem with NULL embedded ESSIDs being used while the HW is not 
  initialized.
* Fix #160 - Type-o in INSTALL referencing 1.1 firmware vs. 1.2
* Added iwpriv 'set_preamble' which can be used to limit the firmware to only
  use long preamble.  Setting to 0 sets it to AUTO (default).  Setting to 1
  limits to only using long preamble.
* Fix #162 - Attempts to set power options other than ON/OFF with 'iwconfig 
  eth1 power' now fail.  Clarified power level report out when get_power is
  used.
* Fixed #166 - setting more than 5 keys affects active key.  Any attempt to
  set a key outside the range 1-4 will result in Invalid Argument.
* Added compilation support for having the SWSUSP patch installed (thanks to 
  Morten Nilsen)
* Added support for the encryption modules that will be needed in order 
  to implement WPA (thanks to Lubomir Gelo)
* Modified net_dev declaration to compile on 2.4.27 (thanks to Yi Zhu)
* Updated ieee80211 to sync with the ipw2200 project
* Switched iwpriv get_power to use a larger buffer so a more informative 
  string can be returned (thanks to An-Cheng Huang)

Known issues in 0.52

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).


July 26 2004 Changes in 0.51

* Fixed setting of Level to 0 when not connected; fixed problem with waproamd
  not detecting when association is lost.
* Fixed problem with connection state going out of sync with association when
  interface closed.
* Added 'associate' module parameter to instruct the driver if it should
  auto-associate during scans.  Useful when using a user space utility for
  association policy.
* Reworked some of the driver init messages to be more in sync with other 
  netdev devices.
* Fixed bug with the treating ESSID as a null terminated string.
* Added reporting of level # for iwpriv ${IF_NAME} get_powermode
* Fixed problem with SIOCGIWESSID returning the wrong length of ESSIDs
* Some more changes to the suspend / resume portion of the driver to try and 
  get it stable on all systems.
* Fixed problem with mandatory BSSID filtering not persisting through adapter
  restarts.

Known issues in 0.51

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).


July 20 2004 Changes in 0.50

* Modified the way that Link Quality is calculated
* Fixed code so it would compile with gcc 2.95 (thanks to Victor Orlikowski)
* Fixed code from using default workqueue to using a custom workqueue.  
  This will (hopefully) fix any issues with keyboard craziness (thanks 
  to Stefan Dosinger)
* Changed the power setting interface to use iwpriv mechanism that more
  accurately maps to the power management support of the ipw2100 (thanks 
  to An-Cheng Huang)  See README.ipw2100 for information on the power
  interface.
* Added support code for WPA information element setting (untested)  NOTE: This
  does not enable WPA; it just provides the hooks so that WPA support can be
  added.
* Updated firmware to 1.2 with a potential fix for firmware restarts in areas
  of heavy RF interference (thanks to Mikolaj Kolakowski)  NOTE:  This means
  you need to update your firmware from http://ipw2100.sf.net/firmware.php with
  the version for ipw2100 v0.50+.

Known issues in 0.50

!- If C3 is enabled, you may occassionally see "Corruption detected at 
   0x....:"" messages in your kernel log, followed by a firmware reset.  
   A temporary work around is to disable the C3 low power state (either 
   via the patch on the website to processor.c or by unloading the ACPI 
   processor module).


July 8 2004 Changes in 0.49

* Fixed TX stall with MTU at 1500 (bug 133)
* Wrapped a few printk()'s in IPW2100_DEBUG macros so that they are not 
  filling the logs if you don't want to see them (bug 139)
* Removed av5100 and pbe5 modules from the IPW2100 project.  If you 
  require one of those modules you will need to obtain them from the RF 
  Switch project (http://rfswitch.sf.net)

Known issues in 0.49

!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on
   the website to processor.c or by unloading the ACPI processor module).


July 7 2004 Changes in 0.48

* Fixed problem with scanning
* Updated INSTALL to indicate where the CRC32 library routine is
* Updated patches/ to 2.4.26 and 2.6.7

Known issues in 0.48

!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on
   the website to processor.c or by unloading the ACPI processor module).


July 2 2004 Changes in 0.47

* Updated to sync with new networking APIs (thanks to Scott Feldman)
* Switched CONFIG_IPW2100_NOWEP to CONFIG_IEEE80211_NOWEP
* Removed dependency on Host AP for WEP (thanks to Pedro Ramalhais).
* Pulled all ieee80211* generic code into stand alone modules
* Started cleaning up and reworking the ieee80211_tx fragmentation code.
* Fixed module parameter and build problems for 2.4 systems
* Added code to better manage the state of interrupt enabling
* Added fix to stop network degradation after ICV mismatches (thanks to Pedro
  Ramalhais)
* Fixed code in the RF kill check that was erronesouly setting the rf_kill
  variable to OFF if the switch was actually ON
* Added code to always check if the RF kill switch timer is running if the 
  device init fails.  
* Changed C3 corruption detection to only dump the status queue to the logs if
  you have defined CONFIG_IPW2100_DEBUG_C3

Known issues in 0.46

!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on
   the website to processor.c or by unloading the ACPI processor module).


June 7 2004 Changes in 0.46

* _3 Fixed OOPS if RF switch disabled while loading the module (thanks to 
  Andrea Merello)
* _2 Added firmware restart backoff algorithm -- you should no longer have a 
  resource starved system if a restart storm hits.
* Set default bit rate mask to only cover valid rates
* Added ability to get/set expiration age for scans via proc
* Fixed kernel oops if queue allocation fails (thanks to Christian 
  Borntraeger)
* Corrected GPL license text to comply with code used in derivation (changed to
  specify the applicable license version)
* Fixed problem with using IPV6 when compiled as a module (thanks to 
  Antti Miettinen)
* Fix to remove compilation warning on ipw2100_set_tx_rates (thanks to Jan De 
  Luyck)
* Added mode and channel module parameters:
	% modprobe ipw2100 mode={0=bss,1=ibss,2=monitor} channel=n
* Added code to block FW commands while HW switch is enabled
* Added code to not enable the HW if the FW switch is enabled during module 
  load
* Fixed FW race condition experienced on some distributions (contributed to 
  inability to load FW as well as seeing 'fw ordinals used before HW 
  initialized' message)
* Restructured the C3 corruption detection logic to be more agressive at 
  detection in an attempt to minimize interface downtime due to corrupt data
* Fixed bug in ipw2100_interrupt where the INTA value was being checked against
  0xffffffff after being masked (thanks to Mark Gross)
* Fixed bug in ipw2100_interrupt where dev->priv was being dereferenced 
  _before_ the check for dev being NULL
* Added code to ignore interrupts while loading the microcode (thanks to 
  Andrea Merello)
* Cleaned up some spelling and grammar mistakes (thanks to Pavel Machek)
* Fixed typo in INSTALL (thanks to Terry Simons)

Known issues in 0.46

!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on
   the website to processor.c or by unloading the ACPI processor module).
!- If you use Monitor mode, make sure you take down the interface first:
     % ifconfig eth1 down
     % iwconfig eth1 mode monitor
     % ifconfig eth1 down
   Users have reported that failure do to so frequently does strange things
   with the keyboard.

May 20 2004 Changes in 0.45

* Added support for setting TX rates (thanks to An-Cheng Huang)
* Fixed problem with interrupt conflicts during suspend/resume and init while
  loading the microcode (thanks to Andrea Merello)
* Fixed kernel oops and system lockups under heavy small packet load (packet 
  starvation problem -- thanks to Pedro Ramalhais for helping on this one)
* Fixed support for providing custom MAC address (thanks to Andrea Merello)
* Test for corrupt TCP packet problem (not the C3 corruption)
* Added Ad-Hoc support.  This has had limited testing, so if you've been 
  waiting for Ad-Hoc and try this, please let me know how it goes
* You can use HOSTAP CVS by applying the patch located at 
    http://ipw2100.sf.net/downloads/ipw2100-0.45-HOSTAP_CVS.patch
  This patch will then allow you to use Host AP v0.2.x (thanks to Pedro 
  Ramalhais)
* Modified C3 detection code path to immediately halt the firmare, report out 
  full status queue buffer, and schedule a restart
* Added C3 corruption reset code such that it will restart on other detections 
  (thanks to Benjamin Osheroff)

Known issues in 0.45
!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on
   the website to processor.c or by unloading the ACPI processor module).
!- If you use Monitor mode, make sure you take down the interface first:
     % ifconfig eth1 down
     % iwconfig eth1 mode monitor
     % ifconfig eth1 down
   Users have reported that failure do to so frequently does strange things
   with the keyboard.

May 10 2004 Changes in 0.44

* Firmware updated - you must update the firmware images on your system.  You 
  can obtain the latest firmware from http://ipw2100.sf.net/firmware.php
* More code restructiong--started moving the ctl and mgmt frame code into 
  the ieee80211* files (vs. contained in ipw2100_main.c and ipw2100.h)
* Switched all dev_kfree_skb calls in the generic packet handlers to use
  dev_kfree_skb_any so they are safe in user or interrupt context.  This 
  removed the opportunity for some more badness in the bh handlers during 
  error return path cleanup.
* Part 2 (of 2) for Monitor mode support added (thanks to Maciej Urbaniak and
  Jacek Wysoczynski)
* INSTALL typeo fix (thanks to |GeO| on #ipw2100)

Known issues in 0.43
!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on 
   the website to processor.c or by unloading the ACPI processor module).

May 05 2004 Changes in 0.43

* HOSTAP issue in Makefile for 2.4 fix (thanks to Andreas Piesk)
* Typeo in Makefile (thanks to Eric C. Cooper)
* Improved signal quality metric (thanks to Mikolaj Kolakowski)
* Part 1 (of 2) for Monitor mode support added (thanks to Maciej Urbaniak)
* Changed aging of scan results such that if a beacon or response isn't 
  received within 3 scan's, it is not listed in scan results.
* Added support for 802.1x EAP authentication (thanks to Pedro Ramalhais)
* Fixed 'badness in local_bh_enable' (thanks to trash on IRC for testing)
* Increased timeout for detecting the hardware coming to life; this should help
  those that frequently see the 'No response from Symbol - hw not alive'
  message (I can't find who found this fix... let me know if it was you.)
* Fixed boot time initialization failure (thanks to Benjamin Osheroff)
* Added CONFIG_IPW2100_RX_DEBUG for dumping packet contents in the event that a
  WEP packet's ICV fails.

Known issues in 0.43
!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  A temporary
   work around is to disable the C3 low power state (either via the patch on 
   the website to processor.c or by unloading the ACPI processor module).

Apr 29 2004 Changes in 0.42
* Test fix for WEP/SSL stalls.  Let me know if you still see Tx stalls with 
  WEP enabled.  If the problem is fixed, I can optimize the change I put in.
* Test fix for CONFIG_IP_NF_CONNTRACK hang/oops/crash (Badness in 
  local_bh_enable)
* Added fix to kill hang check timer if initialization fails (thanks to Ben 
  Osheroff)
* Added code to remove scan entries if a beacon has not been received within 
  the last 2 seconds.
* Fixed ipw2100_power_cycle_adapter to use write_register instead of 
  write_nic_dword (thanks to Damien Bergamini)
* Fixed problems in the Makefile not finding HOSTAP when provided as a 
  parameter by the user.
* Added more default search locations for finding HOSTAP sources in order to
  simplify the build process.
* Lots of new instrumentation to assist in tracking down problems, most 
  notably /proc/net/ipw2100/[if_name]/memory.
* Changed excessive retry statistics to report the number of failures vs. 
  just the number of retries.
* Updated INSTALL with some corrections on how to build Host AP

Known issues in 0.42
!- If C3 is enabled, you may occassionally see "Packet Payload Too Large"
   messages in your kernel log, followed by a firmware reset.  Disabling
   C3 (either via the patch on the website to processor.c or by unloading the
   ACPI processor module) should correct the problem.

Apr 15 2004 Changes in 0.41
* Updated INSTALL to (hopefully) better describe how to install Host AP
* If CONFIG_IPV6 is defined then we don't turn on the multicast filter.  
  This should allow IPv6 to work with the IPW2100 (thanks to Christian Hesse)
* Removed hostap/hostap_crypt.h from the IPW2100 distribution.  You now need
  to tell the build system where you have installed the hostap-driver-0.1.3
  sources.  See INSTALL for more information.
* Removed debug printk() from Rx path that was flooding some people's kernel
  logs with messages about packets not being RFC1042 or BRIDGE.
* Fixed AP beacon code to correctly update AP information when a new beacon
  with a matching BSSID is received
* Fixed Rx error cleanup code--buffer was being remapped _before_ the SKB
  was being reconfigured.  This would cause Bad Things if enough bad packets
  were received.
* Fixed "off by two orders of magnitude" bug on the timeout and period power
  values (seen if you use iwlist power)

Known issues in 0.41
!- WEP transfers are still stalling out on uploads.  Non-WEP is solid.
!- If C3 is enabled, you may occassionally see "Packet Payload Too Large" 
   messages in your kernel log, followed by a firmware reset.  Disabling
   C3 (either via the patch on the website to processor.c or by unloading the
   ACPI processor module) should correct the problem.

Apr 14 2004 Changes in 0.40
* Added wireless extension power management control (thanks to An-Cheng Huang)
* Added wireless extension delayed event to fetch the BSSID from the firmware 
  (thanks to Martin Whitaker)
* Fixed module parameters for ipw2100 and the SW switch modules (thanks to 
  Andreas Piesk)
* Fixed fetching of wireless values when RF switch is off (thanks to Martin 
  Whitaker)
* Fixed problem with ESSID setting code if NULL provided (thanks to Martin 
  Whitaker)
* Added WEP range getting support (thanks to Pedro Ramalhais)
* Fixed WX debug output bug (thanks to Pedro Ramalhais and Martin Whitaker)
* Added some queue statistics to /proc/net/ipw2100/[if_name]/internals
* Put in a delay test to see if we can reduce the number of firmware restarts
  people see during initialization.
* Non BSS beacons are now dropped to clear up stray IBSS messages
* Fixed some Tx debug output incorrectly listing TBD indexes
* Refactored schedule_reset code into one routine
* Added a packet dump to kernel log when WEP decryption fails.  Hopefully this
  can help us determine the cause of ICV corruption

Apr 06 2004 Changes in 0.40-pre2...
Changes in 0.40-pre2

* Transitioned to a single tarball for distribution.  Kernel patches to perform
  internal builds are now stored in the 'patches' directory.  See the README
  in that directory for information on using them.
* Changed Tx code patch to a generic implementation
* WEP is now enabled by default.  In order to load the module with the default
  settings you must first install hostap-driver-0.1.3 (specifically the hostap
  and hostap_crypt_wep modules).  You can obtain Host AP from

        http://hostap.epitest.fi

* Added initial support for fragmentation in the new Tx code path (BROKEN!)
* Improved driver restart capabilities.  If the firmware is restarted it should
  now be able to reconfigure WEP keys, associated ESSID, etc.
* Added new debug output level for tracking dropped packets
* Fixed problem with the if_name parameter (thanks to Giuseppe Della Ricca)
* Scan output is now relative to the order in which the last beacon or probe
  response was received.
* Results from both Probe responses and Beacon reception are used to build the
  scan table
* Fixed WEP Rx failure code path (thanks to Pedro Ramalhais)
* Tx/Rx packets are both correctly accounted for via ifconfig
* Fixed support for OPEN and SHARED KEY authentication modes with WEP enabled
* Fragment buffers are now queued on each packet by ieee80211_tx() (skb_queue)

Known Issues in 0.40-pre2

!-Fragmentation is broken.  If you turn on Tx fragmentation you will stop
  sending data.

Mar 29 2004 Changes in 0.40-pre...
NOTE:  
  A lot of folks on IRC wanted a code drop now that I have WEP limping 
  along.  The changes in this version have not been extensively tested.
  So, if you upgrade to 0.40 you may see a regression in features or 
  stability--even with WEP disabled.

  To use the WEP, you must install hostap-drivers-0.1.3 (you will need
  the hostap and hostap_crypt_wep modules)

* Added IPWINFO gathering script (thanks to Jordi Martinez)
* Added full WEP authentication (HW) and Tx/Rx (SW) built on Host AP's WEP
  alorigthm.  This is UNSTABLE.  You can play with it by configuring 
  CONFIG_IPW2100_WEP=y.
* Added ieee80211.c and ieee80211_wx.c as generic implementations of more 
  ieee80211 frame handling.  These are based on code from the Host AP project.
* Added rate/bitrate, channel/frequency support for iwlist (thanks to Pedro
  Ramalhais)
* Switched ieee80211_cryto_ops to hostap_crypto_ops and added a copy of 
  Host AP v0.1.3's hostap_crypt.h to ensure that we are using the same 
  structures as hostap.
* Fixed AP scanning to use Probe Response frames vs. Beacon frames for 
  collecting APs from a scan
* Added code such that if commands fail to be sent, a firmware restart is 
  scheduled.
* Switched firmware init to use schedule_timeout vs. udelay
* There is s a memory write flush test in place to see if C2->C3 transition 
  problems can be improved (search for !!!!TEST!!!! in ipw2100_main.c)
* Packets are only processed if the interface is up
* Some overly verbose Tx/Rx debug log messages were removed
* Fixed ISR incorrectly outputting the INTA value to the debug log
* Tx queue is flushed when interface is closed
* Added kernel compilation check to only use ethtool_ops if kernel > 2.4.23 
  (let me know if there is a better way to check for this)
* Added ieee80211_init to initialize the ieee80211_device struct
* Firmware load now tied to modprobe/rmmmod vs. ifup/ifdown.  This hasn't been
  thoroughly tested.
* Added addition compiler check on wake_up_interruptible_sync to help building
  on 2.4.22 (thanks to Giuseppe Della Ricca)

Known Issues in 0.40-pre... 
!-The WEP code is unstable.  
!-If WEP is enabled (CONFIG_IPW2100_WEP=y), it will eventually crash.
!-Occassionally, packets start failing decryption.
!-If the firmware restarts, it does not re configure the WEP keys correctly,
  so while you may re-associate with the WEP AP, you won't have keys 
  configured to actually exchange WEP packets.
!-ieee80211 packet stats are not reported through the /proc/net/wireless (just
  haven't switched that code over)
!-WEP Tx is a quick-fix to get the code working.  It will be restructured into
  a generic 802.11 mechanism.
!-Firmware restarts are still occuring too frequently.
 

Mar 26 2004 Changes in 0.39...
* Added 'make clean' and error message cleanup (thanks to Luca Capello)
* Fixed suspend/resume support C3 issue (thanks to Moled on IRC)
* Moved timer kill to ipw2100_down from the exit routine to stop timers when
  the interface goes down--otherwise the firmware hang check might kick in.
* More Makefile cleanups (thanks to Michael Rickmann)
* Attempted fix for using the external Makefile in a kernel configured for 
  building ipw2100 internally (in the case when ipw2100 has been added via
  menuconfig).
* Modified range settings for quality and level, also switched RSSI to DBM back
  to the original -98.  Otherwise if you have a strong signal, the value goes
  positive and the wireless tools switch to displaying as a ratio vs. dBm.
* Added /proc/net/ipw2100/[if_name]/internals to display some internal 
  variables to help track issues.
* Added connection check to quality return for iwconfig (thanks to Pedro 
  Corte-Real)

Mar 24 2004 Changes in 0.38...
* Added SW RF Kill switch support for Packard Bell EasyNote E5 (thanks to 
  Pedro Ramalhais)
* Fixed RSSI to DBM constant from 98 to 90
* Added patch for quality metrics in /proc/net/wireless (thanks to Martin 
  Schrodt)
* Refactored the start/stop code into ipw2100_up / down, and hooked the code 
  into the suspend/resume code.
* Added a 2s heartbeat timer to the firmware; if the RTC stalls then a reset
  is performed.
* Fixed ISR code to use a tasklet instead of scheduled work (fixes 
  'hw_command_send timed out' during firmware restart)
* Added 'firmware resets' and 'firmware hangs' counters to 
  /proc/net/ipw2100/[if_name]/stats

Mar 22 2004 Changes in 0.37...
* Fixed /proc/net/ipw2100 cleanup on exit (thanks to Giuseppe)
* Added initial eth_tool support for link detection (thanks to Martin Schrodt)
* Began code changes for WEP support (leveraging Host AP projec)
* Fixed firmware version # reporting in /proc/net/ipw2100/[if_name]/version
  with CONFIG_IPW2100_LEGACY_FW_LOAD
* Changed to unified build Makefile for all release versions
* Switched ISR code to a scheduled work item
* Upgraded patchset to 2.6.4

Mar 19 2004 Changes in 0.36...
* Fixed pci_free_consistent bug in ipw2100_msg_free (thanks to Damien 
  Bergamini).  Defect # 918004.
* Added dumping of status structure if payload size reported to be greater than
  allowable 802_11 payload size.
* Added firmware restart on bogus payload size; temporary work around until we i
  root cause the data corruption.
* Added printk() to output which firmware loading method is being used
* Added printk() to ipw2100_tx_timeout to track firmware stalls
* Several changes to the Makefile for supporting external and internal building

Mar 18 2004 Changes in 0.35...
* Added wireless extension get range support
* Added /proc/net/ipw2100/[if_name]/{ordinals,hw,registers,pci} for dumping 
  various pieces of data.
* Code cleanup in a couple spots
* Removed max transit unit (MTU) check in isr_rx (should fix MTU conflict some 
  users are seeing)
* Modified code path so that if wake_up_sync is not defined, we define
  wake_up_interruptible_sync to wake_up_interruptible so that the 
  __wake_up_sync patch is no longer needed.
* Added initial start for suspend/resume (thanks to Len Brown).

Mar 17 2004 Changes in 0.34...
* ACPI C3 conflict resolved. If you have applied the C3 patch to 
  drivers/acpi/processor.c, you can now reverse that patch and turn C3 back on. 
* Added HW register and PCI configuration data dump entries to 
  proc/net/ipw2100/[if_name]/{hw,pci} 
* Updated Makefile in the -full version (will migrate to the -2.4 and -2.6 
  patch versions soon) 

Mar 16 2004 Changes in 0.33...
* Added hotplug firmware loading support (thanks to Luc Saillard). If you need 
  to continue using the old style, you can turn it on via kernel configuration
  options. It defaults to the new mechanism. See INSTALL for information. 
* Added interface name module parameter (if_name) (thanks to Stanley Wang, 
  Boris Hu, and Cyril Jaquier for all submitting roughly the same patch) 
* Added port IO debug output for tracing IO to the actual hardware 
  (IPW2100_DEBUG_IO) 
* Moved proc info into /proc/net/ipw2100 from /proc/ipw2100 
* Added support for /proc/net/wireless (thanks to Luc Saillard). 
* Added external makefile (thanks to Peter Johanson). This Makefile was 
  modified slightly to target .../wireless/ipw2100 vs. .../wireless (thanks to 
  Luca Capello). 

Mar 12 2004 Changes in 0.32...
* Added support for toggling RF switch. If you have a HW based RF switch you 
  can now toggle it ON/OFF and the driver will resync. 
* Added IPW2100_DEBUG_RF_KILL to monitor RF transitions in debug log 
* Fixed module fault on iwconfig ethX nick (thanks Radu Graeb) 

Mar 12 2004 Changes in 0.31
* Hardware reset now supported 
* Support for hardware reset in response to fatal_interrupt 
* proc oops fixed (thanks to Radu Greab) 
* Fixed problem with dev->mem_end being set incorrectly 
* Fixed oops with accesing some iwconfig query commands while the driver is 
  uninitialized. 

Mar 11 2004 Changes in 0.30...
* Updated INSTALL with external build steps (thanks Andrea) 
* Added IPW2100_DEBUG_FRAG for fragmentation tracing 
* Fixed oops if module unloaded before interface initialized/up 
* Fixed oops if attempt to load corrupt firmware 
* Fixed oops if iwlist scan used before interface initialized/up 
* Moved printk() device info to after the device is registered (so you don't 
  see eth%d in the kernel log) 
* Began cleaning up the open/close logic so that it can reset the firmware 
  correctly on critical errors. 
* Incorporated several recommended code fixes by Jeff Garzik (still have quite 
  a few to incorporate) 

Mar 10 2004 Changes in 0.29
* Initial release 
* BSS support 
* Fragmentation 
* Some wireless extension support 
