OpenBSD manual page server

Manual Page Search Parameters

WPI(4) Device Drivers Manual WPI(4)

wpiIntel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device

wpi* at pci?

The wpi driver provides support for Intel PRO/Wireless 3945ABG Mini PCI Express network adapters.

These are the modes the wpi driver can operate in:

BSS mode
Also known as mode, this is used when associating with an access point, through which all traffic passes. This mode is the default.
monitor mode
In this mode the driver is able to receive packets without associating with an access point. This disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points.

The wpi driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA-PSK and WPA2-PSK). WPA is the de facto encryption standard for wireless networks. It is strongly recommended that WEP not be used as the sole mechanism to secure wireless communication, due to serious weaknesses in it. The wpi driver offloads both encryption and decryption of unicast data frames to the hardware for the CCMP cipher.

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

The driver needs at least version 3.1 of the following firmware file, which is loaded when an interface is brought up:


This firmware file is not free because Intel refuses to grant distribution rights without contractual obligations. As a result, even though OpenBSD includes the driver, the firmware file cannot be included and users have to download this file on their own.

A prepackaged version of the firmware, designed to be used with pkg_add(1), can be found at:

The following hostname.if(5) example configures wpi0 to join whatever network is available on boot, using WEP key “0x1deadbeef1”, channel 11, obtaining an IP address using DHCP:

dhcp NONE NONE NONE nwkey 0x1deadbeef1 chan 11

Configure wpi0 to join network “my_net” using WPA with passphrase “my_passphrase”:

# ifconfig wpi0 nwid my_net wpakey my_passphrase

Join an existing BSS network, “my_net”:

# ifconfig wpi0 netmask 0xffffff00 nwid my_net

wpi%d: device timeout
A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen.
wpi%d: fatal firmware error
For some reason, the firmware crashed. The driver will reset the hardware. This should not happen.
wpi%d: Radio transmitter is off
The radio transmitter is off and thus no packet can go out. The driver will reset the hardware. Make sure the laptop radio switch is on.
wpi%d: error %d, could not read firmware %s
For some reason, the driver was unable to read the firmware image from the filesystem. The file might be missing or corrupted.
wpi%d: firmware file too short: %d bytes
The firmware image is corrupted and can't be loaded into the adapter.
wpi%d: could not load firmware
An attempt to load the firmware into the adapter failed. The driver will reset the hardware.

pkg_add(1), arp(4), ifmedia(4), intro(4), netintro(4), pci(4), hostname.if(5), ifconfig(8)

The wpi driver was written by Damien Bergamini ⟨⟩.

June 9, 2011 OpenBSD-5.1