Intel® PRO/Wireless 3945ABG Driver News
an open source 802.11a/b/g driver for the Intel PRO/Wireless 3945ABG Network Connection - main | downloads | news
SourceForge.net Logo
Jul 31 2007 Changes in 1.2.2
  • update Kconfig with kernel WLAN_80211 change
  • replace SA_SHIRQ with IRQF_SHARED
  • fix typo in Kconfig
  • remove inta access from tasklet
  • Tune IPW_PACKET_RETRY_TIME from 1 second to 5 second

Apr 30 2007 Changes in 1.2.1
  • Fix driver not make associate request when required
  • Fix iwconfig essid any doesn't associate problem
  • Fix ipw_associate_network() debug log bug
  • Fix ifconfig reports Link-encap as Ether (thanks to Jason)
  • Fix soft lockup during driver load time
  • Add Makefile warning if a different SHELL other than bash is used
  • Use the correct variable to print the direct scan essid
  • Fix a kernel Oops bug #1248
  • Fix hardware/software RF kill switch problem during module loading time

Jan 05 2007 Changes in 1.2.0
  • Workqueue rework for kernel 2.6.20 and above
  • WE-21 ESSID fix
  • Event log output enhancement

Dec 08 2006 Changes in 1.1.3
  • Fixed problem with newer kernels and config.h vs. autoconf.h
  • Fixed problem with IEEE80211 API compatibility build issues.
  • Fixed #1096 problem with soft lockup while loading if RF kill active.
  • Fixed compile warning ignoring pci_enable_device's return code.
  • Added retransmission of association and authentication requests if no response received.
  • Changed the make target install_for_testing to install.

Nov 01 2006 Changes in 1.1.2
  • Fixed #972 problem with wpa_supplicant not selecting hidden APs
  • Fixed #1113 problem with compiling against ieee80211-1.1.14
  • Fixed #1146 problem with last character of SSID being dropped.
  • Fixed #1089 circular locking dependency during register_netdev
  • Fixed #1090 problem with setting rate while not associated.
  • Fixed #1098 possible memory corruption on 64-bit systems

Jul 14 2006 Changes in 1.1.1
  • Updated ipw3945.c to support legacy APs in radar spectrum.
  • Fixed automatic tagging of make_snapshot script to use HEAD link.
  • Fixed git-clean-unreachable to not limit inclusion scope to HEAD.

Jul 14 2006 Changes in 1.1.0
  • Elevated to stable release.
  • Updated README, INSTALL, etc.
  • The driver was modified to not filter out legacy (non-802.11h) access points on channels marked as being in the radar detect spectrum. You must upgrade to the ipw3945d regulatory daemon version 1.7.22 or newer in order to take advantage of this functionality.

Jun 27 2006 Changes in 1.1.0-pre2
NOTE: 1.1.0-pre1 was the 1.0.8 release.
  • Fixed problem with mandatory basic rates not being added correctly into association requests if they have been masked out by a mode selection.
  • Added info to ISSUES about newer ieee80211 possibly fixing iwspy problem
  • build: Fix #1067 problem with compiling against ieee80211-1.1.14
  • build: Added more output during start of build to help debug problems encountered by some users when running make.
  • build: Added comment to not enable QoS as it currently breaks the build.
  • build: Fixed CONFIG_IPW_QOS => CONFIG_IPW3945_QOS defines in Makefile
  • build: Modified Makefile to detect ieee80211-1.1.14 and define IEEE80211_API_VERSION to be 2.
  • build: Modified Makefile to detect if your kernel provides ieee80211 symbo definitions in Module.symvers but the driver build will be using a different ieee80211 subsystem.
  • build: Modified Makefile to pass ieee80211 path to util's Makefile
  • build: Added snapshot/check_kernel for 'make patch_kernel' target

Jun 27 2006 Changes in 1.0.12
  • Added support for new ieee80211 API version #defines (forward compatibility)
  • Added snapshot/check_kernel for 'make patch_kernel' support
Changes in 1.0.11
  • Fixed problem with compiling against ieee80211 API v1 (missing a ;)
  • Added more output during start of build to help debug problems encountered by some users when running make.
  • Fixed #1062 problem with rx_packets incrementing without traffic.
  • Fixed #1078 problem with privacy bit not broadcasting correctly in IBSS beacons.
  • Sync with 1.1.0-pre2 cleanup changes (fixed sim_rx build and added some additional ieee80211 API version checking during build)
