Version 1.1 2005-03-04
* Yet another spinlock (re)implementation. We don't use Linux spinlocks to
implement Windows spinlocks anymore - ndiswrapper implements new spinlock
functions that use Windows spinlock variables directly.
* Use kmem_cache pools for MDL (aka NDIS_BUFFER) and NDIS_PACKET structures
which are allocated often. This should reduce memory fragmentation.
* Use MDL functions when initializing ndis_packet while sending packets. This
fixes crashes with Fedora kernels (and amd64 driver at least).
* Memory leak with 64-bit Broadcom driver fixed
* Crash when module is removed with Marvell driver fixed
* In some cases, a Windows driver loads successfully, but ndiswrapper
concludes otherwise. This is fixed.
* Don't use spinlocks unless CONFIG_SMP or CONFIG_DEBUG_SPINLOCK is
* Don't reset Centrino cards during initialization as this seems to
turns off radio.
* 2.4 kernels don't have hashing, so provide wrapper macros for hashing.
* Set the active/transmit key index as given, instead of assuming 1
always. This fixes authentication with Cisco routers. This should
also fix WEP issues when active key used on the router is at index > 1.
* NdisAcquire(Dpr)SpinLock obtains the lock at DISPATCH_LEVEL instead
of PASSIVE_LEVEL. This fixes PREEMPT and SMP issues with some drivers.
* Issue with Prism54 driver sometimes crashing kernel when scanning fixed.
* Added private ioctl to set the network type to a specific type. Use
"iwpriv wlan0 network_type <char>" to set the network type to what <char>
represents, where <char> is one of a, b, g or any other characther.
For example, to set to 802.11b, use "iwpriv wlan0 network_type b",
and to set to auto, "iwpriv wlan0 network_type x".
Version 1.0 2005-01-29
* Yet another spinlock reimplementation. Since I don't have SMP, it is taking
lot of time (and effort) to get it working.
* With new spinlock implementation, CONFIG_DEBUG_SPINLOCK option can be
enabled in the kernel.
* WavePlus 1200 chipset supported.
* Works with some vendor kernels that use different semantcis (from vanilla
kernels) for PCI/USB register functions.
* Don't free memory allocated for 'devices' twice (which was causing kernel
crash) when device registration failed.
* Don't set infrastructure mode in wpa_associate, which clears the keys.
With this, WEP should work again with wpa_supplicant.
* Fix (small) memory leak - free xmit_array when device is removed.
* Use spinlock when calling any miniport function. This may fix some SMP
* Preliminary support for AMD64 (tested with Broadcom chipset)
* Dynamic loader support: A driver is loaded only when necessary, so
even if many drivers are installed or if a driver installs many
.conf files (e.g., Centrino), only drivers and device configurations
necessary are loaded.
* Set RadioState used by Broadcom drivers to 0, instead of 1. This
turns on radio (although name suggets the other way round).
* Bug fixes
* Workaround for CONFIG_DEBUG_SPINLOCK, but this option is discouraged
* task_nice is not used anymore, so should compile with kernels where
this is not exported
* More spinlock correction. Some drivers are reported to work with
SMP. Not all drivers may work (at least Prism54 USB driver seems to
* Spinlock rewrite: This time SMP should work. Really.
* Sends multiple packets (if driver supports it) in each send
operation for better efficiency
* Most of the functionality of loader is moved to userspace tool
loadndisdriver so it is more robust
* Encryption info is restored during disassociation; this is useful if
ad-hoc mode is used as psuedo master mode
* MAC address can be set in .conf files (in /etc/ndiswrapper/<driver>
directory) or changed at any time (with 'ifconfig hw class' command)
* Association and disassociation should happen quickly especially with
* Compilation issues with old gcc and sed are fixed
* Kernel crash when ejecting cards with cardctl in 2.4 kernels is
Version 0.12 2004-11-25
* Works with Preempt and SMP kernels.
* WPA-RADIUS is supported.
* Compiles with kernels > 2.6.9 and swsuspend2
* USB cards are reset during initialization; they should work without
having to reset explicitly
* Some crashes in USB, especially during initialization, are fixed.
* WEP key setting problems fixed.
* Check for 4K stack size during compilation and issue warning if necessary.
* Bug fixes
Version 0.11 2004-10-08
* Compilation issues with USB are fixed.
* WPA issues fixed.
* Older Prism USB devices (e.g., Dlink DWL-122, Netgear MA111) supported.
* Suspend/resume of devices with no power management (e.g., TI) fixed.
* ndiswrapper script has an option "-d" to install drivers for a
different device (if the chipset is same); the script also installs
drivers properly when the CopyFiles section has commented out file names.
* ndiswrapper script lists USB devices and reports status of drivers
with more understandable messages.
* Many bug fixes and improvements
Version 0.10 2004-08-20
* Centrino 2200: works in ad-hoc mode, keyboard doesn't lock even
when there is no power to the card, suspend/resume works, restricted
mode encryption works
* SMP should work again
* USB cards are supported (only Linksys WUSB54G tested with 2.6.7 kernel)
* From now on, utils should be installed along with the module - newer version
of module doesn't work with older version of utils
* hangcheck_interval option is no longer required; this option may be dropped
in future versions
* suspend/resume work with procfs interface: e.g., to suspend
echo suspend=3 > /proc/net/ndiswrapper/wlan0/settings
and to resume
echo resume > /proc/net/ndiswrapper/wlan0/settings
Version 0.9 2004-08-05
* Wi-Fi Protected Access (WPA) is supported with both AES/CCMP and TKIP
* Debian packages can be built with 'make deb'; RPMs can be built with
* Support for RT2400/RT2500 chipset
* ndiswrapper script can be used to install INF files in Unicode
* Private ioctl to change power profile to AC/Battery
* Many bug fixes
Version 0.8 2004-06-10
* Support for 802.1x (multiple wep keys).
* Support for more chipsets/cards (DWL-G630, Marvell W8100, Atheros 5211,
* Many bug fixes (scanning, dma aka shared memory allocation, timers, irqs,
spinlocks, memory allocation, serialized drivers).
* Added hangcheck_interval module option to either disable it (some realtek
drivers seem to have problems with it) or force it to any given value.
Version 0.7 2004-04-23
* Power down while unloading the module, so it saves trees!
* Fixed a bug with scanning; earlier it would fail sometimes.
* procfs exposes multiple cards, if present.
* Fixed problems with unloading of module in some cases.
* Realtek 8180L is supported.
* Support for more cards/chips (see "Supported Chipsets" page for details).
* Many bug fixes!
Version 0.6 2004-03-17
* Support for kernels with CONFIG_REGPARM.
* SMP problem with Centrino driver fixed.
* essid problems with WEP enabled on Centrino fixed.
* Compiles on 2.4 kernels with old ethtool.
* Support for SMC2802 V2 card.
* Support for 3Com 3CRSHPW796 card.
* Support for TI AC111 card.
Version 0.5 2004-03-08
* Integrated RPM packaging.
* Better makefiles.
* New simpler installation.
* Better support for multiple driver and cards.
* Compiles on some more kernels.
* Suspend/resume follow new power management driver model and work with S3/S4.
* Powerup the card during initializtion so ndiswrapper works if the card is in
powered down state.
* Background AP scanning is removed, so it doesn't affect IP traffic anymore.
* WEP key and essid can be set in any order, not necessarily key first and
* Essid is set twice with a delay in between so that it gets set properly
the first time after the machine is booted.
* A new util for controlling the radio for Averatec 5110HX laptop added.
Version 0.4 2004-01-05
* Admtek chipset works, including WEP.
* Performance issues on Centrino have been fixed.
* Removing the module doesn't give oops anymore.
* Power management (suspend/resume) works reliably.
* procfs interface is added.
* Removed unnecessary 64 bit and floating point operations.
Version 0.3 2003-12-16
* Centrino now works with some drivers.
* Unified makefile in driver directory for easier compiling.
* SMP fixes (not 100% complete yet).
* Support for Atheros AR5004 drivers.
* Taint kernel when loading windows driver.
Version 0.2 2003-12-04
* New inf file parser.
* Access point scanning.
* WEP support.
* Byte statistics for ifconfig.
* Kernel 2.4 support.
* Support for more Broadcom cards (No centrino yet).
* Tons of bugfixes should improve stability a lot.
Version 0.1 2003-11-17
* Initial release.