Manual browser: wpi(4)

WPI(4) Kernel Interfaces Manual WPI(4)


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


wpi* at pci? dev ? function ?


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 infrastructure 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 to which it wouldn't normally have access, or to scan for access points.

wpi supports software WEP. Wired Equivalent Privacy (WEP) is the de facto encryption standard for wireless networks. It can be typically configured in one of three modes: no encryption; 40-bit encryption; or 104-bit encryption. Unfortunately, due to serious weaknesses in the WEP protocol it is strongly recommended that it not be used as the sole mechanism to secure wireless communication. WEP is not enabled by default.


The wpi driver can be configured at runtime with ifconfig(8) using the following parameters:
bssid bssid
Set the desired BSSID.
Unset the desired BSSID. The interface will automatically select a BSSID in this mode, which is the default.
chan n
Set the channel (radio frequency) to be used by the driver based on the given channel ID n.
Unset the desired channel to be used by the driver. The driver will automatically select a channel in this mode, which is the default.
media media
The wpi driver supports the following media types:

Enable autoselection of the media type and options.
mediaopt opts
The wpi driver supports the following media options:

Select monitor mode.
-mediaopt opts
Disable the specified media options on the driver and return it to the default mode of operation (BSS).
mode mode
The wpi driver supports the following modes:

Force 802.11a operation.
Force 802.11b operation.
Force 802.11g operation.
nwid id
Set the network ID. The id can either be any text string up to 32 characters in length, or a series of hexadecimal digits up to 64 digits. An empty id string allows the interface to connect to any available access points. By default the wpi driver uses an empty string. Note that network ID is synonymous with Extended Service Set ID (ESSID).
nwkey key
Enable WEP encryption using the specified key. The key can either be a string, a series of hexadecimal digits (preceded by ‘0x’), or a set of keys of the form “n:k1,k2,k3,k4”, where ‘n’ specifies which of the keys will be used for transmitted packets, and the four keys, “k1” through “k4”, are configured as WEP keys. If a set of keys is specified, a comma (‘,’) within the key must be escaped with a backslash. Note that if multiple keys are used, their order must be the same within the network. wpi is capable of using both 40-bit (5 characters or 10 hexadecimal digits) or 104-bit (13 characters or 26 hexadecimal digits) keys.
Disable WEP encryption. This is the default mode of operation.


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



# ifconfig wpi0 nwkey 0x1deadbeef1

Return wpi0 to its default settings:

# ifconfig wpi0 -bssid -chan media autoselect \ 
	nwid "" -nwkey

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: could not read firmware file
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.


On some laptops the radio transmitter button must be pushed twice to get the driver working, or you will get a wpi%d: fatal firmware error when the interface will be set to up


The wpi driver was originally written by Damien Bergamini <>. NetBSD porting was done by Jean-Baptiste Campesato <>.
October 14, 2012 NetBSD 7.0