1.\" Copyright (c) 1997, 1998, 1999 2.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by Bill Paul. 15.\" 4. Neither the name of the author nor the names of any co-contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 23.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 29.\" THE POSSIBILITY OF SUCH DAMAGE. 30.\" 31.\" $FreeBSD: src/share/man/man4/wi.4,v 1.9.4.12 2003/03/03 18:59:15 trhodes Exp $ 32.\" $DragonFly: src/share/man/man4/wi.4,v 1.5 2007/02/25 12:03:07 swildner Exp $ 33.\" $OpenBSD: wi.4tbl,v 1.14 2002/04/29 19:53:50 jsyn Exp $ 34.\" 35.Dd May 2, 2002 36.Dt WI 4 37.Os 38.Sh NAME 39.Nm wi 40.Nd "WaveLAN/IEEE, PRISM-II and Spectrum24 802.11DS wireless network driver" 41.Sh SYNOPSIS 42.Cd "device wi" 43.Sh DESCRIPTION 44The 45.Nm 46driver provides support for wireless network adapters based around 47the Lucent Hermes, Intersil PRISM-II, Intersil PRISM-2.5, and Symbol 48Spectrum24 chipsets. 49All four chipsets provide a similar interface to the driver. 50.Pp 51All host/device interaction is via programmed I/O. 52Supported features include 802.11 and 802.3 frames, power management, BSS, 53IBSS, WDS and old-style Lucent ad-hoc operation modes. 54Cards based on the Intersil PRISM-II and PRISM-2.5 chips also support a 55host-based access point mode which allows a card to act as a normal access 56point (with some assistance from the 57.Nm 58driver). 59The Lucent Hermes and Symbol Spectrum24 chipsets do not contain this 60functionality. 61PRISM-II and PRISM-2.5 chips do not support the WDS functionality. 62.Pp 63The 64.Nm 65driver encapsulates all IP and ARP traffic as 802.11 frames, however 66it can receive either 802.11 or 802.3 frames. 67Transmit speed is selectable between 1Mbps fixed, 2Mbps fixed, 2Mbps 68with auto fallback, 5.5Mbps, 8Mbps, or 11Mbps depending on your hardware. 69The Lucent WaveLAN/IEEE Silver and Gold cards as well as the Intersil 70and Symbol cards have support for WEP encryption. 71The WaveLAN Gold as well as newer Intersil and Symbol cards support 72104bit keys, the others only accept 40bit keys. 73The Lucent WaveLAN/IEEE Bronze cards do not support WEP at all. 74To enable encryption, use the 75.Xr wicontrol 8 76utility to set your keys, or use 77.Xr ifconfig 8 78as shown below. 79.Pp 80By default, the 81.Nm 82driver configures the card for BSS operation (aka infrastructure 83mode). 84This mode requires the use of an access point (base station). 85.Pp 86The 87.Nm 88driver also supports a point-to-point mode where the ssid is 89ignored and stations can communicate amongst themselves without the 90aid of an access point. 91Note that there are two possible point-to-point modes. 92One mode, referred to as 93.Dq "ad-hoc demo mode" , 94or 95.Dq "legacy Lucent ad-hoc mode" , 96predates the IEEE 802.11 specification and so may not interoperate 97with cards from different vendors. 98The standardized point-to-point mode, is called IBSS (or confusingly 99just ad-hoc mode), but is not supported by cards with very old 100firmware revisions. 101If your cards supports IBSS mode, it is recommended that you use it in 102preference to the 103.Dq "ad-hoc demo mode" 104in new installations. 105.Pp 106Cards based on the Intersil PRISM-II and PRISM-2.5 chips also 107have a host-based access point mode which allows the card to 108act as an access point (base station). 109Access points are different than operating in IBSS mode. 110They operate in BSS mode. 111They allow for easier roaming and bridge all ethernet traffic such 112that machines connected via an access point appear to be on the local 113ethernet segment. 114.Pp 115For more information on configuring this device, see 116.Xr ifconfig 8 . 117.Pp 118Cards supported by the 119.Nm 120driver come in a variety of packages, though the most common 121are of the PCMCIA type. 122In many cases, the PCI version of a wireless card is simply 123a PCMCIA card bundled with a PCI adapter. 124The PCI adapters come in two flavors: true PCMCIA bridges and 125dumb PCMCIA bridges. 126A true PCMCIA bridge (such as those sold by Lucent) will attach 127as a real PCMCIA controller. 128The wireless card will then attach to the PCMCIA bus. 129Wireless cards in PCMCIA slots may be inserted and ejected on the fly. 130.Pp 131A dumb bridge, on the other hand, does not show up as a true PCMCIA bus. 132The wireless card will simply appear to the host as a normal PCI 133device and will not require any PCMCIA support. 134Cards in this type of adapter should only be removed when the 135machine is powered down. 136.Pp 137The following cards are among those supported by the 138.Nm 139driver: 140.Pp 141.Bl -column -compact "Linksys Instant Wireless WPC11 2.5" "Spectrum24" "PCI or PCMCIA" 142.Em "Card Chip Bus" 1433Com AirConnect 3CRWE737A Spectrum24 PCMCIA 1443Com AirConnect 3CRWE777A Prism-II PCI 145ACTIONTEC HWC01170 Prism-2.5 PCMCIA 146Addtron AWP-100 Prism-II PCMCIA 147Adtec Adlink/340C Prism-II PCMCIA 148Agere Orinoco Hermes PCMCIA 149Avaya Wireless Prism-II PCMCIA 150Blue Concentric Circle WL-379F PRISM-II CF 151BreezeNet Wireless Prism-II PCMCIA 152Buffalo WLI-PCM-S11 Prism-II PCMCIA 153Buffalo WLI-PCM-L11G Hermes PCMCIA 154Buffalo WLI-CF-S11G Prism-II CF 155Cabletron RoamAbout Hermes PCMCIA 156Compaq Agency NC5004 Prism-II PCMCIA 157Compaq WL100 Prism-II PCMCIA 158Compaq WL110 Prism-II PCMCIA 159Compaq WL200 Prism-II PCMCIA 160Contec FLEXLAN/FX-DS110-PCC Prism-II PCMCIA 161Corega PCC-11 Prism-II PCMCIA 162Corega PCCA-11 Prism-II PCMCIA 163Corega PCCB-11 Prism-II PCMCIA 164Corega CGWLPCIA11 Prism-II PCI 165Dell TrueMobile 1150 Hermes PCMCIA 166Dlink DWL520 Prism-2.5 PCI 167Dlink DWL650 Prism-2.5 PCMCIA 168ELSA XI300 Prism-II PCMCIA 169ELSA XI800 Prism-II CF 170EMTAC A2424i Prism-II PCMCIA 171Ericsson Wireless LAN CARD C11 Spectrum24 PCMCIA 172Farallon Skyline Prism-II PCMCIA 173Gemtek WL-311 Prism-2.5 PCMCIA 174Hawking Technology WE110P Prism-2.5 PCMCIA 175Home Wireless Networks Prism-II PCMCIA 176IBM High Rate Wireless Hermes PCMCIA 177ICOM SL-1100 Prism-II PCMCIA 178I-O DATA WN-B11/PCM Prism-II PCMCIA 179Intel PRO/Wireless 2011 Spectrum24 PCMCIA 180Intersil Prism II Prism-II PCMCIA 181Intersil Mini-PCI Prism-2.5 PCI 182Linksys Instant Wireless WPC11 Prism-II PCMCIA 183Linksys Instant Wireless WPC11 2.5 Prism-2.5 PCMCIA 184Linksys Instant Wireless WPC11 3.0 Prism-3 PCMCIA 185Lucent WaveLAN Hermes PCMCIA 186Melco Airconnect Prism-II PCMCIA 187NANOSPEED ROOT-RZ2000 Prism-II PCMCIA 188NDC/Sohoware NCP130 Prism-II PCI 189NEC CMZ-RT-WP Prism-II PCMCIA 190NEC PK-WL001 Prism-II PCMCIA 191NEC PC-WL/11C PRISM-II PCMCIA 192Netgear MA401 Prism-II PCMCIA 193NTT-ME 11Mbps Wireless LAN Prism-II PCMCIA 194Planex GeoWave/GW-NS110 Prism-II PCMCIA 195Planex GW-NS11H Prism-II PCMCIA 196Proxim Harmony Prism-II PCMCIA 197Proxim RangeLAN-DS Prism-II PCMCIA 198Samsung MagicLAN SWL-2000N Prism-II PCMCIA 199SMC 2602 EZ Connect (3.3V) Prism-II PCI or PCMCIA 200SMC 2632 EZ Connect Prism-II PCMCIA 201Socket Low Power WLAN-CF Prism-II CF 202Sony PCWA-C100 Lucent PCMCIA 203Symbol Spectrum24 Spectrum24 PCMCIA 204Symbol LA-4100 Spectrum24 CF 205TDK LAK-CD011WL Prism-II PCMCIA 206Toshiba Wireless LAN Card Prism-II PCMCIA 207U.S. Robotics Wireless Card 2410 Prism-II PCMCIA 208.El 209.Pp 210Several vendors sell PCI adapters built around the PLX Technology 9050 211or 9052 chip. 212The following such adapters are supported or expected to work: 213.Pp 214.Bl -tag -compact 215.It 3Com AirConnect 3CRWE777A (3.3V) 216.It Belkin F5D6000 (a rebadged WL11000P) 217.It Eumitcom WL11000P 218.It Global Sun Technology GL24110P (untested) 219.It Global Sun Technology GL24110P02 220.It LinkSys WDT11 (a rebadged GL24110P02) 221.It Netgear MA301 222.It US Robotics 2415 (rebadged WL11000P) 223.El 224.Sh EXAMPLES 225The following examples utilize 226.Xr ifconfig 8 227for simplicity, however, 228.Xr wicontrol 8 229can also be used to set wireless parameters. 230.Pp 231Join an existing BSS network (ie: connect to an access point): 232.Pp 233.Dl "ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00" 234.Pp 235Join a specific BSS network with network name 236.Dq Li my_net : 237.Pp 238.Dl "ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net" 239.Pp 240Join a specific BSS network with WEP encryption: 241.Bd -literal -offset indent 242ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \e 243 wepmode on wepkey 0x8736639624 244.Ed 245.Pp 246Join a Lucent legacy demo ad-hoc network with network name 247.Dq Li my_net : 248.Bd -literal -offset indent 249ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \e 250 mediaopt adhoc 251.Ed 252.Pp 253Create an IBSS network with network name 254.Dq Li my_net : 255.Bd -literal -offset indent 256ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \e 257 mediaopt ibss-master 258.Ed 259.Pp 260.Em Note : 261The infrastructure for 262.Cm mediaopt ibss-master 263has not been committed yet. 264.Pp 265Join an IBSS network with network name 266.Dq Li my_net : 267.Bd -literal -offset indent 268ifconfig wi0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \e 269 mediaopt ibss 270.Ed 271.Pp 272.Em Note : 273The infrastructure for 274.Cm mediaopt ibss 275has not been committed yet. 276.Pp 277Create a host-based access point (Prism only): 278.Bd -literal -offset indent 279ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \e 280 mediaopt hostap 281.Ed 282.Pp 283Create a host-based access point with WEP enabled (Prism only): 284.Bd -literal -offset indent 285ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \e 286 wepmode on wepkey 0x1234567890 mediaopt hostap 287.Ed 288.Pp 289Create a host-based wireless bridge to fxp0 (Prism only): 290.Bd -literal -offset indent 291Add BRIDGE to the kernel config. 292ifconfig wi0 inet up ssid my_ap mediaopt hostap 293sysctl net.link.ether.bridge=1 294sysctl net.link.ether.bridge_cfg="wi0 fxp0" 295sysctl net.inet.ip.forwarding=1 296.Ed 297.Pp 298This will give you approximately the same functionality as an access 299point. 300.Sh DIAGNOSTICS 301.Bl -diag 302.It "wi%d: init failed" 303The WaveLAN card failed to come ready after an initialization command 304was issued. 305.It "wi%d: failed to allocate %d bytes on NIC" 306The driver was unable to allocate memory for transmit frames in the 307NIC's on-board RAM. 308.It "wi%d: device timeout" 309The WaveLAN failed to generate an interrupt to acknowledge a transmit 310command. 311.El 312.Sh SEE ALSO 313.Xr an 4 , 314.Xr arp 4 , 315.Xr ifmedia 4 , 316.Xr netintro 4 , 317.Xr polling 4 , 318.Xr ifconfig 8 , 319.Xr wicontrol 8 320.Rs 321.%T HCF Light programming specification 322.%O http://www.wavelan.com 323.Re 324.Sh HISTORY 325The 326.Nm 327device driver first appeared in 328.Fx 3.0 . 329.Sh AUTHORS 330The 331.Nm 332driver was written by 333.An Bill Paul Aq wpaul@ctr.columbia.edu . 334This man page comes from 335.Ox . 336.Sh CAVEATS 337Different regulatory domains have different default channels for adhoc 338mode. 339See 340.Xr ifconfig 8 341for information on how to change the channel. 342See 343.Xr wicontrol 8 344for information on different regulatory domains. 345.Pp 346The Intersil Prism family of chips' host-based access point mode has 347bugs for station firmware versions prior to 0.8.3. 348The driver currently precludes hostap functionality older station 349firmware. 350The best version of the station firmware for the Prism family of chips 351seems to be 1.4.9. 352Some users of Prism-II and 2.5 based cards report that station firmware 353version 1.3.4 works better for them in hostap than 1.4.9. 354Older versions of the Prism station firmware have a number of issues 355with hostap mode. 356The IBSS/adhoc mode appears to work well on station firmware 1.3.1 and 357later. 358The IBSS/adhoc mode appears to have problems for some people with 359older versions of station firmware. 360.Pp 361Lucent cards prior to firmware version 6.0.4 do not support IBSS 362mode. 363These cards support only the pre 802.11 mode known as 364.Dq "demo ad-hoc mode" 365which does not interoperate with stations in IBSS mode. 366.Sh BUGS 367Not all the new messages are documented here, and many of them are 368indications of transient errors that are not indications of serious 369problems. 370.Pp 371WL200 PCI wireless cards are based on a Cirrus Logic CL-PD6729 bridge 372chips glued to an intersil prism-II pcmcia chipset w/o the PC Card 373form factor being present. 374These chips are special and require special care to use properly. 375One must set 376.Va hw.pcic.pd6729_intr_path Ns = Ns Qq Li 2 377in 378.Pa /boot/loader.conf . 379This tells the pccard system to use PCI interrupts for this odd beast. 380It is not possible to know automatically which kind of interrupts to use. 381OLDCARD devices (pcic and card) support this device. 382