[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices
[safe/jmp/linux-2.6] / drivers / net / wireless / Kconfig
index 7187958..c210265 100644 (file)
@@ -2,40 +2,22 @@
 # Wireless LAN device configuration
 #
 
-menu "Wireless LAN (non-hamradio)"
-       depends on NETDEVICES
+menu "Wireless LAN"
+       depends on !S390
 
-config NET_RADIO
-       bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+config WLAN_PRE80211
+       bool "Wireless LAN (pre-802.11)"
+       depends on NETDEVICES
        ---help---
-         Support for wireless LANs and everything having to do with radio,
-         but not with amateur radio or FM broadcasting.
-
-         Saying Y here also enables the Wireless Extensions (creates
-         /proc/net/wireless and enables iwconfig access). The Wireless
-         Extension is a generic API allowing a driver to expose to the user
-         space configuration and statistics specific to common Wireless LANs.
-         The beauty of it is that a single set of tool can support all the
-         variations of Wireless LANs, regardless of their type (as long as
-         the driver supports Wireless Extension). Another advantage is that
-         these parameters may be changed on the fly without restarting the
-         driver (or Linux). If you wish to use Wireless Extensions with
-         wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
-         the tools from
-         <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
-
-         Some user-level drivers for scarab devices which don't require
-         special kernel support are available from
-         <ftp://shadow.cabi.net/pub/Linux/>.
+         Say Y if you have any pre-802.11 wireless LAN hardware.
 
-# Note : the cards are obsolete (can't buy them anymore), but the drivers
-# are not, as people are still using them...
-comment "Obsolete Wireless cards support (pre-802.11)"
-       depends on NET_RADIO && (INET || ISA || PCMCIA)
+         This option does not affect the kernel build, it only
+         lets you choose drivers.
 
 config STRIP
        tristate "STRIP (Metricom starmode radio IP)"
-       depends on NET_RADIO && INET
+       depends on INET && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          Say Y if you have a Metricom radio and intend to use Starmode Radio
          IP. STRIP is a radio protocol developed for the MosquitoNet project
@@ -58,7 +40,8 @@ config STRIP
 
 config ARLAN
        tristate "Aironet Arlan 655 & IC2200 DS support"
-       depends on NET_RADIO && ISA && !64BIT
+       depends on ISA && !64BIT && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          Aironet makes Arlan, a class of wireless LAN adapters. These use the
          www.Telxon.com chip, which is also used on several similar cards.
@@ -73,17 +56,13 @@ config ARLAN
 
 config WAVELAN
        tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
-       depends on NET_RADIO && ISA
+       depends on ISA && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
          a Radio LAN (wireless Ethernet-like Local Area Network) using the
          radio frequencies 900 MHz and 2.4 GHz.
 
-         This driver support the ISA version of the WaveLAN card.  A separate
-         driver for the PCMCIA (PC-card) hardware is available in David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).
-
          If you want to use an ISA WaveLAN card under Linux, say Y and read
          the Ethernet-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>. Some more specific
@@ -100,7 +79,8 @@ config WAVELAN
 
 config PCMCIA_WAVELAN
        tristate "AT&T/Lucent old WaveLAN Pcmcia wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_PRE80211
+       select WIRELESS_EXT
        help
          Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
          (PC-card) wireless Ethernet networking card to your computer.  This
@@ -111,7 +91,8 @@ config PCMCIA_WAVELAN
 
 config PCMCIA_NETWAVE
        tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_PRE80211
+       select WIRELESS_EXT
        help
          Say Y here if you intend to attach this type of PCMCIA (PC-card)
          wireless Ethernet networking card to your computer.
@@ -119,12 +100,20 @@ config PCMCIA_NETWAVE
          To compile this driver as a module, choose M here: the module will be
          called netwave_cs.  If unsure, say N.
 
-comment "Wireless 802.11 Frequency Hopping cards support"
-       depends on NET_RADIO && PCMCIA
+
+config WLAN_80211
+       bool "Wireless LAN (IEEE 802.11)"
+       depends on NETDEVICES
+       ---help---
+         Say Y if you have any 802.11 wireless LAN hardware.
+
+         This option does not affect the kernel build, it only
+         lets you choose drivers.
 
 config PCMCIA_RAYCS
        tristate "Aviator/Raytheon 2.4MHz wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_80211