Changes in 1.0.10
  • Fix #1067 problem with compiling against ieee80211-1.1.14.
  • Modified Makefile to detect ieee80211-1.1.14 and define IEEE80211_API_VERSION to be 2.
  • Modified Makefile to detect if your kernel provides ieee80211 symbol definitions in Module.symvers but the driver build will be using a different ieee80211 subsystem.
  • Fixed CONFIG_IPW_QOS => CONFIG_IPW3945_QOS defines in Makefile
Changes in 1.0.9
  • Fixed problem with mandatory basic rates not being added correctly into association requests if they have been masked out by a mode selection.
Changes in 1.0.8
  • Fixed #1059 problem with iwlist rate not working.
Changes in 1.0.7
  • Fixed problem with 802.11a channels not associating.
  • Fixed behavior with short_slot_time and short_preamble capabilities
Changes in 1.0.6
  • Fixed problem with driver requesting masked rates during association
  • Changed Makefile to attempt to find the ieee80211 subsystem and to prompt the user if it is not found. If it is found outside of the default kernel build location then the MODVERDIR parameter is passed to the modules build target.

May 22 2006 Changes in 1.0.5
  • Added check_ieee80211_version and find_ieee80211 scripts required for build.

May 22 2006 Changes in 1.0.4
  • Fixed #1035 problem with not being able to associate with active key not being set to [1].
  • Fixed #1043 problem with periodic system hang while switching between BSS and IBSS modes.
  • Fixed #1024 problem with associating to open AP after WPA APs

May 03 2006 Changes in 1.0.3
  • Fix #1021 problem with using uninitialized crypt pointer during shared-key authentication.

Apr 25 2006 Changes in 1.0.2
  • Fix #1025 problem with not being able to trun off RTS via iwconfig.

Apr 21 2006 Changes in 1.0.1
  • Fix #1018 problem with BUG_ON if duplicate packet recieved w/out retry bit.
  • Fixed a type-o in debug messages (s/3946/3945/)
  • Set enabled but non-supported features to default to n in Kconfig.
  • Added util/Makefile to build sim_rx
  • Modified Makefile so that if the 'make clean' in the util directory
  • Fix problem with not setting privacy bits correctly.
  • Fix problem with using uninitialized bssid during association.
  • Ran scripts/Lindent on ipw3945.{c,h}
  • Fix #934 to correctly clear out station table when switching modes.
  • Fix #1013 to properly set capability bits.
  • This patch adjusts the rate scaling code to flush the entries at a more
  • Set RTS handling to match 802.11 spec
  • Stamped version string with 'k' to indicate it is not an actual
  • Ran /usr/src/linux/scripts/Lindent on ipw3945.{c,h}
  • Added simulation Rx sample application to util directory.

Apr 10 2006 Changes in 0.0.74
  • Fixed #994 Modified Makefile to only add the CONFIG_* definitions to CFLAGS if the corresponding Makefile variable is set to enabled, otherwise the #ifdef checks in the C code will always evaluate to true. Also wraps the debug module parameter in #ifdefs (thanks to Henrik Brix Andersen)
  • Fixed #987 (for the 3945) to not use MODVERDIR when running make (thanks to Henrik Brix Andersen)
  • Fixed #980 problem with iwconfig ethX power not being able to set power to ON.
  • Fixed problem with iwlist scan returning that a scan was in progress while trying to associate.
  • Fixed filters script to look in the correct location for the filters file
  • Changed default retry per rate count from 2 to 1 to improve throughput.
  • Added sysfs entry to manually select new retry pre rate counts

Mar 29 2006 Changes in 0.0.73
  • Fixed problem with RSSI having IPW_RSSI_OFFSET being subtracted twice (resulting in *very low* signal levels)

Mar 29 2006 Changes in 0.0.72
  • Fixed #972 problem with not being able to associate to hidden SSIDs using wpa_supplicant.
  • Fixed #976 problem with RTS threshold value being clamped at 2304 vs. 2344.
  • Fixed #933 problem with association to hidden networks timing out (increased the timeout from 500ms to 750ms)
  • Merged patch to set 'fixed' flag for the WE get rate handler (thanks to Jean Tourrilhes)
  • Added rtap_filter sysfs entry for configuring which packets are sent to user space via the rtap interface.
  • Modified the tx and rx byte count statistics to count only 802.11 data payloads vs. counting miscellaneous 802.11 overhead.
  • Changed single usage of kfree_skb to dev_kfree_skb_any to fix a compile problem seen by some users.
  • Fixed problem with timed out host commands reporting the wrong command # to the debug log.
  • Added code to wait for an in-progress scan to abort before switching modes.
  • Modified scan request to block until the request is acknowledged before returning to ensure that the scanning state machine is in sync with the hardware state machine.

