
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 