+       select WIRELESS_EXT
        ---help---
          Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
          (PC-card) wireless Ethernet networking card to your computer.
@@ -134,13 +123,12 @@ config PCMCIA_RAYCS
          To compile this driver as a module, choose M here: the module will be
          called ray_cs.  If unsure, say N.
 
-comment "Wireless 802.11b ISA/PCI cards support"
-       depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
-
 config IPW2100
        tristate "Intel PRO/Wireless 2100 Network Connection"
-       depends on NET_RADIO && PCI && IEEE80211
+       depends on PCI && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
+       select IEEE80211
        ---help---
           A driver for the Intel PRO/Wireless 2100 Network 
          Connection 802.11b wireless network adapter.
@@ -152,7 +140,7 @@ config IPW2100
          In order to use this driver, you will need a firmware image for it.
           You can obtain the firmware from
          <http://ipw2100.sf.net/>.  Once you have the firmware image, you 
-         will need to place it in /etc/firmware.
+         will need to place it in /lib/firmware.
 
           You will also very likely need the Wireless Tools in order to
           configure your card:
@@ -160,9 +148,9 @@ config IPW2100
           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
  
           If you want to compile the driver as a module ( = code which can be
-          inserted in and remvoed from the running kernel whenever you want),
-          say M here and read <file:Documentation/modules.txt>.  The module
-          will be called ipw2100.ko.
+          inserted in and removed from the running kernel whenever you want),
+          say M here and read <file:Documentation/kbuild/modules.txt>.
+          The module will be called ipw2100.ko.
        
 config IPW2100_MONITOR
         bool "Enable promiscuous mode"
@@ -173,7 +161,7 @@ config IPW2100_MONITOR
          promiscuous mode via the Wireless Tool's Monitor mode.  While in this
          mode, no packets can be sent.
 
-config IPW_DEBUG
+config IPW2100_DEBUG
        bool "Enable full debugging output in IPW2100 module."
        depends on IPW2100
        ---help---
@@ -192,8 +180,10 @@ config IPW_DEBUG
 
 config IPW2200
        tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
-       depends on IEEE80211 && PCI
+       depends on PCI && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
+       select IEEE80211
        ---help---
           A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
          Connection adapters. 
@@ -205,7 +195,7 @@ config IPW2200
          In order to use this driver, you will need a firmware image for it.
           You can obtain the firmware from
          <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200 
-         for information on where to install the firmare images.
+         for information on where to install the firmware images.
 
           You will also very likely need the Wireless Tools in order to
           configure your card:
@@ -213,43 +203,102 @@ config IPW2200
           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
  
           If you want to compile the driver as a module ( = code which can be
-          inserted in and remvoed from the running kernel whenever you want),
-          say M here and read <file:Documentation/modules.txt>.  The module
-          will be called ipw2200.ko.
+          inserted in and removed from the running kernel whenever you want),
+          say M here and read <file:Documentation/kbuild/modules.txt>.
+          The module will be called ipw2200.ko.
 
-config IPW_DEBUG
+config IPW2200_MONITOR
+        bool "Enable promiscuous mode"
+        depends on IPW2200
+        ---help---
+         Enables promiscuous/monitor mode support for the ipw2200 driver.
+         With this feature compiled into the driver, you can switch to 
+         promiscuous mode via the Wireless Tool's Monitor mode.  While in this
+         mode, no packets can be sent.
+
+config IPW2200_RADIOTAP
+       bool "Enable radiotap format 802.11 raw packet support"
+       depends on IPW2200_MONITOR
+
+config IPW2200_PROMISCUOUS
+       bool "Enable creation of a RF radiotap promiscuous interface"
+       depends on IPW2200_MONITOR
+       select IPW2200_RADIOTAP
+       ---help---
+          Enables the creation of a second interface prefixed 'rtap'. 
+          This second interface will provide every received in radiotap
+         format.
+
+          This is useful for performing wireless network analysis while
+          maintaining an active association.
+
+          Example usage:
+
+            % modprobe ipw2200 rtap_iface=1
+            % ifconfig rtap0 up
+            % tethereal -i rtap0
+
+          If you do not specify 'rtap_iface=1' as a module parameter then 
+          the rtap interface will not be created and you will need to turn 
+          it on via sysfs:
+       
+            % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
+
+config IPW2200_QOS
+        bool "Enable QoS support"
+        depends on IPW2200 && EXPERIMENTAL
+
+config IPW2200_DEBUG
        bool "Enable full debugging output in IPW2200 module."
        depends on IPW2200
        ---help---
