Feb 01 2007 Changes in 1.2.2
- 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
- Fix dropping small fragmented packets bug
Feb 22 2006 Changes in 1.2.1
- Add radiotap headers to packtes captured in monitor mode support (thanks to Stefan Rompf)
Feb 16 2006 Changes in 1.2.0
- Fix debug option cannot enable problem (thanks to Henrik Brix Andersen)
- Add support for WEXT-18 enc_capa v3 (thanks to Dan Williams)
Jan 09 2006 Changes in 1.1.4
- Add LEAP authentication algorithm suport
- Make iwconfig txpower setting consistent with user input
- Add generic geo information to be compatible with ieee80211-1.1.7
Oct 17 2005 Changes in 1.1.3
NOTE: Tested to work against ieee80211-1.1.5. If you experience
problems building or running this version, please try using
ieee80211-1.1.5 from
http://ieee80211.sf.net.
- Fixed problem with ipw2100 not compiling against ieee80211-1.0.3
due to removed ieee80211_header_data.
- Updated documentation
- Ran scripts/Lindent on source files
- Ported upstream patches that had previously been incorporated
Jul 13 2005 Changes in 1.1.2
- Fixed problem with driver_ipw (thanks to Zhu Yi)
- Fixed #339 problem with iwconfig set/get txpower (thanks to Liu Hong)
- Fixed problem with WEP (priv->sec was being used instead of
priv->ieee->sec)
- 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.1.1
NOTE: In order to upgrade to 1.1.1 you must now obtain the
ieee80211
subsystem separately from
http://ieee80211.sf.net
- Moved ieee80211 subsystem into its own object
- Added WE-18 support. This allows the use of -Dext with wpa_supplicant
> 0.4.x (thanks to Hong Liu)
- Fixed #339 problem with iwconfig set/get txpower (thanks to Hong Liu)
- Fixed #598 problem when with error messages when module loaded with
'disable=1' (thanks to Hong Liu)
- Fixed #640 problem with 'iwlist retry' now showing min/max retry
- Fixed #653 compilation problem against kernel patched with Software
Suspend 2.1.8.7 (thanks to Henrik Brix Andersen)
- Fixed #655 WPA disabled due to lack of CONFIG_IEEE80211_WPA_MODULE
checking
- Fixed #715 problem with network monitor is broken due to
netif_carrier_on
is not called in ipw2100_open (thanks to Ben Osheroff)
- Fixed compatibility with wpa_supplicant and the new -Dipw interface
(that included a fix for 64-bit compatibility)
- Cleanup: replace indent space with tab, code reformat, etc
- memcpy parameters cleanup (thanks to akamatsu)
- Make needlessly global code static and remove unused IPW_DEBUG_ENABLED
(thanks to Adrian Bunk)
- Make two functions static and remove pci.h from #include
(thanks to Adrian Bunk)
- Fix few typos/thinkos, remove ugly macro and fix types passed to
pci_set_power_state (thanks to Pavel Machek)
- Invasive cleanups for X__ prefixes (thanks to Pavel Machek)
- Kill unused KILL_CHECK_THRESOLD and KERNEL_SYSCALLS (thanks to Pavel
Machek)
- Changed the Makefile to share as much between the two IPW projects as
possible
Mar 23 2005 Changes in 1.1.0
- Updated documentation files
- Fixed problem if fragmentation and WEP enabled
Feb 08 2005 Changes in 1.0.5
- Trivial type-o fix (thanks to Giuseppe Della Ricca)
- Fixed #532 problem with 'iwpriv eth1 reset' not working
- Fixed #560 removing ifname module parameter -- you should use the
ifrename network tools for naming the device (thanks to Henrik Brix
Andesen)
- Fixed #558 changing use of printk() to IEEE80211_DEBUG_DROP
- Fixed #564 compilation warning on 2.6.11-rc2 (thanks to Henrik Brix
Andersen)
- Removed legacy firmware loading support -- you now need to use hotplug
to load the firmware.
- Possible fix for #170 problem of scans not always showing up
- Changed location of 'make install' for ipw2100 module to
drivers/net/wireless instead of drivers/net/wireless/ipw2100
- Synchronized ieee80211 with ipw2200 1.0.1
- Changed CONFIG_IPW_PROMISC => CONFIG_IPW_MONITOR to remove confusion
on what the feature is
Feb 01 2005 Changes in 1.0.4
- New logic to attempt to catch hung firmware (possibly caused by bad AP
frame received)
- Yanked script trace (-x) from helper scripts (thanks to Henrik Brix
Andersen)
- Fixed #407 more completely (thanks to Henrik Brix Andersen)
Jan 28 2005 Changes in 1.0.3
- Fixed #496 problem with wrong arguments being passed to set_security
(thanks to Henrik Brix Andersen)
- Fixed #407 problem with disassociation events not being sent to user
space when firmware is being restarted
- Fixed #523 problem with suspend not working (thanks to Stefan Dosinger
and Henrik Brix Andersen)
- Fixed #545 type-o in error message (thanks to Henrik Brix Andersen)
- Fixed problem with stats not being usable by non iwconfig wireless
tools
- Sync of ieee80211 with ipw2200 v0.22
Dec 14 2004 Changes in 1.0.2
- Synchronized ieee80211 subsystem w/ ipw2200 v0.18
- Fixed problem with a deadlock when setting the MAC address (thanks
to
Yi Zhu)
- Fixed problem where enabling HW RF Kill would sometimes result in
the driver
going into a loop of Disassociate/RF Kill/Associate/repeat.
- Fixed #466 problem with setting RTS hanging
- Fixed #454 problem with MODULE_VERSION not being used (thanks to
Brix
Andersen)
- Fixed #405 problem with driver not building when
CONFIG_IEEE80211_DEBUG not defined
Nov 19 2004 Changes in 1.0.1
- Fixed #350 problem with user space applications receiving carrier link
state changes before the BSSID has been updated after an association
- Fixed #322 Shared Key authentication to support differnet default Tx
index keys
- Fixed #360 problem with networks showing up as <hidden>
- Fixed #326 problem with multicast and broadcast packets being
fragmented
- Fixed problem with RF kill switch resulting in driver needing to be
reloaded if cycled Off/On/Off multiple times
- Added semaphore to protect the enable/disable command to ensure it can
complete successfully.
- Removed calls to reconfigure security if security hasn't changed
- Added additional debug messages while processing EAP frames in
ieee80211_{rx,tx}
- Fixed problem of driver allowing packets to be received before in the
associated state.
- Added HW kicking to the hang_check if the hardware has been silent for
more than 0.5s.
- Reworked how the driver initializes the ieee80211 subsystem.
- Changed mode change code to schedule an adapter restart vs. invoking
it directly. This was needed to be comaptible with the semaphore code
added.
- Added ability to load WPA modules by load script
Nov 15 2004 Changes in 1.0.0
- Updated README.ipw2100 and ISSUES
- Stamped the version 1.0.0
Nov 11 2004 Changes in 0.62
- Fixed #361: After set to monitor, can't unload
- Fixed #351: Lockup/Panic/etc. on rmmod/modprobe looping
- Fixed compilation problems if legacy firmware loader enabled
- Fixed compilation problems if CONFIG_PM is not defined
Nov 08 2004 Changes in 0.61
- Fixed problem with AdHoc networks not being created after the channel
and essid were provided
- Added support to reactively set the Cstate limit in the ACPI core
(requires cstate patch to ACPI core)
Nov 05 2004 Changes in 0.60
- Fixed problem with adapter not shutting down on module unload (thanks
to Stefan Rompf)
- Added additional printks during the pci probe function to isolate
initialization errors.
- Fixed #327 - noise level always 256dBm. iwconfig will no longer report
the Noise level (we don't have access to that value)
- Changed delay for the wireless event (after association) to 1/10th second
(vs 2. seconds) in an attempt to correct WPA problems (thanks to Pedro
Ramalhais and Stefan Rompf)
- Fixed race condition during reset (thanks to Benjamin Osheroff)
- Reworked how context is tracked across monitor/managed/adhoc mode
- Added status, cfg, and capability sysfs entry
- Changed the security policy back to how it was in 0.58 to re-enable WPA
- Changed iwconfig output back to how it was in 0.58 to fix compatability with
waproamd and any scripts that rely on /proc/net/wireless entries existing
even when not associated
- Cleaned up the fatal_error and pci sysfs reporting function
- Removed cardmem, txqueue, and rxqueue sysfs entries
- Fixed potential bug with printk being passed a non-null terminated string
- Changed delay for the wireless event (after association) to 1/10th second
(vs. 2 seconds) in an attempt to correct WPA problems.
- Fixed problem with the driver not loading if RF kill is active
- Added a KERN_INFO printk in net_dev->init indicating if RF kill is active.
- Fixed #340 - changing authentication mode resets the wep key
- Fixed #339 - txpower values are inverted
- Fixed problem where POWER_DOWN command was not being sent to card on
shutdown (possibly fixes #76)
- Fixed #192 can't switch over to new AP if you turn off a previously
associated AP
Known issues in 0.60
- If C3 is enabled, you may occassionally see "PCI latency error 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).
Nov 04 2004 Changes in 0.59
- Fixed problem with version number not displaying on driver load
- Changed security policy change logic to reconfigure security subsystem on
capability change vs. forcing a disassociate
- Added IEEE80211_DL_EAP for debugging EAP packet transfers
- Partial transition to unified status, config, and capability bit-fields vs.
multiple variables
- Significant changes to key management routines, especially in regard to
multiple WEP key support.
- Reworked how the HW/SW RF Kill state is reported via sysfs. See
README.ipw2100 for details.
- Changed iwconfig output to not defined undefined wireless stats while not
associated (ie., Link Quality)
- Fixed problem with compiling on 2.6.10 (thanks to Yi Zhu)
Known issues in 0.59
- If C3 is enabled, you may occassionally see "PCI latency error 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).
Nov 03 2004 Changes in 0.58
- Reworked some of the TX fragmentation code (thanks to Rusty Lynch)
- Fixed problem with the rf_kill entry not reporting the correct values (thanks to Giuseppe Della Ricca)
- Added support for setting the TX power while in Ad-Hoc mode
Known issues in 0.58
- If C3 is enabled, you may occassionally see "PCI latency error 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).
Nov 03 2004 Changes in 0.57
- Fixed problem with WPA PSK not working (thanks to Stefan Rompf and
Pedro Ramalhais)
- Fixed erroneous kill of hang_check timer instead of rf_kill timer
(thanks to Giuseppe Della Ricca)
- Cleaned up #4: iwconfig eth1 frag off/auto/fixed not supported
- Fixed #9: iwconfig rts off/auto not supported
- Misc. fixes and cleanups (thanks to Giuseppe Della Ricca)
- Moved offset_in_page to ieee80211.h so multiple crypt
components can use it
- Moved #include declration closer to module_param to ease
2.4 backport support
- Add #incldue to remove warning from
request_module when compiling with CONFIG_IEEE80211_WPA
- Fixed timeout value in the output of iwlist eth1 power
- Changed output of iwprive eth1 get_power to match the
documentation
- Fixed problem where enabling encryption after associated to a non-
encrypted AP resulted in the client not being able to associate until
the ssid was manually reset to 'any'
- Changed iwconfig output to state 'unassociated' for protocol name if
appropriate
- Changed interpretation of WX flags for setting encryption such that if an
authentication mode isn't specified, it defaults to OPEN (previously, if OPEN
wasn't specified, it assumed RESTRICTED was configured)
- Changed IPW_DEBUG_FW_COMMAND to IPW_DEBUG_HC to standardize with
ipw2200
- Fixed problem with setting debug level to 0xffffffff on modprobe was
ignored
- Chagned use of printk() to IPW_DEBUG_
- Changed WX delayed work to use queue_delayed_work
- Removed unnecessary memset after alloc_etherdev
- Removed unnecessary setting of name to "eth%d" already done by alloc_etherdev
- Changed error code path not to mask register_netdev error codes
- Report firmware version via ethtool
- Changed module parameter for interface name to ifname (from if_name) in
order to standardize with the ipw2200
- Removed ipw_net_change_mtu since alloc_etherdev will set it to eth_change_mtu
which enforces the same restrictions.
- Changed inline debug printk_buf calls to static
- Changed spin_[un]lock_irq to spin_[un]lock since IRQ already disabled in
interrupt routine
- Modified open() call to start the network queue if associated prior to
dev->open being called
- Removed unnecessary priv->open flag
- Changed ndev => net_dev, and pdev => pci_dev to standardize with ipw2200
project
- 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
- Added stub for dynamically disabling C3 when PCI latency problem is
detected
Known issues in 0.57
- If C3 is enabled, you may occassionally see "PCI latency error 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).
Oct 14 2004 Changes in 0.56
NOTE: Firmware was upgraded with 0.55. If you haven't upgarded to the 1.3 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- A patch for building 0.56 on 2.4 can be found here (thanks to Giuseppe
Della Ricca)
- Changed ipw2100_netdev to use netdev_priv
- Changed use of timers for RF switch check and hang check to use
deferred workqueue
- Remapped debug numbering such that lower numbers produce fewer
messages
- Fixed problem with TX Watchdog kicking in occassionally if WPA is
being used
- Fixed latest wireless tools reporting failure when using 'iwconfig
ethX power on'
- Fixed problem with 802.1x not working with in configurations where
WEP was enabled (thanks to Pedro Ramalhais)
- Changed 'Corruption detected' message to 'PCI latency error
detected' to remove confusion of there possibly being disk data corruption.
- Fixed spurious interrupt problem if driver fails to load (thanks to
Yi Zhu)
- Fixed support for manual disable switch (thanks to Yi Zhu)
- Fixed resume maintaining manual disable state (thanks to Ralf
Hemmenstaedt)
- Fixed sysfs permissions on module parameter entries (thanks to Yi Zhu)
- Synchronized ieee80211 with ipw2200 v0.11
- Fixed problem with channels not being reported in scan output
- Fixed ordering of scan results to keep networks in order across
iterative probe receipts
- Fixed scan aging to be based on time vs. scan count
- Added time since last beacon received to scan output
- Pulled out 2.4 specific #ifdef/#endif blocks
- Reduced command timeout to 0.5s vs 3s
- Added command_send check to the hang_check to try and identify hung firmware
Known issues in 0.56
- If C3 is enabled, you may occassionally see "PCI latency error 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).
Sep 29 2004 Changes in 0.55
NOTE: Firmware was upgraded with 0.55. If you haven't upgarded to the 1.3 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- A patch for building 0.55 on 2.4 can be found here (thanks to Giuseppe
Della Ricca)
- 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.55
- 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).
Aug 31 2004 Changes in 0.54
NOTE: Firmware was upgraded with 0.50. If you haven't upgarded to the 1.2 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- 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).
Aug 19 2004 Changes in 0.53
NOTE: Firmware was upgraded with 0.50. If you haven't upgarded to the 1.2 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- 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
- 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).
Aug 16 2004 Changes in 0.52
NOTE: Firmware was upgraded with 0.50. If you haven't upgarded to the 1.2 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- 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).
Jul 26 2004 Changes in 0.51
NOTE: Firmware was upgraded with 0.50. If you haven't upgarded to the 1.2 firmware, you can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- 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).
Jul 20 2004 Changes in 0.50
NOTE: Firmware was upgraded with this release. You can obtain the latest firmware from http://ipw2100.sf.net/firmware.php.
- 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).
- If you have problems with the link quality dropping to 0/100 while
using network configuration scripts, try the disconnect patch.
Jul 09 2004 Changes in 0.49
NOTE: If you are using 2.4 and want to also use WEP you will need to
upgrade to 2.4.26.
- 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).
- If you use Monitor mode, make sure you take down the interface first:
% ifconfig eth1 down
% iwconfig eth1 mode monitor
% iwconfig eth1 up
Users have reported that failure do to so frequently does strange things with the keyboard.
Jul 07 2004 Changes in 0.48
NOTE: If you are using 2.4 and want to also use WEP you will need to
upgrade to 2.4.26.
- 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).
- If you use Monitor mode, make sure you take down the interface first:
% ifconfig eth1 down
% iwconfig eth1 mode monitor
% iwconfig eth1 up
Users have reported that failure do to so frequently does strange things with the keyboard.
Jul 06 2004 Changes in 0.47
NOTE: If you are using 2.4 and want to also use WEP you will need to
upgrade to 2.4.26.
- 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.47
- 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
% iwconfig eth1 up
Users have reported that failure do to so frequently does strange things with the keyboard.
Jun 09 2004 Changes in 0.46_3
- _3 Fixed OOPS if RF switch disabled while loading the module (thanks to Andrea Merello)
- _2 Fixed compilation error in 0.46
- 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
% iwconfig eth1 up
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
% iwconfig eth1 up
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 Mikolaj Kolakowski)
- INSTALL typeo fix (thanks to |GeO| on #ipw2100)
Known issues in 0.44
- 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 10 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).
May 10 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)
May 10 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).
May 10 2004 Issue with SourceForge files...
Some people have indicated that the files being sent from SourceForge are being
decompressed somewhere along the way. If when you attempt to uncompress the
files it gives an error stating they are not compressed, try and just pass them
to tar without the 'z' option:
$ tar xfO ipw2100-2.6.3-0.29.tgz
May 10 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)
May 10 2004 Changes in 0.29
- Initial release
- BSS support
- Fragmentation
- Some wireless extension support
May 10 2004 Changes in 0.30...
- Updated INSTALL with externa 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)
May 10 2004 Changes in 0.31
NOTE: I haven't tested the build on 2.4.x; let me know if it breaks due to the use of schedule_work.
- 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.
May 10 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
May 10 2004 Status of driver...
A development snapshot of the Linux driver for the Intel PRO/Wireless 2100
is now available for download. This is an experimental driver with limited
functionality, but it is a start and will be under heavy development over the
next few months to provide full WLAN capabilities.
For instructions on installing and using the driver, please see
INSTALL and README.ipw2100.
What it does:
- Build (tested in 2.4.23-25, and 2.6.1-3)
- Initialize the firmware
- Scan and associate
- Limited support of iw* tools
- Infrastructure mode
- Dynamically load the binary firmware using hotplug.
- Fragmentation (Tx and Rx)
What it doesn't do:
May 10 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.
May 10 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).
May 10 2004 Changes in 0.40-pre
NOTE:
A lot of folks on IRC wanted a code drop now that we 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 he hostap and hostap_crypt_wep modules) available from http://hostap.epitest.fi.
- 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.
May 10 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.
May 10 2004 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)
- x/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.
May 10 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
May 10 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)
- Fixed firmware version # reporting in /proc/ipw2100/[if_name]/version with i 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
May 10 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)
May 10 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
Known Issues in 0.40
- WEP transfers are still stalling out on uploads. Non-WEP seems to be solid and working well
Mar 09 2004 LKML announcement...
The following is the email announcement to the LKML:
To: linux-kernel@vger.kernel.org
Subject: [Announce] Intel PRO/Wireless 2100 802.11b driver
I am pleased to announce the launch of an open source development project for
the Intel PRO/Wireless 2100 miniPCI network adapter. The project has been
created and is hosted at http://ipw2100.sf.net.
The driver, as it currently stands, is able to associate and communicate in
Infrastructure mode. Support for both 2.4 and 2.6 is available. We are
releasing this driver now as "early beta" code to get feedback and help
in the development, so expect bugs (and please report them)! Of course
Intel will continue the effort (as part of this Open Source project).
We are planning to add support of all key wireless features (adhoc, WEP, etc)
over the next few months, quicker with help from others in the community.
NOTE: Let me reiterate -- this driver is in active development. Features and
capabilities available on other operating systems have not all been implemented
at this time. This includes wireless features (adhoc, wep) as well as
performance and power savings.
I look forward to working with the community to improve and enhance the driver.
So if you have an Intel wireless 802.11b miniPCI network adapter in your
laptop... download the bits, give it a whirl, and let me know how it goes.
Please also let us know if you encounter any problems that may be related to
specific distributions.
Thanks,
James Ketrenos
|