MirBSD manpage: wi(4)
WI(4) BSD Programmer's Manual WI(4)
wi - WaveLAN/IEEE, PRISM 2-3 and Spectrum24 802.11DS wireless network
driver
# all architectures
wi* at pci? dev ? function ?
wi* at pcmcia? function ?
wi* at uhub? port ?
# macppc extra attachment
wi* at macobio?
The wi driver provides support for wireless network adapters based around
the Lucent Hermes, Intersil PRISM-2, Intersil PRISM-2.5, Intersil PRISM-3
and Symbol Spectrum24 chipsets. All five chipsets provide a similar in-
terface to the driver.
All host/device interaction is via programmed I/O. Supported features in-
clude 802.11 and 802.3 frames, power management, BSS, IBSS, WDS and ad-
hoc operation modes. Cards based on the Intersil chips also support a
host-based access point mode which allows a card to act as a normal ac-
cess point (with some assistance from the wi driver). The Lucent Hermes
and Symbol Spectrum24 chipsets do not contain this functionality.
The wi driver encapsulates all IP and ARP traffic as 802.11 frames, how-
ever it can receive either 802.11 or 802.3 frames. Transmit speed is
selectable between 1Mbps fixed, 2Mbps fixed, 2Mbps with auto fallback,
5.5Mbps, 8Mbps, or 11Mbps depending on your hardware. The Lucent
WaveLAN/IEEE Silver and Gold cards as well as the Intersil and Symbol
cards have support for WEP encryption. The WaveLAN Gold as well as newer
Intersil and Symbol cards support 104bit keys, the others only accept
40bit keys. The Lucent WaveLAN/IEEE Bronze cards do not support WEP at
all. To enable encryption, use the wicontrol(8) utility to set your keys,
or use ifconfig(8) as shown below.
By default, the wi driver configures the card for BSS operation (aka in-
frastructure mode). This mode requires the use of an access point (base
station).
The wi driver also supports an ad-hoc (point-to-point) mode where the
nwid is ignored and stations can communicate amongst themselves without
the aid of an access point. Note that there are two possible ad-hoc
modes. One mode, referred to as "ad-hoc demo mode", predates the IEEE
802.11 specification and so may not interoperate with cards from other
vendors. The standardized ad-hoc mode, also known as IBSS mode, is not
supported by cards with very old firmware revisions.
Cards based on the Intersil chipsets also have a host-based access point
mode which allows the card to act as an access point (base station).
For more information on configuring this device, see ifconfig(8).
Cards supported by the wi driver come in a variety of packages, though
the most common are of the PCMCIA type. In many cases, the PCI version of
a wireless card is simply a PCMCIA card bundled with a PCI adapter. The
PCI adapters come in two flavors: true PCMCIA bridges and dumb PCMCIA
bridges. A true PCMCIA bridge (such as those sold by Lucent) will attach
as a real PCMCIA controller. The wireless card will then attach to the
PCMCIA bus. Wireless cards in PCMCIA slots may be inserted and ejected on
the fly.
A dumb bridge, on the other hand, does not show up as a true PCMCIA bus.
The wireless card will simply appear to the host as a normal PCI device
and will not require any PCMCIA support. Cards in this type of adapter
should only be removed when the machine is powered down.
The following cards are among those supported by the wi driver:
Card Chip Bus
_________________________________________________________
3Com AirConnect 3CRWE737A Spectrum24 PCMCIA
3Com AirConnect 3CRWE777A Prism-2 PCI
Acer Warplink USB-400 Prism-3 USB
Actiontec HWC01170 Prism-2.5 PCMCIA
Actiontec HWU01170 Prism-3 USB
Addtron AWP-100 Prism-2 PCMCIA
Agere Orinoco Hermes PCMCIA
Apple Airport Hermes macobio
Buffalo AirStation Prism-2 PCMCIA
Buffalo AirStation Prism-2 CF
Cabletron RoamAbout Hermes PCMCIA
Compaq Agency NC5004 Prism-2 PCMCIA
Contec FLEXLAN/FX-DS110-PCC Prism-2 PCMCIA
Corega PCC-11 Prism-2 PCMCIA
Corega PCCA-11 Prism-2 PCMCIA
Corega PCCB-11 Prism-2 PCMCIA
Corega CGWLPCIA11 Prism-2 PCI
Corega WLUSB-11 Prism-3 USB
Dlink DWL520 Prism-2.5 PCI
Dlink DWL650 Prism-2.5 PCMCIA
ELSA XI300 Prism-2 PCMCIA
ELSA XI325 Prism-2.5 PCMCIA
ELSA XI325H Prism-2.5 PCMCIA
ELSA XI800 Prism-2 CF
EMTAC A2424i Prism-2 PCMCIA
Ericsson Wireless LAN CARD C11 Spectrum24 PCMCIA
Gemtek WL-311 Prism-2.5 PCMCIA
Hawking Technology WE110P Prism-2.5 PCMCIA
I-O DATA WN-B11/PCM Prism-2 PCMCIA
I-O DATA WN-B11/USB Prism-3 USB
Intel PRO/Wireless 2011 Spectrum24 PCMCIA
Intel PRO/Wireless 2011B Prism-3 USB
Intersil Prism II Prism-2 PCMCIA
Intersil Mini-PCI Prism-2.5 PCI
Intersil Prism 2X Prism-3 USB
JVC MP-XP7250 Prism-3 USB
Linksys Instant Wireless WPC11 Prism-2 PCMCIA
Linksys Instant Wireless WPC11 2.5 Prism-2.5 PCMCIA
Linksys Instant Wireless WPC11 3.0 Prism-3 PCMCIA
Linksys WUSB11 v3.0 Prism-3 USB
Linksys WUSB12 Prism-3 USB
Lucent WaveLAN Hermes PCMCIA
Melco WLI-USB-KS11G Prism-3 USB
MicroSoft MN510 Prism-3 USB
MicroSoft MN520 Prism-2.5 PCMCIA
NANOSPEED ROOT-RZ2000 Prism-2 PCMCIA
NDC/Sohoware NCP130 Prism-2 PCI
NEC CMZ-RT-WP Prism-2 PCMCIA
Netgear MA111 Prism-3 USB
Netgear MA311 Prism-2.5 PCI
Netgear MA401 Prism-2 PCMCIA
Netgear MA401RA Prism-2.5 PCMCIA
Nokia C020 Wireless LAN Prism-I PCMCIA
Nokia C110/C111 Wireless LAN Prism-2 PCMCIA
Nortel E-mobility 211818-A Spectrum24 PCI
NTT-ME 11Mbps Wireless LAN Prism-2 PCMCIA
Proxim Harmony Prism-2 PCMCIA
Proxim RangeLAN-DS Prism-2 PCMCIA
Samsung MagicLAN SWL-2000N Prism-2 PCMCIA
Siemens SpeedStream SS1021 Prism-2 PCMCIA
Siemens SpeedStream SS1022 Prism-3 USB
SMC 2632 EZ Connect Prism-2 PCMCIA
Symbol Spectrum24 Spectrum24 PCMCIA
Symbol LA4123 Spectrum24 PCI
Syntax USB-400 Prism-3 USB
TDK LAK-CD011WL Prism-2 PCMCIA
US Robotics 2410 Prism-2 PCMCIA
US Robotics 2445 Prism-2 PCMCIA
Note that some of the PRISM-II adapters only work at 3.3V, hence
cardbus(4) support is required for those cards to set VCC correctly, even
though they are really 16bit cards.
USB support is still experimental and the device may stop functioning
during normal use. Resetting the device by configuring the interface down
and back up again will normally reactivate it.
Several vendors sell PCI adapters built around the PLX Technology 9050 or
9052 chip. The following such adapters are supported or expected to work:
3Com AirConnect 3CRWE777A (3.3V)
Belkin F5D6000 (a rebadged WL11000P)
Eumitcom WL11000P
Global Sun Technology GL24110P (untested)
Global Sun Technology GL24110P02
LinkSys WDT11 (a rebadged GL24110P02)
Netgear MA301
US Robotics 2415 (rebadged WL11000P)
Siemens/Efficient Networks SpeedStream 1023
The following examples utilize ifconfig(8) for simplicity, however,
wicontrol(8) can also be used to set wireless parameters.
Join an existing BSS network (ie: connect to an access point):
# ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00
Join a specific BSS network with network name "my_net":
# ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 nwid my_net
Join a specific BSS network with WEP encryption:
# ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 nwid my_net \
nwkey 0x8736639624
Join an ad-hoc network with network name "my_net":
# ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 nwid my_net \
mediaopt adhoc
Create an IBBS network with network name "my_net":
# ifconfig wi0 inet 192.168.0.20 netmask 0xffffff00 nwid my_net \
mediaopt ibss-master
Join an IBBS network with network name "my_net":
# ifconfig wi0 inet 192.168.0.22 netmask 0xffffff00 nwid my_net \
mediaopt ibss
Create a host-based access point (Prism only):
# ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 nwid my_ap \
mediaopt hostap
Create a host-based access point with WEP enabled (Prism only):
# ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 nwid my_ap \
nwkey 0x1234567890 mediaopt hostap
Create a host-based wireless bridge to fxp0 (Prism only):
# ifconfig wi0 inet up nwid my_ap mediaopt hostap
# brconfig bridge0 add fxp0 add wi0 up
The following examples utilize wicontrol(8) to set options not supported
by ifconfig(8).
Enable software-based WEP (Prism only, see CAVEATS below):
# wicontrol wi0 -x 1
Hide the SSID of a HostAP server (Prism only, requires firmware >= 1.6.3)
# wicontrol wi0 -E 3
Note that when setting options via wicontrol(8) in a hostname.if(5) file
(e.g. /etc/hostname.wi0), the wicontrol(8) commands should be specified
first.
The following hostname.if(5) example will set the channel to 11, enable
software WEP, and turn on enhanced security (SSID hiding) before confi-
guring the interface as a host-based access point:
!/sbin/wicontrol \$if -f 11 -x 1 -E 3
inet 192.168.1.1 255.255.255.0 NONE nwid my_net \
nwkey 0x8736639624 mediaopt hostap
Note that the line beginning with "inet" has been split for readability.
wi%d: init failed The WaveLAN card failed to come ready after an ini-
tialization command was issued.
wi%d: failed to allocate %d bytes on NIC The driver was unable to allo-
cate memory for transmit frames in the NIC's on-board RAM.
wi%d: device timeout The WaveLAN failed to generate an interrupt to ack-
nowledge a transmit command.
an(4), arp(4), ifmedia(4), intro(4), macobio(4), netintro(4), pci(4),
pcmcia(4), usb(4), hostname.if(5), ifconfig(8), wicontrol(8)
HCF Light programming specification, http://www.wavelan.com.
The wi device driver first appeared in FreeBSD 3.0. OpenBSD support was
added in OpenBSD 2.6.
The wi driver was written by Bill Paul <wpaul@ctr.columbia.edu> and port-
ed to OpenBSD by
Niklas Hallqvist <niklas@appli.se>.
The original Lucent WaveLAN cards usually default to channel 3; newer
cards use channel 10 by default. Non-Lucent cards vary, for instance the
Addtron cards use channel 11 by default. See wicontrol(8) for information
on how to change the channel.
Not all 3.3V wi PCMCIA cards work.
IBSS creation does not currently work with Symbol cards.
The host-based access point mode on the Intersil PRISM cards has bugs
when used with firmware versions prior to 0.8.3 and is completely unus-
able with firmware versions prior to 0.8.0 and 1.4.0-1.4.2.
Software WEP is currently only supported in HostAP and BSS modes. Furth-
ermore, Software WEP is currently incapable of decrypting fragmented
frames. Lucent-based cards using firmware 8.10 and above fragment en-
crypted frames sent at 11Mbps. To work around this, Lucent clients with
this firmware revision connecting to a HostAP server should use a 2Mbps
connection or upgrade their firmware to version 8.72.
HostAP mode doesn't support WDS or power saving. Clients attempting to
use power saving mode may experience significant packet loss (disabling
power saving on the client will fix this).
Support for USB devices is buggy. HostAP mode and AP scanning are not
currently supported with USB devices.
MirBSD #10-current March 23, 2004 4