-         This option will enable debug tracing output for the IPW2200.  
+         This option will enable low level debug tracing output for IPW2200.
 
-         This will result in the kernel module being ~100k larger.  You can 
-         control which debug output is sent to the kernel log by setting the 
-         value in 
-
-         /sys/bus/pci/drivers/ipw2200/debug_level
+         Note, normal debug code is already compiled in. This low level
+         debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
+         will result in the kernel module being ~70 larger.  Most users
+         will typically not need this high verbosity debug information.
 
-         This entry will only exist if this option is enabled.
+         If you are not sure, say N here.
 
-         To set a value, simply echo an 8-byte hex value to the same file:
+config LIBERTAS
+       tristate "Marvell 8xxx Libertas WLAN driver support"
+       depends on WLAN_80211
+       select IEEE80211
+       select FW_LOADER
+       ---help---
+         A library for Marvell Libertas 8xxx devices.
 
-         % echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level
+config LIBERTAS_USB
+       tristate "Marvell Libertas 8388 USB 802.11b/g cards"
+       depends on LIBERTAS && USB
+       ---help---
+         A driver for Marvell Libertas 8388 USB devices.
 
-         You can find the list of debug mask values in 
-         drivers/net/wireless/ipw2200.h
+config LIBERTAS_CS
+       tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
+       depends on LIBERTAS && PCMCIA && EXPERIMENTAL
+       select FW_LOADER
+       ---help---
+         A driver for Marvell Libertas 8385 CompactFlash devices.
 
-         If you are not trying to debug or develop the IPW2200 driver, you 
-         most likely want to say N here.
+config LIBERTAS_DEBUG
+       bool "Enable full debugging output in the Libertas module."
+       depends on LIBERTAS
+       ---help---
+         Debugging support.
 
 config AIRO
        tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
-       depends on NET_RADIO && ISA_DMA_API && (PCI || BROKEN)
+       depends on ISA_DMA_API && WLAN_80211 && (PCI || BROKEN)
+       select WIRELESS_EXT
+       select CRYPTO
        ---help---
          This is the standard Linux driver to support Cisco/Aironet ISA and
          PCI 802.11 wireless cards.
          It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X
          - with or without encryption) as well as card before the Cisco
-         aquisition (Aironet 4500, Aironet 4800, Aironet 4800B).
+         acquisition (Aironet 4500, Aironet 4800, Aironet 4800B).
 
          This driver support both the standard Linux Wireless Extensions
          and Cisco proprietary API, so both the Linux Wireless Tools and the
@@ -259,9 +308,10 @@ config AIRO
 
 config HERMES
        tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
-       depends on NET_RADIO && (PPC_PMAC || PCI || PCMCIA)
+       depends on (PPC_PMAC || PCI || PCMCIA) && WLAN_80211
+       select WIRELESS_EXT
        ---help---
-         A driver for 802.11b wireless cards based based on the "Hermes" or
+         A driver for 802.11b wireless cards based on the "Hermes" or
          Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
          majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
          - except for the Cisco/Aironet cards.  Cards supported include the
@@ -286,7 +336,10 @@ config APPLE_AIRPORT
          Say Y here to support the Airport 802.11b wireless Ethernet hardware
          built into the Macintosh iBook and other recent PowerPC-based
          Macintosh machines. This is essentially a Lucent Orinoco card with 
-         a non-standard interface
+         a non-standard interface.
+
+         This driver does not support the Airport Extreme (802.11b/g). Use
+         the BCM43xx driver for Airport Extreme cards.
 
 config PLX_HERMES
        tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)"
@@ -328,36 +381,9 @@ config PCI_HERMES
          common.  Some of the built-in wireless adaptors in laptops are of
          this variety.
 
