Commit Graph

65 Commits (a7a461b32fdff1e7db42b50db53840e4fa978384)

Author SHA1 Message Date
Linus Torvalds a7c243b544 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-11-09 08:34:36 -08:00
Olaf Hering 733482e445 [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason
This patch removes almost all inclusions of linux/version.h.  The 3
#defines are unused in most of the touched files.

A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
unfortunatly in linux/version.h.

There are also lots of #ifdef for long obsolete kernels, this was not
touched.  In a few places, the linux/version.h include was move to where
the LINUX_VERSION_CODE was used.

quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

search pattern:
/UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:57 -08:00
James Ketrenos cf1b479b69 Update version ipw2200 stamp to 1.0.8 2005-11-07 17:52:15 -06:00
James Ketrenos 81715376de Updated firmware version stamp to 2.4 from 2.3 so it will use the latest firmware.
You can obtain the firmware at http://ipw2200.sf.net/firmware.php

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:13 -06:00
James Ketrenos 286568ab1e Fixed parameter reordering in firmware log routine.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:10 -06:00
Hong Liu 9d5b880bb8 Fixed problem with not being able to send broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:07 -06:00
James Ketrenos 035205760e Added channel support for ipw2200 cards identified as 'ZZR'
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:05 -06:00
James Ketrenos 991d1cc596 Removed warning about TKIP not being configured if countermeasures are
configured.

Countermeasures default to being turned off when wpa_supplicant runs,
regardless of if TKIP is being used.  They are only turned on if a TKIP
is running.  The warning we were printing is therefore not needed.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:02 -06:00
Ben Cahill e758256104 Fixes missed beacon logic in relation to on-network AP roaming.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:52:00 -06:00
James Ketrenos 8935f39e86 Removed legacy WIRELESS_EXT checks from ipw2200.c
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:57 -06:00
Benoit Boissinot 97a78ca968 Fix 'Driver using old /proc/net/wireless support, please fix driver !' message.
Wireless extensions moved the get_wireless_stats handler from being
in net_device into wireless_handler.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:54 -06:00
James Ketrenos 9ef539d0d6 Updated driver version stamps for ipw2100 (1.1.3) and ipw2200 (1.0.7)
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:49 -06:00
Hong Liu e63247269d Fixes WEP firmware error condition.
The problem is caused by the patch in bug455 -- Channel change flood
generates fatal error.

The patch set the DISASSOCIATING status bit after sending the command.
The process was scheduled out when waiting for the command to be sent to
the card. The disassociated notification clears the DISASSOCIATING bit
in the tasklet before the process set the bit.

Move the bit setting code before sending the command now.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:47 -06:00
Zhu Yi f4ff497d45 [Fix bug# 771] Too many (8) bytes recieved when using AES/hwcrypto
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:44 -06:00
Hong Liu 29cb843e64 Fixes problem with WEP not working (association succeeds, but no Tx/Rx)
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:41 -06:00
James Ketrenos fb7ccc9e6d Fixed problem with get_cmd_string not existing if CONFIG_IPW_DEBUG disabled.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:36 -06:00
Hong Liu cdd1fa1e10 Card with WEP enabled and using shared-key auth will have firmware
error when it tries to auth to a WPA ap. The patch filters out WPA
networks if the card is not wpa enabled when selecting network to
associate to.

Signed-off-by: Hong Liu <hong.liu@intel.com>
2005-11-07 17:51:34 -06:00
Hong Liu 567deaf6d4 Mixed PTK/GTK CCMP/TKIP support.
Signed-off-by: Hong Liu <hong.liu@intel.com>
2005-11-07 17:51:29 -06:00
Peter Jones 90700fd982 Fixed is_network_packet() to include checking for broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:25 -06:00
Mike Kershaw 24a47dbd89 Adds radiotap support to ipw2200 in monitor mode..
Signed-off-by: Mike Kershaw <dragorn@kismetwireless.net>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:22 -06:00
Peter Jones a4f6bbb305 Make all the places the firmware fails to load showerrors (in decimal,
so you can cross-reference errno.h easily).

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:19 -06:00
Zhu Yi 5513579181 [Bug 760] Fix setting WEP key in monitor mode causes IV lost.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:51:14 -06:00
Hong Liu 7b99659f97 [Bug 455] Fix frequent channel change generates firmware fatal error.
Because of the frequent channel change, it is possible that when we are
try to associate with channel 1 (authenticated but not associated).
Another channel change comes at this time, then the driver will issue
disassociate command to the firmware which will cause the fatal error.

It seems that the association/disassociation procedure should not be
interrupted.

The patch attached adds test on STATUS_ASSOCIATING | STATUS_DISASSOCIATING
in ipw_send_cmd(), when ensures that commands will not be sent to firmware
when we are in these two status.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:51:11 -06:00
James Ketrenos a0e04ab360 Added wait_state wakeup on scan completion.
Fixed copyright date in ipw2200.h

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:09 -06:00
James Ketrenos 3b9990cb17 Updated ipw2200 to use the new ieee80211 callbacks
(handle_probe_response, handle_beacon, handle_association_response).

Fixed a problem with ipw_send_cmd() returning non-zero on success.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:06 -06:00
Liu Hong 1fe0adb431 Migrated some of the channel verification code back into the driver to
keep regulatory consistency in one location.

Signed-off-by: James Ketrenos
2005-11-07 17:51:03 -06:00
James Ketrenos f6c5cb7c6f Added cmdlog in non-debug systems.
You can now specify via the module parameter 'cmdlog' to allocate a
ring buffer for caching host commands sent to the firmware. They can
then be dumped at any time via the sysfs entry 'cmd_log'

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:51:00 -06:00
James Ketrenos 9ddf84f6f2 Changed all of the ipw_send_cmd() calls to return any ipw_send_cmd error
codes to the caller and changed ipw_send_cmd itself to print the error
message to the syslog indicating which command failed to be sent.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:58 -06:00
James Ketrenos b39860c60b Switched firmware error dumping so that it will capture a log available
via sysfs even if debugging disabled.  When a firmware error is
captured, it will be dumped to the kernel log (if debug enabled) and
captured in memory to be retrieved via sysfs.

If an error has already been captured, subsequent errors will be
dropped.

The existing error can be cleared by writing to the error log entry.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:55 -06:00
James Ketrenos e666619e23 Modified ipw_config and STATUS_INIT setting to correct race condition
with request_scan being called before initialized if invoked from
insmod, resulting in no association occurring during boot until iwlist
scan is run.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:52 -06:00
Zhu Yi 6de9f7f27d Fix firmware error when setting tx_power.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:50 -06:00
Zhu Yi 22501c8ed7 Fix ipw_wx_get_txpow shows wrong disabled value.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:47 -06:00
Zhu Yi 0ece35b557 [Bug 701] Fix a misuse of ieee->mode with ieee->iw_mode.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:45 -06:00
Hong Liu caeff81b4e Fixes the ad-hoc network WEP key list issue.
If we configure the wep keys after creating the ibss network, the
beacons of this network will not show correctly (it still shows "key
off" in iwlist scan report). This is because we don't update the
beacon info in firmware.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:42 -06:00
Zhu Yi 1fbfea549f [Bug 792] Fix WPA-PSK AES both for -Dipw and -Dwext.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:39 -06:00
Zhu Yi e402c93741 Disable host fragmentation in open mode since IPW2200/2915 hardware
support hardware fragmentation.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:37 -06:00
Zhu Yi 87b016cb64 Workaround kernel BUG_ON panic caused by unexpected duplicate packets.
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
2005-11-07 17:50:34 -06:00
James Ketrenos 4f36f8088a Added more useful geography encoding so people's experience with
iwconfig matches what their hardware can actually do in regard to
supported channel maps, etc.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:32 -06:00
James Ketrenos 2b184d5b54 Fixed some compiler issues if CONFIG_IPW2200_QOS is enabled.
Updated a copyright date.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:29 -06:00
James Ketrenos 227d2dc1f1 Updated to support ieee80211 callback to is_queue_full for 802.11e
support.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:27 -06:00
Liu Hong 8400a1ceb4 [Bug 637] Set tx power for A band.
It uses the ieee80211-geo info to set the tx power of the a/b/g band.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:21 -06:00
Zhu Yi d8bad6df04 [bug 667] Fix the notorious "No space for Tx" bug.
We send SYSTEM_CONFIG command after the TGI_KEY command if hardware
encryption is enabled. It sometimes causes a firmware stall (firmware
doesn't respond to any request) and finally bungs up the Tx send queue.
The solution is to send SYSTEM_CONFIG command in the post association
stage from a workqueue.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:19 -06:00
Zhu Yi f57ce7ce9c Fix is_duplicate_packet() bug for fragmentation number setting.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:16 -06:00
Zhu Yi a2d73e60bb Fix hardware encryption (both WEP and AES) doesn't work with fragmentation.
Firmware sends received packets with double sized ICV/MIC.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:14 -06:00
James Ketrenos afbf30a2b7 Catch ipw2200 up to equivelancy with v1.0.5
* Fixed #452 problem with setting retry limit (thanks to Hong Liu)
* Fixed #592 race condition during association causing firmware errors
* Fixed #602 problem with building in 64-bit environment
* Fixed #625 problem with SCAN_REQUEST_EXT sometimes failing
* Fixed #645 problem with bit rate not decreasing when moving laptop
  farther from AP
* Fixed #656 problem with 'iwconfig eth1 mode auto' and 'modprobe'
  locking the system
* Fixed #667 problem with "No space for Tx" for hwcrypto=1
* Fixed #685 kernel panic in rmmod caused by led work is still queued
* Fixed #695 problem with network doesn't reassociate after suspend/resume
* Fixed #701 problem with 'iwprvi sw_reset' not resetting the card from
  monitor mode
* Fixed #710 problem with monitor mode being used after a WEP key has
  been configured
* Fixed network->mode vs. priv->ieee->iw_mode checking (thanks to Ben Cahill)
* Fixed "Unknown management packet %d" warning
* Fixed setting channels multiple times in monitor mode causes scan stopped
* Fixed ipw_wx_sw_reset doesn't switch firmware if mode is changed.
* Add duplicate packet checking code (kill ping DUP! and TKIP replay warning)
* Fix hardware encryption (both WEP and AES) doesn't work with fragmentation.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:50:11 -06:00
James Ketrenos b095c38198 Catch ipw2200 up to equivelancy with v1.0.4
* Fixed #627 problem with open APs not working with wpa_supplicant
* Fixed #632 problem with 'txpower auto' setting power incorrectly (thanks
  to Kai Groner)
* Fixed #634 problem with 'iwconfig eth1 frag 0' hanging the shell
* Fixed problem with adapter not fully powering off during suspend to RAM or
  when module unloaded.
* Fixed #645 problem with turning fixed rates off not taking effect until
  you reload the driver
* Fixed problem with firmware restart if wpa_supplicant was used to set a key
  that wasn't exactly 5 or 13 bytes in length.
* Fixed #623 Added iwpriv sw_reset extension to reset sw parameters
* Added managment frame export to user space with frame statistics
* Fixed #652 Modified the driver to load the EEPROM data even if RF KILL is
  active during driver load
* Global s:CX2_:IPW_:g to make code more consistent
* Fixed #572 problem with setting txpower to auto
* Fixed #656 problem with kernel oops if mode auto; modprobe -r ipw2200
* Added QoS (CONFIG_IPW_QOS) support.  This is being actively developed but
  is the first step in getting WMM support into the driver and the kernel.
* Fixed some race conditions with channel changes, association, and scan
  abort that could periodically cause a firmware restart.
* Added some extensions to export scan and network statistics to user space
  (exposed through speed_scan and net_stats sysfs entries)
* Fixed a few bugs in how monitor mode was supported (scan lists
  weren't quite right)
* Updated the firmware requirement from 2.2 to 2.3 which supports
  monitor mode.

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:49:58 -06:00
James Ketrenos c848d0af40 Catch ipw2200 up to equivelancy with v1.0.3
* Fix #616 problem with OOPS on module load (thanks to Yi Zhu)
* Fixed problem with led module parameter being described as
  'auto_create'
* Added support to merge between adhoc networks (thanks to Mohamed Abbas)
* Added semaphore lock at the driver's entry points to protect against
  re-entry (thanks to Mohamed Abbas)
* Added semaphore lock to background scheduled driver actions (thanks to
  Mohamed Abbas)
* Changed how signal quality is reported for scan output (thanks to
  Peter Jones)
* Fixed how high/low clamp values of signal quality are reported so a
  more consistent ramp is provided (thanks to Bill Moss)
* Fix #624 problem with duplicate addresses (again)  (thanks to Bernard
  Blackham)
* Fix #385 problem with fragmentation and certain sized packets (thanks
  to Mohamed Abbas)
* Modified iwconfig network name if RF kill is enabled to say 'radio off'
* Fix #382 problem with driver not responding to probe requests in Ad-Hoc
  mode (thanks to Mohamed Abbas)

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:49:56 -06:00
James Ketrenos a613bffd3a Catch ipw2200 up to equivelancy with v1.0.2
Removed unneeded parenthesis around numeric constant defines

Added support for iwspy

Put in fix for Ad-Hoc mode not passing through all packets (thanks to KKH)

Put in fix for fragmentation not working for fragment sizes between
441-464 bytes (thanks to Mohamed Abbas)

Fixed #592 problem of CONFIG_IEEE80211_WPA_MODULE not including WPA
support into the driver -- fixed as a result of no longer limiting WPAs
inclusion

Fixed #594 problem with user rates mask causing lack of association if
AP mandatory rate is masked out.  We now add back in as a supported rate
any mandatory rate.

Fixed #597 kernel oops due to calling dev_kfree_skb on an skb multiple times.

Added code to control LEDs that can be controlled through the wireless
NIC (vs. non-wireless HW interfaces) -- this is currently disabled by
default due to reports by some users of it hanging their laptop.

Added some more debug messages around fragmentation logic

Added locking around STATUS_HCMD_ACTIVE to prevent re-entry race
conditions

Moved ipw_adapter_restart to only execute on the priv->workqueue to
keep keyboard errors from occuring during adapter restart

Added CFG_BACKGROUND_SCAN to easily allow people to play with
background scanning implementations

Modified WPA logic to send WPA IE if one is set (vs. being based on
wpa_enabled)

Modified scan result logic to report WPA and RSN IEs if set (vs. being
based on wpa_enabled)

Fixed issues with endianess compatability between the host and
wireless adapter (thanks to York Liu and Yi Zhu)

Fixed problem with Ad-Hoc network creation causing a firmware error if
a scan was actively running (thanks to Mohamed Abbas)

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:49:53 -06:00
James Ketrenos ea2b26e0a0 Catch ipw2200 up to equivelancy with v1.0.1
This commit contains the following fixes:

Fixed #559: iwconfig rate support (thanks to Florian Hackenberger)

Improved link signal quality calculation (thanks to Bill Moss)

Fixed a problem with sensitivity threshold during association

Added iwpriv for turning forcing long preamble support:
  % iwpriv eth1 set_preamble 1|0

Fixed #542 and #377 support for short preamble

Fixed locked BSSID reporting channel number (thanks to Pedro
Ramalhais)

Fixed type-o with scan watchdog timeout message (thanks to Pedro
Ramalhais)

Changed logic for displaying get_mode output so the code is easier to
follow (thanks to Pedro Ramalhais)

Added initial support for WPA (thanks to Yi Zhu) -- tested with
wpa_supplicant (either tip w/ ipw driver, or with -Dipw2100) with
both CCMP and TKIP

Fixed problem with CCMP not working due to uninitialized 802.11
header fields (thanks to Pedro Ramalhais)

Bug references are to defects stored on http://bughost.org

Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
2005-11-07 17:49:50 -06:00
Panagiotis Issaris ad18b0ea08 [PATCH] ipw2200: Missing kmalloc check
The ipw2200 driver code in current GIT contains a kmalloc() followed by
a memset() without handling a possible memory allocation failure.

Signed-off-by: Panagiotis Issaris <panagiotis.issaris@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:57:20 -04:00