WI(4) - Device Drivers Manual

WI(4) - Device Drivers Manual #

WI(4) - Device Drivers Manual

NAME #

wi - WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network device

SYNOPSIS #

# all architectures wi* at pci? wi* at pcmcia? function ? wi* at uhub? port ?

# macppc extra attachment wi* at macobio?

DESCRIPTION #

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 interface to the driver.

The wi driver encapsulates all IP and ARP traffic as 802.11 frames, though 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 hardware.

These are the modes the wi driver can operate in:

BSS mode

Also known as infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default.

IBSS mode

Also known as IEEE ad-hoc mode or peer-to-peer mode. This is the standardized method of operating without an access point. Stations associate with a service set. However, actual connections between stations are peer-to-peer as in ad-hoc mode. Cards with very old firmware revisions do not support this mode.

IBSS master

Also know as Host IBSS mode. In this mode the station takes on part of the role of an access point, though traffic does not pass through it to reach the other stations. When a group of stations are operating in IBSS mode, one of them must be the master, specifying the network name of the service set.

Host AP

In this mode the driver acts as an access point (base station) for other cards. Only cards based on the Intersil chipsets support this mode. Furthermore, this mode is not supported on USB devices.

ad-hoc mode

More accurately known as ad-hoc demo mode. This mode does not require an access point; the adapter communicates with other ad-hoc stations within range on a peer-to-peer basis. This mode is not specified by the IEEE 802.11 standard and there may be problems interoperating with adapters manufactured by different vendors.

The wi driver can be configured to use both software and hardware Wired Equivalent Privacy (WEP). It is strongly recommended that WEP not be used as the sole mechanism to secure wireless communication, due to serious weaknesses in it.

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 104-bit keys, the others only accept 40-bit keys. The Lucent WaveLAN/IEEE Bronze cards do not support WEP at all. See also CAVEATS below.

The wi driver can be configured at runtime with ifconfig(8) or on boot with hostname.if(5).

HARDWARE #

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  
Adaptec AWN-8030                      Prism-2.5    PCMCIA  
Addtron AWA-100                       Prism-2      PCI  
Addtron AWP-100                       Prism-2      PCMCIA  
Agere ORiNOCO                         Hermes       PCMCIA  
AirVast WM168b                        Prism-3      USB  
AmbiCom WL1100C-CF                    Prism-3      CF  
Ambit WLAN                            Prism-3      USB  
Apacer Wireless Steno MB112           Prism-3      USB  
Apple Airport                         Hermes       macobio  
ARtem Onair                           Hermes       PCMCIA  
ASUS SpaceLink WL-100                 Prism-2.5    PCMCIA  
ASUS SpaceLink WL-110                 Prism-2.5    CF  
ASUS WL-140                           Prism-3      USB  
Belkin F5D6020 (version 1 only)       Prism-2      PCMCIA  
Belkin F5D6001 (version 1 only)       Prism-2      PCI  
Belkin F5D6060 (version 1 only)       Prism-2.5    CF  
Buffalo AirStation                    Prism-2      PCMCIA  
Buffalo AirStation                    Prism-2      CF  
Cabletron RoamAbout                   Hermes       PCMCIA  
Compaq Agency NC5004                  Prism-2      PCMCIA  
Compaq W100                           Prism-3      USB  
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  
Corega WLUSB-11 Key                   Prism-3      USB  
D-Link DCF-660W                       Prism-2      CF  
D-Link DWL-120 (rev F)                Prism-3      USB  
D-Link DWL-122                        Prism-3      USB  
D-Link DWL-520 (rev A and B only)     Prism-2.5    PCI  
D-Link DWL-650 (rev A1-J3 only)       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 ISL3872                      Prism-3      PCI  
Intersil Prism 2X                     Prism-3      USB  
JVC MP-XP7250                         Prism-3      USB  
Linksys WCF12                         Prism-3      CF  
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  
Longshine 8301                        Prism-2      PCI  
Lucent WaveLAN                        Hermes       PCMCIA  
Melco WLI-USB-KB11                    Prism-3      USB  
Melco WLI-USB-KS11G                   Prism-3      USB  
Melco WLI-USB-S11                     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 (version 1 only)        Prism-3      USB  
Netgear MA311                         Prism-2.5    PCI  
Netgear MA401                         Prism-2      PCMCIA  
Netgear MA401RA                       Prism-2.5    PCMCIA  
Netgear MA701                         Prism-2.5    CF  
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  
Pheenet WL-503IA                      Prism-3      USB  
Planex GW-NS11H                       Prism-3      PCMCIA  
Planex GW-US11H                       Prism-3      USB  
Pretec Compact WLAN OC-WLBXX-A        Prism-2.5    CF  
Proxim Harmony                        Prism-2      PCMCIA  
Proxim RangeLAN-DS                    Prism-2      PCMCIA  
Samsung MagicLAN SWL-2000N            Prism-2      PCMCIA  
Samsung MagicLAN SWL-2210P            Prism-2      PCI  
Senao NL-2511CF                       Prism-3      CF  
Senao NL-2511MP                       Prism-2.5    PCI  
Siemens SpeedStream SS1021            Prism-2      PCMCIA  
Siemens SpeedStream SS1022            Prism-3      USB  
Sitecom WL-022                        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 1120                      Prism-3      USB  
US Robotics 2410                      Prism-2      PCMCIA  
US Robotics 2445                      Prism-2      PCMCIA  
ViewSonic Airsync                     Prism-2.5    USB  
Z-Com XI-725/726                      Prism-2.5    USB  
Z-Com XI-735                          Prism-3      USB  
ZyXEL ZyAIR B-200                     Prism-3      USB

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 16-bit 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)