-config ATMEL
-      tristate "Atmel at76c50x chipset  802.11b support"
-      depends on NET_RADIO && EXPERIMENTAL
-      select FW_LOADER
-      select CRC32
-       ---help---
-        A driver 802.11b wireless cards based on the Atmel fast-vnet
-        chips. This driver supports standard Linux wireless extensions. 
-        Many  cards based on this chipset do not have flash memory
-        and need their firmware loaded at start-up. If yours is 
-        one of these, you will need to provide a firmware image
-        to be loaded into the card by the driver. The Atmel
-        firmware package can be downloaded from
-        <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
-      tristate "Atmel at76c506 PCI cards"
-      depends on ATMEL && PCI
-       ---help---
-        Enable support for PCI and mini-PCI cards containing the
-        Atmel at76c506 chip.
-
-# If Pcmcia is compiled in, offer Pcmcia cards...
-comment "Wireless 802.11b Pcmcia/Cardbus cards support"
-       depends on NET_RADIO && PCMCIA
-
 config PCMCIA_HERMES
        tristate "Hermes PCMCIA card support"
-       depends on NET_RADIO && PCMCIA && HERMES
+       depends on PCMCIA && HERMES
        ---help---
          A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
          as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
@@ -366,18 +392,14 @@ config PCMCIA_HERMES
          such as the Linksys, D-Link and Farallon Skyline.  It should also
          work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN.
 
-         To use your PC-cards, you will need supporting software from David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).  You also want to check out the PCMCIA-HOWTO,
-         available from <http://www.tldp.org/docs.html#howto>.
-
-         You will also very likely also need the Wireless Tools in order to
+         You will very likely need the Wireless Tools in order to
          configure your card and that /etc/pcmcia/wireless.opts works:
          <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
 
 config PCMCIA_SPECTRUM
        tristate "Symbol Spectrum24 Trilogy PCMCIA card support"
-       depends on NET_RADIO && PCMCIA && HERMES
+       depends on PCMCIA && HERMES
+       select FW_LOADER
        ---help---
 
          This is a driver for 802.11b cards using RAM-loadable Symbol
@@ -388,16 +410,53 @@ config PCMCIA_SPECTRUM
          for downloading Symbol firmware are available at
          <http://sourceforge.net/projects/orinoco/>
 
+config ATMEL
+      tristate "Atmel at76c50x chipset  802.11b support"
+      depends on (PCI || PCMCIA) && WLAN_80211
+      select WIRELESS_EXT
+      select FW_LOADER
+      select CRC32
+       ---help---
+        A driver 802.11b wireless cards based on the Atmel fast-vnet
+        chips. This driver supports standard Linux wireless extensions.
+
+        Many  cards based on this chipset do not have flash memory
+        and need their firmware loaded at start-up. If yours is
+        one of these, you will need to provide a firmware image
+        to be loaded into the card by the driver. The Atmel
+        firmware package can be downloaded from
+        <http://www.thekelleys.org.uk/atmel>
+
+config PCI_ATMEL
+      tristate "Atmel at76c506 PCI cards"
+      depends on ATMEL && PCI
+       ---help---
+        Enable support for PCI and mini-PCI cards containing the
+        Atmel at76c506 chip.
+
+config PCMCIA_ATMEL
+       tristate "Atmel at76c502/at76c504 PCMCIA cards"
+       depends on ATMEL && PCMCIA
+       select WIRELESS_EXT
+       select FW_LOADER
+       select CRC32
+       ---help---
+         Enable support for PCMCIA cards containing the
+         Atmel at76c502 and at76c504 chips.
+
 config AIRO_CS
        tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards"
-       depends on NET_RADIO && PCMCIA && (BROKEN || !M32R)
+       depends on PCMCIA && (BROKEN || !M32R) && WLAN_80211
+       select WIRELESS_EXT
+       select CRYPTO
+       select CRYPTO_AES
        ---help---
          This is the standard Linux driver to support Cisco/Aironet PCMCIA
          802.11 wireless cards.  This driver is the same as the Aironet
          driver part of the Linux Pcmcia package.
          It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X
          - with or without encryption) as well as card before the Cisco
-         aquisition (Aironet 4500, Aironet 4800, Aironet 4800B). It also
+         acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). It also
          supports OEM of Cisco such as the DELL TrueMobile 4800 and Xircom
          802.11b cards.
 
