Revert "svn-1276"
[orinoco_usb.git] / drivers / net / wireless / NEWS
blob90efaeaa9fd277faf604a457d2241207927d7dd9
1 0.15rc4 - 15 Dec 2005
3 * Fix compilation for Ubuntu kernels - get KERNELRELEASE from
4   linux/version.h rather than from the kernel makefiles.
5 * Fixes for serious bitrot in airport and orinoco_nortel.
6 * Allow writing odd number of bytes to BAP.
7 * Don't pad transmitted packets.
8 * Simplified transmission padding code.
9 * Annotation for sparse provided.
10 * Remove lots of old debugging code.
11 * Fix setting power saving mode.
12 * Power management works in all PCI drivers.
13 * All PCI drivers free and re-acquire IRQ on suspend/resume.
14 * Use only iomem API for hardware access.
16 0.15rc3 - 21 Sep 2005
18 * Remove all compatibility code for 2.4 kernels - Linux 2.6.11 or newer
19   is required.
20 * hermes.conf is automatically generated.
21 * hermes.conf is not installed by default - use "make installconf".
22 * Split firmware utilities to orinoco-fwutils package.
23 * Update to the current Linux kernel.
24 * Better integration with the kernel build system.
25 * Use ssleep() or msleep() instead of hardcoded schedule_timeout()s
26   (Nishanth Aravamudan via kernel-janitors list).
27 * Several cleanups and bugfixes in pci/plx/tmd/nortel drivers.
28 * Fix memory leak in orinoco_join_ap().
29 * Change io handling to avoid sparse and gcc warnings.
30 * Use C99 array initializers and ARRAY_SIZE() for iw_handler tables.
31 * Cleanup of rx stats handling.
33 0.15rc2 - 28 Jul 2004
35 * orinoco_pci saves PCI registers on suspend (Simon Huggins).
36 * Monitor mode disabled on Agere 8.xx firmware - it's broken.
37 * BAP timeout increased - needed for Intersil firmware.
38 * Tx power is no longer reported - it's unreliable.
39 * Use 802.11 header in rx path.  Hide packets with ToDS flag from
40   programs that don't need promiscuous mode (John Denker).
41 * Manual roaming implemented for Symbol and Intersil firmware.
42 * Use netdev_priv() instead of directly dereferencing dev->priv.
43 * Some simplification of pcmcia init code in orinoco_cs and spectrum_cs.
44 * Numerous trivial cleanups, mainly arising from long-overdue merge with
45   mainline.
47 0.15rc1 - 19 Apr 2004
49 * Fix bug which prevented setting 32 character ESSIDs from iwconfig
50   (Thomas Schulz).
51 * Fix for incorrect CIS access in orinoco_plx (Pavel Roskin).
52 * Fix setting WEP key if __orinoco_fastkeychange() is not supported
53   (Pavel Roskin).
54 * New wireless extensions API and scanning support (patch from Moustafa
55   Youssef, updated by Jim Carter and Pavel Roskin).
56 * Add minimal ethtool support (Pavel Roskin).
57 * Replace CardServices() calls for compatibility with Linux 2.6.2 and
58   above (Pavel Roskin).
59 * Fix recognition of Intersil x.x.1 firmware (Pavel Roskin).
60 * Replace dump_recs with more flexible get_rid ioctl (Pavel Roskin).
61 * RF monitor mode support (Pavel Roskin).
62 * Lots of bugfixes.
64 0.14alpha2 - 20 Oct 2003
66 * Correctly turn off shared-key authentication when requested (bugfix
67   from Robert J. Moore).
68 * Correct airport sleep interfaces for current 2.6 kernels.
69 * Add code for key change without disabling/enabling the MAC port.  This
70   is supposed to allow 802.1x to work sanely, but doesn't seem to yet.
72 0.14alpha1 - 30 Sep 2003
74 * Replaced priv->connected logic with netif_carrier_on/off() calls.
75 * Remove has_ibss_any and never set the CREATEIBSS RID when the ESSID is
76   empty.  Too many firmwares break if we do.
77 * 2.6 merges: Replace pdev->slot_name with pci_name(), remove
78   __devinitdata from PCI ID tables, use free_netdev().
79 * Enabled shared-key authentication for Agere firmware (from Robert J.
80   Moore <Robert.J.Moore AT allanbank.com>)
81 * Move netif_wake_queue() (back) to the Tx completion from the ALLOC
82   event.  This seems to prevent/mitigate the rolling error -110 problems
83   at least on some Intersil firmwares.  Theoretically reduces
84   performance, but I can't measure it.  Patch from Andrew Tridgell
85   <tridge AT samba.org>
87 0.13e - 12 May 2003
89 * Support for post-2.5.68 return values from irq handler.
90 * Fixed bug where underlength packets would be double counted in the
91   rx_dropped statistics.
92 * Provided a module parameter to suppress linkstatus messages.
94 0.13d - 22 Apr 2003
96 * Make hw_unavailable a counter, rather than just a flag, this is
97   necessary to avoid some races (such as a card being removed in the
98   middle of orinoco_reset().
99 * Restore Release/RequestConfiguration in the PCMCIA event handler when
100   dealing with a driver initiated hard reset.  This is necessary to
101   prevent hangs due to a spurious interrupt while the reset is in
102   progress.
103 * Clear the 802.11 header when transmitting, even though we don't use
104   it.  This fixes a long standing bug on some firmwares, which seem to
105   get confused if that isn't done.
106 * Be less eager to de-encapsulate SNAP frames, only do so if the OUI is
107   00:00:00 or 00:00:f8, leave others alone.  The old behavior broke CDP
108   (Cisco Discovery Protocol).
109 * Use dev instead of priv for free_irq() as well as request_irq()
110   (oops).
111 * Attempt to reset rather than giving up if we get too many IRQs.
112 * Changed semantics of __orinoco_down() so it can be called safely with
113   hw_unavailable set.  It also now clears the linkstatus (since we're
114   going to have to reassociate).
116 0.13c - 11 Mar 2003
118 * Cleanup: use dev instead of priv in various places.
119 * Bug fix: Don't ReleaseConfiguration on RESET_PHYSICAL event if we're
120   in the middle of a (driver initiated) hard reset.
121 * Bug fix: ETH_ZLEN is supposed to include the header (Dionysus Blazakis
122   and Manish Karir)
123 * Convert to using workqueues instead of taskqueues (and backwards
124   compatibility macros for pre 2.5.41 kernels).
125 * Drop redundant (I think...) MOD_{INC,DEC}_USE_COUNT in airport.c
126 * New orinoco_tmd.c init module from Joerg Dorchain for TMD7160 based
127   PCI to PCMCIA bridges (similar to orinoco_plx.c).
129 0.13b - 10 Feb 2003
131 * Implemented hard reset for Airport cards
132 * Experimental suspend/resume implementation for orinoco_pci
133 * Abolished /proc debugging support, replaced with a debugging iwpriv.
134   Now it's ugly and simple instead of ugly and complex.
135 * Bugfix in hermes.c if the firmware returned a record length of 0, we
136   could go clobbering memory.
137 * Bugfix in orinoco_stop() - it used to fail if hw_unavailable was set,
138   which was usually true on PCMCIA hot removes.
139 * Track LINKSTATUS messages, silently drop Tx packets before we are
140   connected (avoids confusing the firmware), and only give LINKSTATUS
141   printk()s if the status has changed.
143 0.13a - 30 Sep 2002
145 * Minor cleanups to info frame handling.  Add basic support for
146   linkstatus info frames.
147 * Include required kernel headers in orinoco.h, to avoid compile
148   problems.
150 0.13 - 27 Sep 2002
152 * Re-introduced full resets (via schedule_task()) on Tx timeout.
154 0.13beta1 - 13 Sep 2002
156 * Revert the broken 0.12* locking scheme and go to a new yet simpler
157   scheme.
158 * Do firmware resets only in orinoco_init() and when waking the card
159   from hard sleep.
161 0.12c - 26 Jul 2002
163 * Change to C9X style designated initializers.
164 * Add support for 3Com AirConnect PCI.
165 * No longer ignore the hard_reset argument to alloc_orinocodev().  Oops.
167 0.12b - 11 Jul 2002
169 * Fix hw->num_init testing code, so num_init is actually incremented.
170 * Fix very stupid bug in orinoco_cs which broke compile with CONFIG_SMP.
171 * Squashed a warning.
173 0.12a - 4 Jul 2002
175 * Some rearrangement of code.
176 * Numerous fixups to locking and rest handling, particularly for PCMCIA.
177 * This allows open and stop net_device methods to be in orinoco.c now,
178   rather than in the init modules.
179 * In orinoco_cs.c link->priv now points to the struct net_device, not to
180   the struct orinoco_private.
181 * Added a check for undersized SNAP frames, which could cause crashes.
183 0.12 - 19 Jun 2002
185 * Support changing the MAC address.
186 * Correct display of Intersil firmware revision numbers.
187 * Entirely revised locking scheme.  Should be both simpler and better.
188 * Merged some common code in orinoco_plx, orinoco_pci and airport by
189   creating orinoco_default_{open,stop,reset}(), which are used as the
190   dev->open, dev->stop, priv->reset callbacks if none are specified when
191   alloc_orinocodev() is called.
192 * Removed orinoco_plx_interrupt() and orinoco_pci_interrupt().  They
193   didn't do anything.
195 0.11b - 1 May 2002
197 * Better error reporting in orinoco_plx_init_one()
198 * Fixed multiple bad kfree() bugs introduced by the alloc_orinocodev()
199   changes.
201 0.11a - 29 Apr 2002
203 * Handle different register spacing, necessary for Prism 2.5 PCI
204   adaptors (Steve Hill).
205 * Cleaned up initialization of card structures in orinoco_cs and
206   airport.  Removed card->priv field.
207 * Make response structure optional for hermes_docmd_wait()
208   (Pavel Roskin)
209 * Added PCI id for Nortel emobility to orinoco_plx.c.
210 * Cleanup to handling of Symbol's allocation bug (Pavel Roskin)
211 * Cleanups to firmware capability detection.
212 * Arrange for orinoco_pci.c to override firmware detection.  We should
213   be able to support the PCI Intersil cards now.
214 * Cleanup handling of reset_cor and hard_reset (Pavel Roskin)
215 * Remove erroneous use of USER_BAP in the TxExc handler (Jouni Malinen)
216 * Makefile changes for better integration into David Hinds pcmcia-cs
217   package.
219 0.11 - 5 Apr 2002
221 * Laid the groundwork in hermes.[ch] for devices which map into PCI
222   memory space rather than IO space.
223 * Fixed bug in multicast handling (cleared multicast list when leaving
224   promiscuous mode).
225 * Relegated Tx error messages to debug.
226 * Cleaned up / corrected handling of allocation lengths.
227 * Set OWNSSID in IBSS mode for WinXP interoperability (jimc).
228 * Change to using alloc_etherdev() for structure allocations.
229 * Check for and drop undersized packets.
230 * Fixed a race in stopping/waking the queue.  This should fix the
231   timeout problems (Pavel Roskin)
232 * Reverted to netif_wake_queue() on the ALLOC event.
233 * Fixes for recent Symbol firmwares which lack AP density (Pavel Roskin)
235 0.10 - 25 Feb 2002
237 * Removed nested structures used for header parsing, so the driver
238   should now work without hackery on ARM
239 * Fix for WEP handling on Intersil (Hawk Newton)
240 * Eliminated the /proc/hermes/ethXX/regs debugging file.  It was never
241   very useful.
242 * Make Rx errors less noisy.
244 0.09b - 16 Jan 2002
246 * Fixed even stupider mistake in new interrupt handling, which seriously
247   broke things on big-endian machines.
248 * Removed a bunch of redundant includes and exports.
249 * Removed a redundant MOD_{INC,DEC}_USE_COUNT pair in airport.c
250 * Don't attempt to do hardware level multicast reception on Intersil
251   firmware, just go promisc instead.
252 * Typo fixed in hermes_issue_cmd()
253 * Eliminated WIRELESS_SPY #ifdefs
254 * Status code reported on Tx exceptions
255 * Moved netif_wake_queue() from ALLOC interrupts to TX and TXEXC
256   interrupts, which should fix the timeouts we're seeing.
258 0.09a - 2 Jan 2002
260 * Fixed stupid mistake in multicast list handling, triggering a BUG()
262 0.09 - 21 Dec 2001
264 * Some new PCI IDs for PLX cards.
265 * Removed broken attempt to do ALLMULTI reception.  Just use promiscuous
266   mode instead.
267 * Preliminary work for list-AP (Jean II)
268 * Airport updates from (BenH)
269 * Eliminated racy hw_ready stuff
270 * Fixed generation of fake events in irq handler.  This should finally
271   kill the EIO problems (Jean II and dgibson)
272 * Fixed breakage of bitrate set/get on Agere firmware (Jean II)
274 0.08b - 20 Nov 2001
276 * Lots of cleanup and bugfixes in orinoco_plx.c
277 * Cleanup to handling of Tx rate setting.
278 * Removed support for old encapsulation method.
279 * Removed old "dldwd" names.
280 * Split RID constants into a new file hermes_rid.h
281 * Renamed RID constants to match linux-wlan-ng and prism2.o
282 * Bugfixes in hermes.c
283 * Poke the PLX's INTCSR register, so it actually starts generating
284   interrupts.  These cards might actually work now.
285 * Update to wireless extensions v12 (Jean II)
286 * Support for tallies and inquire command (Jean II)
287 * Airport updates for newer PPC kernels (BenH)
289 0.08a - 9 Oct 2001
291 * Inserted some missing acknowledgments/info into the Changelog.
292 * Fixed some bugs in the normalization of signal level reporting.
293 * Fixed bad bug in WEP key handling on Intersil and Symbol firmware,
294   which led to an instant crash on big-endian machines.
296 0.08 - 3 Oct 2001
298 * Fixed a possible buffer overrun found by the Stanford checker (in
299   dldwd_ioctl_setiwencode()).  Can only be called by root anyway, so not
300   a big problem.
301 * Turned has_big_wep on for Intersil cards.  That's not true for all of
302   them but we should at least let the capable ones try.
303 * Wait for BUSY to clear at the beginning of hermes_bap_seek().  I
304   realized that my assumption that the driver's serialization would
305   prevent the BAP being busy on entry was possibly false, because things
306   other than seeks may make the BAP busy.
307 * Use "alternate" (oui 00:00:00) encapsulation by default.  Setting
308   use_old_encaps will mimic the old behavior, but I think we will be
309   able to eliminate this.
310 * Don't try to make __initdata const (the version string).  This can't
311   work because of the way the __initdata sectioning works.
312 * Added MODULE_LICENSE tags.
313 * Support for PLX (transparent PCMCIA->PCI bridge) cards.
314 * Changed to using the new type-fascist min/max.
316 0.07a - 1 Oct 2001
318 * Add code to read Symbol firmware revision, inspired by latest code in
319   Spectrum24 by Lee John Keyser-Allen - Thanks Lee!
320 * Thanks to Jared Valentine <hidden AT xmission.com> for "providing" me
321   a 3Com card with a recent firmware, fill out Symbol firmware
322   capabilities of latest rev (2.20), as well as older Symbol cards.
323 * Disable Power Management in newer Symbol firmware, the API has changed
324   (documentation needed).
326 0.07 - 20 Aug 2001
328 * Removed BAP error retries from hermes_bap_seek().  For Tx we now let
329   the upper layers handle the retry, we retry explicitly in the Rx path,
330   but don't make as much noise about it.
331 * Firmware detection cleanups.
333 0.06f - 14 Aug 2001
335 * Wording fix to license
336 * Added a 'use_alternate_encaps' module parameter for APs which need an
337   oui of 00:00:00.  We really need a better way of handling this, but
338   the module flag is better than nothing for now.
340 0.06e - 1 Aug 2001
342 * Removed some redundant global initializers (orinoco_cs.c).
343 * Added some module metadata
345 0.06d - 6 Jul 2001
347 * Change a bunch of KERN_INFO messages to KERN_DEBUG, as per Linus'
348   wishes to reduce the number of unnecessary messages.
349 * Removed bogus message on CRC error.
350 * Merged fixes for 0.08 Prism 2 firmware from William Waghorn
351   <willwaghorn AT yahoo.co.uk>
352 * Slight cleanup/re-arrangement of firmware detection code.
354 0.06c - 29 May 2001
356 * Show first spy address in /proc/net/wireless for IBSS mode as well
358 0.06b - 25 May 2001
360 * IBSS on Symbol use port_mode = 4.  Please don't ask...
362 0.06 - 25 May 2001
364   Original patch from Hong Lin <alin AT redhat.com>,
365   Ian Kinner <ikinner AT redhat.com>
366   and David Smith <dsmith AT redhat.com>:
367 * Init of priv->tx_rate_ctrl in firmware specific section.
368 * Prism2/Symbol rate, upto should be 0xF and not 0x15.  Doh!
369 * Spectrum card always need cor_reset (for every reset)
370 * Fix cor_reset to not lose bit 7 in the register
371 * flush_stale_links to remove zombie Pcmcia instances
372 * Ack previous hermes event before reset
373   Jean Tourrilhes:
374 * Allow orinoco.c to call cor_reset via priv->card_reset_handler
375 * Add priv->need_card_reset to toggle this feature
376 * Fix various buglets when setting WEP in Symbol firmware.  Now,
377   encryption is fully functional on Symbol cards.  Youpi!
379 0.05d - 5 May 2001
381 * Workaround to SNAP decapsulate frame from Linksys AP
382   original patch from: Dong Liu <dliu AT research.bell-labs.com>
383   (note: the memcmp bug was mine - fixed)
384 * Remove set_retry stuff, no firmware support it (bloat--).
386 0.05c - 5 May 2001
388 * Adapt airport.c to latest changes in orinoco.c
389 * Remove deferred power enabling code
391 0.05b - 4 May 2001
393 * add module parameter 'ignore_cis_vcc' for D-Link @ 5V
394 * D-Link firmware doesn't support multicast.  We just print a few error
395   messages, but otherwise everything works...
396 * For David: set/getport3 works fine, just upgrade iwpriv...
398 0.05a - 4 May 2001
400 * Revert to old Pcmcia code to fix breakage of Ben's changes...
402 0.05 - 3 May 2001
404 * Spin-off Pcmcia code.  This file is renamed orinoco.c, and
405   orinoco_cs.c now contains only the Pcmcia specific stuff.
406 * Add Airport driver support on top of orinoco.c (see airport.c)
408 0.04c - 24 Apr 2001
410 * Tim Hurley <timster AT seiki.bliztech.com> reported a D-Link card
411   with vendor 02 and firmware 0.08.  Added in the capabilities...
412 * Tested Lucent firmware 7.28, everything works...
414 0.04b - 22 Apr 2001
416 * Removed the 'eth' parameter - always use ethXX as the interface name
417   instead of dldwdXX.  The other was racy anyway.
418 * Clean up RID definitions in hermes.h, other cleanups
420 0.04 - 30 Mar 2001
422 * Update to Wireless 11 - add retry limit/lifetime support
423 * Tested with a D-Link DWL 650 card, fill in firmware support
424 * Warning on Vcc mismatch (D-Link 3.3v card in Lucent 5v only slot)
425 * Fixed the Prism2 WEP bugs that I introduced in 0.03 :-(
426   It works on D-Link *only* after a tcpdump.  Weird...
427   And still doesn't work on Intel card.  Grrrr...
428 * Update the mode after a setport3
429 * Add preamble setting for Symbol cards (not yet enabled)
430 * Don't complain as much about Symbol cards...
432 0.03 - 23 Mar 2001
434 * Start adding Symbol support - need to check all that
435 * Fix Prism2/Symbol WEP to accept 128 bits keys
436 * Add Symbol WEP (add authentication type)
437 * Add Prism2/Symbol rate
438 * Add PM timeout (holdover duration)
439 * Enable "iwconfig eth0 key off" and friends (toggle flags)
440 * Enable "iwconfig eth0 power unicast/all" (toggle flags)
441 * Try with an Intel card.  It report firmware 1.01, behave like an
442   antiquated firmware, however on windows it says 2.00.  Yuck!
443 * Workaround firmware bug in allocate buffer (Intel 1.01)
444 * Finish external renaming to orinoco...
445 * Testing with various Wavelan firmwares
447 0.02 - 21 Mar 2001
449 * Allow to use regular ethX device name instead of dldwdX
450 * Warning on IBSS with ESSID=any for firmware 6.06
451 * Put proper range.throughput values (optimistic)
452 * IWSPY support (IOCTL and stat gather in Rx path)
453 * Allow setting frequency in Ad-Hoc mode
454 * Disable WEP setting if !has_wep to work on old firmware
455 * Fix txpower range
456 * Start adding support for Samsung/Compaq firmware