Addtron AWA-100

Belkin F5D6000 (a rebadged WL11000P)

Eumitcom WL11000P

Global Sun Technology GL24110P (untested)

Global Sun Technology GL24110P02

Linksys WDT11 (a rebadged GL24110P02)

Longshine 8031

Netgear MA301

Siemens/Efficient Networks SpeedStream 1023

US Robotics 2415 (rebadged WL11000P)

EXAMPLES #

The following example scans for available networks:

# ifconfig wi0 scan

The following hostname.if(5) example configures wi0 to join network “mynwid”, using WEP key “mywepkey”, obtaining an IP address using DHCP:

nwid mynwid nwkey mywepkey
inet autoconf

The following hostname.if(5) example creates a host-based access point on boot:

inet 192.168.1.1 255.255.255.0
mediaopt hostap
nwid mynwid nwkey mywepkey

DIAGNOSTICS #

wi0: init failed The WaveLAN card failed to come ready after an initialization command was issued.

wi0: failed to allocate N bytes on NIC The driver was unable to allocate memory for transmit frames in the NIC’s on-board RAM.

wi0: device timeout The WaveLAN failed to generate an interrupt to acknowledge a transmit command.

SEE ALSO #

arp(4), ifmedia(4), intro(4), netintro(4), pci(4), pcmcia(4), usb(4), hostname.if(5), ifconfig(8)

HCF Light programming specification.

HISTORY #

The wi device driver first appeared in FreeBSD 3.0. OpenBSD support was added in OpenBSD 2.6.

AUTHORS #

The wi driver was written by Bill Paul <wpaul@ctr.columbia.edu> and ported to OpenBSD by Niklas Hallqvist <niklas@appli.se>.

CAVEATS #

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 ifconfig(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 unusable with firmware versions prior to 0.8.0 and 1.4.0-1.4.2.

Software WEP is currently only supported in Host AP and BSS modes. Furthermore, software WEP is currently incapable of decrypting fragmented frames. Lucent-based cards using firmware 8.10 and above fragment encrypted frames sent at 11Mbps. To work around this, Lucent clients with this firmware revision connecting to a Host AP server should use a 2Mbps connection or upgrade their firmware to version 8.72.

Host AP mode doesn’t support WDS.

Support for USB devices is buggy. Host AP mode and AP scanning are not currently supported with USB devices.

This driver does not support powersave mode.

OpenBSD 7.5 - July 11, 2022