@@ -405,33 +464,19 @@ config AIRO_CS
          and Cisco proprietary API, so both the Linux Wireless Tools and the
          Cisco Linux utilities can be used to configure the card.
 
-         To use your PC-cards, you will need supporting software from David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).  You also want to check out the PCMCIA-HOWTO,
-         available from <http://www.tldp.org/docs.html#howto>.
-
-config PCMCIA_ATMEL
-       tristate "Atmel at76c502/at76c504 PCMCIA cards"
-       depends on NET_RADIO && ATMEL && PCMCIA
-       select FW_LOADER
-       select CRC32
-       ---help---
-         Enable support for PCMCIA cards containing the
-         Atmel at76c502 and at76c504 chips.
-
 config PCMCIA_WL3501
       tristate "Planet WL3501 PCMCIA cards"
-      depends on NET_RADIO && EXPERIMENTAL && PCMCIA
+      depends on EXPERIMENTAL && PCMCIA && WLAN_80211
+      select WIRELESS_EXT
        ---help---
          A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet.
         It has basic support for Linux wireless extensions and initial
         micro support for ethtool.
 
-comment "Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support"
-       depends on NET_RADIO && PCI
 config PRISM54
        tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus' 
-       depends on PCI && NET_RADIO && EXPERIMENTAL
+       depends on PCI && EXPERIMENTAL && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
        ---help---
          Enable PCI and Cardbus support for the following chipset based cards:
@@ -472,16 +517,70 @@ config PRISM54
          
          If you want to compile the driver as a module ( = code which can be
          inserted in and removed from the running kernel whenever you want),
-         say M here and read <file:Documentation/modules.txt>.  The module
-         will be called prism54.ko.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
+         The module will be called prism54.ko.
 
-source "drivers/net/wireless/hostap/Kconfig"
+config USB_ZD1201
+       tristate "USB ZD1201 based Wireless device support"
+       depends on USB && WLAN_80211
+       select WIRELESS_EXT
+       select FW_LOADER
+       ---help---
+         Say Y if you want to use wireless LAN adapters based on the ZyDAS
+         ZD1201 chip.
 
-# yes, this works even when no drivers are selected
-config NET_WIRELESS
-       bool
-       depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
-       default y
+         This driver makes the adapter appear as a normal Ethernet interface,
+         typically on wlan0.
 
-endmenu
+         The zd1201 device requires external firmware to be loaded.
+         This can be found at http://linux-lc100020.sourceforge.net/
+
+         To compile this driver as a module, choose M here: the
+         module will be called zd1201.
+
+config RTL8187
+       tristate "Realtek 8187 USB support"
+       depends on MAC80211 && USB && WLAN_80211 && EXPERIMENTAL
+       select EEPROM_93CX6
+       ---help---
+         This is a driver for RTL8187 based cards.
+         These are USB based chips found in cards such as:
+
+         Netgear WG111v2
 
+         Thanks to Realtek for their support!
+
+config ADM8211
+       tristate "ADMtek ADM8211 support"
+       depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+       select CRC32
+       select EEPROM_93CX6
+       ---help---
+         This driver is for ADM8211A, ADM8211B, and ADM8211C based cards.
+         These are PCI/mini-PCI/Cardbus 802.11b chips found in cards such as:
+
+         Xterasys Cardbus XN-2411b
+         Blitz NetWave Point PC
+         TrendNet 221pc
+         Belkin F5D6001
+         SMC 2635W
+         Linksys WPC11 v1
+         Fiberline FL-WL-200X
+         3com Office Connect (3CRSHPW796)
+         Corega WLPCIB-11
+         SMC 2602W V2 EU
+         D-Link DWL-520 Revision C
+
+         However, some of these cards have been replaced with other chips
+         like the RTL8180L (Xterasys Cardbus XN-2411b, Belkin F5D6001) or
+         the Ralink RT2400 (SMC2635W) without a model number change.
+
+         Thanks to Infineon-ADMtek for their support of this driver.
+
+source "drivers/net/wireless/hostap/Kconfig"
+source "drivers/net/wireless/bcm43xx/Kconfig"
+source "drivers/net/wireless/b43/Kconfig"
+source "drivers/net/wireless/b43legacy/Kconfig"
+source "drivers/net/wireless/zd1211rw/Kconfig"
+
+endmenu