Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6] / drivers / net / wireless / Kconfig
1 #
2 # Wireless LAN device configuration
3 #
4
5 menu "Wireless LAN (non-hamradio)"
6         depends on NETDEVICES
7
8 config NET_RADIO
9         bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions"
10         select WIRELESS_EXT
11         ---help---
12           Support for wireless LANs and everything having to do with radio,
13           but not with amateur radio or FM broadcasting.
14
15           Saying Y here also enables the Wireless Extensions (creates
16           /proc/net/wireless and enables iwconfig access). The Wireless
17           Extension is a generic API allowing a driver to expose to the user
18           space configuration and statistics specific to common Wireless LANs.
19           The beauty of it is that a single set of tool can support all the
20           variations of Wireless LANs, regardless of their type (as long as
21           the driver supports Wireless Extension). Another advantage is that
22           these parameters may be changed on the fly without restarting the
23           driver (or Linux). If you wish to use Wireless Extensions with
24           wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
25           the tools from
26           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
27
28 config NET_WIRELESS_RTNETLINK
29         bool "Wireless Extension API over RtNetlink"
30         depends on NET_RADIO
31         ---help---
32           Support the Wireless Extension API over the RtNetlink socket
33           in addition to the traditional ioctl interface (selected above).
34
35           For now, few tools use this facility, but it might grow in the
36           future. The only downside is that it adds 4.5 kB to your kernel.
37
38 # Note : the cards are obsolete (can't buy them anymore), but the drivers
39 # are not, as people are still using them...
40 comment "Obsolete Wireless cards support (pre-802.11)"
41         depends on NET_RADIO && (INET || ISA || PCMCIA)
42
43 config STRIP
44         tristate "STRIP (Metricom starmode radio IP)"
45         depends on NET_RADIO && INET
46         ---help---
47           Say Y if you have a Metricom radio and intend to use Starmode Radio
48           IP. STRIP is a radio protocol developed for the MosquitoNet project
49           (on the WWW at <http://mosquitonet.stanford.edu/>) to send Internet
50           traffic using Metricom radios.  Metricom radios are small, battery
51           powered, 100kbit/sec packet radio transceivers, about the size and
52           weight of a cellular telephone. (You may also have heard them called
53           "Metricom modems" but we avoid the term "modem" because it misleads
54           many people into thinking that you can plug a Metricom modem into a
55           phone line and use it as a modem.)
56
57           You can use STRIP on any Linux machine with a serial port, although
58           it is obviously most useful for people with laptop computers. If you
59           think you might get a Metricom radio in the future, there is no harm
60           in saying Y to STRIP now, except that it makes the kernel a bit
61           bigger.
62
63           To compile this as a module, choose M here: the module will be
64           called strip.
65
66 config ARLAN
67         tristate "Aironet Arlan 655 & IC2200 DS support"
68         depends on NET_RADIO && ISA && !64BIT
69         ---help---
70           Aironet makes Arlan, a class of wireless LAN adapters. These use the
71           www.Telxon.com chip, which is also used on several similar cards.
72           This driver is tested on the 655 and IC2200 series cards. Look at
73           <http://www.ylenurme.ee/~elmer/655/> for the latest information.
74
75           The driver is built as two modules, arlan and arlan-proc. The latter
76           is the /proc interface and is not needed most of time.
77
78           On some computers the card ends up in non-valid state after some
79           time. Use a ping-reset script to clear it.
80
81 config WAVELAN
82         tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
83         depends on NET_RADIO && ISA
84         ---help---
85           The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
86           a Radio LAN (wireless Ethernet-like Local Area Network) using the
87           radio frequencies 900 MHz and 2.4 GHz.
88
89           This driver support the ISA version of the WaveLAN card.  A separate
90           driver for the PCMCIA (PC-card) hardware is available in David
91           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
92           for location).
93
94           If you want to use an ISA WaveLAN card under Linux, say Y and read
95           the Ethernet-HOWTO, available from
96           <http://www.tldp.org/docs.html#howto>. Some more specific
97           information is contained in
98           <file:Documentation/networking/wavelan.txt> and in the source code
99           <file:drivers/net/wavelan.p.h>.
100
101           You will also need the wireless tools package available from
102           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
103           Please read the man pages contained therein.
104
105           To compile this driver as a module, choose M here: the module will be
106           called wavelan.
107
108 config PCMCIA_WAVELAN
109         tristate "AT&T/Lucent old WaveLAN Pcmcia wireless support"
110         depends on NET_RADIO && PCMCIA
111         help
112           Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
113           (PC-card) wireless Ethernet networking card to your computer.  This
114           driver is for the non-IEEE-802.11 Wavelan cards.
115
116           To compile this driver as a module, choose M here: the module will be
117           called wavelan_cs.  If unsure, say N.
118
119 config PCMCIA_NETWAVE
120         tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
121         depends on NET_RADIO && PCMCIA
122         help
123           Say Y here if you intend to attach this type of PCMCIA (PC-card)
124           wireless Ethernet networking card to your computer.
125
126           To compile this driver as a module, choose M here: the module will be
127           called netwave_cs.  If unsure, say N.
128
129 comment "Wireless 802.11 Frequency Hopping cards support"
130         depends on NET_RADIO && PCMCIA
131
132 config PCMCIA_RAYCS
133         tristate "Aviator/Raytheon 2.4MHz wireless support"
134         depends on NET_RADIO && PCMCIA
135         ---help---
136           Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
137           (PC-card) wireless Ethernet networking card to your computer.
138           Please read the file <file:Documentation/networking/ray_cs.txt> for
139           details.
140
141           To compile this driver as a module, choose M here: the module will be
142           called ray_cs.  If unsure, say N.
143
144 comment "Wireless 802.11b ISA/PCI cards support"
145         depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
146
147 config IPW2100
148         tristate "Intel PRO/Wireless 2100 Network Connection"
149         depends on NET_RADIO && PCI
150         select FW_LOADER
151         select IEEE80211
152         ---help---
153           A driver for the Intel PRO/Wireless 2100 Network 
154           Connection 802.11b wireless network adapter.
155
156           See <file:Documentation/networking/README.ipw2100> for information on
157           the capabilities currently enabled in this driver and for tips
158           for debugging issues and problems.
159
160           In order to use this driver, you will need a firmware image for it.
161           You can obtain the firmware from
162           <http://ipw2100.sf.net/>.  Once you have the firmware image, you 
163           will need to place it in /lib/firmware.
164
165           You will also very likely need the Wireless Tools in order to
166           configure your card:
167
168           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
169  
170           If you want to compile the driver as a module ( = code which can be
171           inserted in and removed from the running kernel whenever you want),
172           say M here and read <file:Documentation/modules.txt>.  The module
173           will be called ipw2100.ko.
174         
175 config IPW2100_MONITOR
176         bool "Enable promiscuous mode"
177         depends on IPW2100
178         ---help---
179           Enables promiscuous/monitor mode support for the ipw2100 driver.
180           With this feature compiled into the driver, you can switch to 
181           promiscuous mode via the Wireless Tool's Monitor mode.  While in this
182           mode, no packets can be sent.
183
184 config IPW2100_DEBUG
185         bool "Enable full debugging output in IPW2100 module."
186         depends on IPW2100
187         ---help---
188           This option will enable debug tracing output for the IPW2100.  
189
190           This will result in the kernel module being ~60k larger.  You can 
191           control which debug output is sent to the kernel log by setting the 
192           value in 
193
194           /sys/bus/pci/drivers/ipw2100/debug_level
195
196           This entry will only exist if this option is enabled.
197
198           If you are not trying to debug or develop the IPW2100 driver, you 
199           most likely want to say N here.
200
201 config IPW2200
202         tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
203         depends on NET_RADIO && PCI
204         select FW_LOADER
205         select IEEE80211
206         ---help---
207           A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network
208           Connection adapters. 
209
210           See <file:Documentation/networking/README.ipw2200> for 
211           information on the capabilities currently enabled in this 
212           driver and for tips for debugging issues and problems.
213
214           In order to use this driver, you will need a firmware image for it.
215           You can obtain the firmware from
216           <http://ipw2200.sf.net/>.  See the above referenced README.ipw2200 
217           for information on where to install the firmware images.
218
219           You will also very likely need the Wireless Tools in order to
220           configure your card:
221
222           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
223  
224           If you want to compile the driver as a module ( = code which can be
225           inserted in and removed from the running kernel whenever you want),
226           say M here and read <file:Documentation/modules.txt>.  The module
227           will be called ipw2200.ko.
228
229 config IPW2200_MONITOR
230         bool "Enable promiscuous mode"
231         depends on IPW2200
232         ---help---
233           Enables promiscuous/monitor mode support for the ipw2200 driver.
234           With this feature compiled into the driver, you can switch to 
235           promiscuous mode via the Wireless Tool's Monitor mode.  While in this
236           mode, no packets can be sent.
237
238 config IPW2200_RADIOTAP
239         bool "Enable radiotap format 802.11 raw packet support"
240         depends on IPW2200_MONITOR
241
242 config IPW2200_PROMISCUOUS
243         bool "Enable creation of a RF radiotap promiscuous interface"
244         depends on IPW2200_MONITOR
245         select IPW2200_RADIOTAP
246         ---help---
247           Enables the creation of a second interface prefixed 'rtap'. 
248           This second interface will provide every received in radiotap
249           format.
250
251           This is useful for performing wireless network analysis while
252           maintaining an active association.
253
254           Example usage:
255
256             % modprobe ipw2200 rtap_iface=1
257             % ifconfig rtap0 up
258             % tethereal -i rtap0
259
260           If you do not specify 'rtap_iface=1' as a module parameter then 
261           the rtap interface will not be created and you will need to turn 
262           it on via sysfs:
263         
264             % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
265
266 config IPW2200_QOS
267         bool "Enable QoS support"
268         depends on IPW2200 && EXPERIMENTAL
269
270 config IPW2200_DEBUG
271         bool "Enable full debugging output in IPW2200 module."
272         depends on IPW2200
273         ---help---
274           This option will enable low level debug tracing output for IPW2200.
275
276           Note, normal debug code is already compiled in. This low level
277           debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
278           will result in the kernel module being ~70 larger.  Most users
279           will typically not need this high verbosity debug information.
280
281           If you are not sure, say N here.
282
283 config AIRO
284         tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
285         depends on NET_RADIO && ISA_DMA_API && (PCI || BROKEN)
286         select CRYPTO
287         ---help---
288           This is the standard Linux driver to support Cisco/Aironet ISA and
289           PCI 802.11 wireless cards.
290           It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X
291           - with or without encryption) as well as card before the Cisco
292           acquisition (Aironet 4500, Aironet 4800, Aironet 4800B).
293
294           This driver support both the standard Linux Wireless Extensions
295           and Cisco proprietary API, so both the Linux Wireless Tools and the
296           Cisco Linux utilities can be used to configure the card.
297
298           The driver can be compiled as a module and will be named "airo".
299
300 config HERMES
301         tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
302         depends on NET_RADIO && (PPC_PMAC || PCI || PCMCIA)
303         ---help---
304           A driver for 802.11b wireless cards based on the "Hermes" or
305           Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
306           majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
307           - except for the Cisco/Aironet cards.  Cards supported include the
308           Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco,
309           Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya,
310           IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear
311           MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel
312           PRO/Wireless, and Symbol Spectrum24 High Rate amongst others.
313
314           This option includes the guts of the driver, but in order to
315           actually use a card you will also need to enable support for PCMCIA
316           Hermes cards, PLX9052 based PCI adaptors or the Apple Airport below.
317
318           You will also very likely also need the Wireless Tools in order to
319           configure your card and that /etc/pcmcia/wireless.opts works :
320           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>
321
322 config APPLE_AIRPORT
323         tristate "Apple Airport support (built-in)"
324         depends on PPC_PMAC && HERMES
325         help
326           Say Y here to support the Airport 802.11b wireless Ethernet hardware
327           built into the Macintosh iBook and other recent PowerPC-based
328           Macintosh machines. This is essentially a Lucent Orinoco card with 
329           a non-standard interface.
330
331           This driver does not support the Airport Extreme (802.11b/g). Use
332           the BCM43xx driver for Airport Extreme cards.
333
334 config PLX_HERMES
335         tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)"
336         depends on PCI && HERMES
337         help
338           Enable support for PCMCIA cards supported by the "Hermes" (aka
339           orinoco) driver when used in PLX9052 based PCI adaptors.  These
340           adaptors are not a full PCMCIA controller but act as a more limited
341           PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
342           802.11b PCMCIA cards can be used in desktop machines.  The Netgear
343           MA301 is such an adaptor.
344
345 config TMD_HERMES
346         tristate "Hermes in TMD7160 based PCI adaptor support"
347         depends on PCI && HERMES
348         help
349           Enable support for PCMCIA cards supported by the "Hermes" (aka
350           orinoco) driver when used in TMD7160 based PCI adaptors.  These
351           adaptors are not a full PCMCIA controller but act as a more limited
352           PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
353           802.11b PCMCIA cards can be used in desktop machines.
354
355 config NORTEL_HERMES
356         tristate "Nortel emobility PCI adaptor support"
357         depends on PCI && HERMES
358         help
359           Enable support for PCMCIA cards supported by the "Hermes" (aka
360           orinoco) driver when used in Nortel emobility PCI adaptors.  These
361           adaptors are not full PCMCIA controllers, but act as a more limited
362           PCI <-> PCMCIA bridge.
363
364 config PCI_HERMES
365         tristate "Prism 2.5 PCI 802.11b adaptor support"
366         depends on PCI && HERMES
367         help
368           Enable support for PCI and mini-PCI 802.11b wireless NICs based on
369           the Prism 2.5 chipset.  These are true PCI cards, not the 802.11b
370           PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also
371           common.  Some of the built-in wireless adaptors in laptops are of
372           this variety.
373
374 config ATMEL
375       tristate "Atmel at76c50x chipset  802.11b support"
376       depends on NET_RADIO && (PCI || PCMCIA)
377       select FW_LOADER
378       select CRC32
379        ---help---
380         A driver 802.11b wireless cards based on the Atmel fast-vnet
381         chips. This driver supports standard Linux wireless extensions. 
382  
383         Many  cards based on this chipset do not have flash memory
384         and need their firmware loaded at start-up. If yours is 
385         one of these, you will need to provide a firmware image
386         to be loaded into the card by the driver. The Atmel
387         firmware package can be downloaded from
388         <http://www.thekelleys.org.uk/atmel>
389
390 config PCI_ATMEL
391       tristate "Atmel at76c506 PCI cards"
392       depends on ATMEL && PCI
393        ---help---
394         Enable support for PCI and mini-PCI cards containing the
395         Atmel at76c506 chip.
396
397 # If Pcmcia is compiled in, offer Pcmcia cards...
398 comment "Wireless 802.11b Pcmcia/Cardbus cards support"
399         depends on NET_RADIO && PCMCIA
400
401 config PCMCIA_HERMES
402         tristate "Hermes PCMCIA card support"
403         depends on NET_RADIO && PCMCIA && HERMES
404         ---help---
405           A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
406           as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
407           EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and
408           others).  It should also be usable on various Prism II based cards
409           such as the Linksys, D-Link and Farallon Skyline.  It should also
410           work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN.
411
412           To use your PC-cards, you will need supporting software from David
413           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
414           for location).  You also want to check out the PCMCIA-HOWTO,
415           available from <http://www.tldp.org/docs.html#howto>.
416
417           You will also very likely also need the Wireless Tools in order to
418           configure your card and that /etc/pcmcia/wireless.opts works:
419           <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
420
421 config PCMCIA_SPECTRUM
422         tristate "Symbol Spectrum24 Trilogy PCMCIA card support"
423         depends on NET_RADIO && PCMCIA && HERMES
424         select FW_LOADER
425         ---help---
426
427           This is a driver for 802.11b cards using RAM-loadable Symbol
428           firmware, such as Symbol Wireless Networker LA4100, CompactFlash
429           cards by Socket Communications and Intel PRO/Wireless 2011B.
430
431           This driver requires firmware download on startup.  Utilities
432           for downloading Symbol firmware are available at
433           <http://sourceforge.net/projects/orinoco/>
434
435 config AIRO_CS
436         tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards"
437         depends on NET_RADIO && PCMCIA && (BROKEN || !M32R)
438         select CRYPTO
439         select CRYPTO_AES
440         ---help---
441           This is the standard Linux driver to support Cisco/Aironet PCMCIA
442           802.11 wireless cards.  This driver is the same as the Aironet
443           driver part of the Linux Pcmcia package.
444           It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X
445           - with or without encryption) as well as card before the Cisco
446           acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). It also
447           supports OEM of Cisco such as the DELL TrueMobile 4800 and Xircom
448           802.11b cards.
449
450           This driver support both the standard Linux Wireless Extensions
451           and Cisco proprietary API, so both the Linux Wireless Tools and the
452           Cisco Linux utilities can be used to configure the card.
453
454           To use your PC-cards, you will need supporting software from David
455           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
456           for location).  You also want to check out the PCMCIA-HOWTO,
457           available from <http://www.tldp.org/docs.html#howto>.
458
459 config PCMCIA_ATMEL
460         tristate "Atmel at76c502/at76c504 PCMCIA cards"
461         depends on NET_RADIO && ATMEL && PCMCIA
462         select FW_LOADER
463         select CRC32
464         ---help---
465           Enable support for PCMCIA cards containing the
466           Atmel at76c502 and at76c504 chips.
467
468 config PCMCIA_WL3501
469       tristate "Planet WL3501 PCMCIA cards"
470       depends on NET_RADIO && EXPERIMENTAL && PCMCIA
471        ---help---
472          A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet.
473          It has basic support for Linux wireless extensions and initial
474          micro support for ethtool.
475
476 comment "Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support"
477         depends on NET_RADIO && PCI
478 config PRISM54
479         tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus' 
480         depends on PCI && NET_RADIO && EXPERIMENTAL
481         select FW_LOADER
482         ---help---
483           Enable PCI and Cardbus support for the following chipset based cards:
484
485           ISL3880 - Prism GT            802.11 b/g
486           ISL3877 - Prism Indigo        802.11 a
487           ISL3890 - Prism Duette        802.11 a/b/g
488           
489           For a complete list of supported cards visit <http://prism54.org>.
490           Here is the latest confirmed list of supported cards:
491
492           3com OfficeConnect 11g Cardbus Card aka 3CRWE154G72 (version 1)
493           Allnet ALL0271 PCI Card
494           Compex WL54G Cardbus Card
495           Corega CG-WLCB54GT Cardbus Card
496           D-Link Air Plus Xtreme G A1 Cardbus Card aka DWL-g650
497           I-O Data WN-G54/CB Cardbus Card
498           Kobishi XG-300 aka Z-Com Cardbus Card
499           Netgear WG511 Cardbus Card
500           Ovislink WL-5400PCI PCI Card
501           Peabird WLG-PCI PCI Card
502           Sitecom WL-100i Cardbus Card
503           Sitecom WL-110i PCI Card
504           SMC2802W -    EZ Connect g 2.4GHz 54 Mbps Wireless PCI Card
505           SMC2835W -    EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Card
506           SMC2835W-V2 - EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Card
507           Z-Com XG-900 PCI Card
508           Zyxel G-100 Cardbus Card
509
510           If you enable this you will need a firmware file as well.
511           You will need to copy this to /usr/lib/hotplug/firmware/isl3890.
512           You can get this non-GPL'd firmware file from the Prism54 project page:
513           <http://prism54.org>
514           You will also need the /etc/hotplug/firmware.agent script from
515           a current hotplug package.
516
517           Note: You need a motherboard with DMA support to use any of these cards 
518           
519           If you want to compile the driver as a module ( = code which can be
520           inserted in and removed from the running kernel whenever you want),
521           say M here and read <file:Documentation/modules.txt>.  The module
522           will be called prism54.ko.
523
524 config USB_ZD1201
525         tristate "USB ZD1201 based Wireless device support"
526         depends on USB && NET_RADIO
527         select FW_LOADER
528         ---help---
529           Say Y if you want to use wireless LAN adapters based on the ZyDAS
530           ZD1201 chip.
531
532           This driver makes the adapter appear as a normal Ethernet interface,
533           typically on wlan0.
534
535           The zd1201 device requires external firmware to be loaded.
536           This can be found at http://linux-lc100020.sourceforge.net/
537
538           To compile this driver as a module, choose M here: the
539           module will be called zd1201.
540
541 source "drivers/net/wireless/hostap/Kconfig"
542 source "drivers/net/wireless/bcm43xx/Kconfig"
543 source "drivers/net/wireless/zd1211rw/Kconfig"
544
545 # yes, this works even when no drivers are selected
546 config NET_WIRELESS
547         bool
548         depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
549         default y
550
551 endmenu
552