Mar 20 2006 Changes in 0.0.71
  • Fix #964 problem with disassociation on hidden networks
  • Fix #956 problem loading driver if RF Kill switch enabled in 0.0.70
  • Fixed problem with switching from BG to A mode via iwpriv set_mode while in an ad-hoc network.
  • Change association timeout value from HZ/2 to 750ms (see #933)
  • Added rtap interface for RF promiscuous mode while associated. Enabled via CONFIG_IPW3945_RADIOTAP.
  • This adds the ability to simulate reception of a frame to the driver to test code paths. Enabled via CONFIG_IPW3945_SIM_RX.

Mar 03 2006 Changes in 0.0.70
  • Fixed #932 problem with Tx causing microcode restart by modifying Tx measurement code to disable BT priority for those Tx requests where measurements are being requested.
  • Modified rate scaling to not send an unnecessary command to the microcode every time the rate changes. Increases Tx throughput while decreasing system load during Tx.
  • Modified the Tx measurement code to only gather statistics once every 3 seconds vs. every time a packet exceeds a given size (relative to the rate used) Should decrease system load during Tx and may increase throughput.

Feb 24 2006 Changes in 0.0.69
  • Removed BUG_ON(!spin_is_locked(&priv->daemon_lock)) code as spin_is_locked is always 0 on UP and non-debug kernels.

Feb 24 2006 Changes in 0.0.68
  • Updated README.ipw3945:
    • Power Managment section reflect actual operation of the driver.
    • Updated IEEE 802.11h information
    • Updated 'channels' information in sysfs section
  • Fixed copyright date in driver #define to 2006 (from 2004)
  • Fixed driver name.
  • Updated ucode and regulatory daemon version strings in documentation.

Feb 24 2006 LKML Announcement
The following is the email announcement to the LKML:
To: linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: [Announce] Intel PRO/Wireless 3945ABG Network Connection

Intel is pleased to announce the launch of an open source project to
support the Intel PRO/Wireless 3945ABG Network Connection mini-PCI
express adapter (IPW3945).

The project is hosted at http://ipw3945.sourceforge.net.  A development
mailing list is available (linked from the top of the IPW3945 project
page.)  You can find the current development release for the adapter by
following the links on the project home page.

A stable [end user targetted] version is not yet available. Those
interested in using the development version should review
the notice linked to from the project page.  A stable version should
be available in the next few weeks.

Aside from a form factor change (our prior wireless cards were mini PCI
while this one is mini PCI express), this project has also changed the
division of work between what occurs on the adapter and what the host is
responsible for performing.  The microcode and hardware provide lower
level MAC services (timings, backoffs, transmit queue management, etc.)
The host is responsible for middle and upper layer MAC services.

As a result of this change, some of the capabilities currently required
to be provided on the host include enforcement of regulatory limits for
the radio transmitter (radio calibration, transmit power, valid
channels, 802.11h, etc.)  In order to meet the requirements of all
geographies into which our adapters ship (over 100 countries) we have
placed the regulatory enforcement logic into a user space daemon that
we provide as a binary under the same license agreement as the
microcode.  We provide that binary pre-compiled as both a 32-bit and
64-bit application.  The daemon utilizes a sysfs interface exposed by
the driver in order to communicate with the hardware and configure the
required regulatory parameters.

Those familiar with our prior projects may be pleased with the changes
we have made with the license agreement for binary portions of this new
project.  We were able to provide a more easily understood agreement
for the binary components required for the adapter to function.  While
this new license still restricts against reverse engineering and
modification, it has been changed to allow easier redistribution.  You
can find the terms of the agreement accessible from the microcode
and daemon download page linked to from the project site.

Thanks,
James

Feb 23 2006 Project Opened!
Intel has officially launched this project as of today.

This project is in support of the Intel PRO/Wireless 3945ABG Network Connection adapter. This hardware is a mini-PCI express card designed for use in laptops.

Feb 23 2006 Changes in 0.0.67
  • First version posted to SourceForge
  • Changed QoS module parameters to all have the qos_ prefix.
  • Updated INSTALL and REAMDE.ipw3945 documents.
  • Moved CONFIG_IPW_MONITOR -> CONFIG_IPW3945_MONITOR
  • Moved reset priv out of CONFIG_IPW3945_MONITOR mode ifdef's
  • Defined all symbols as static

Last Updated: Feb 27 2006