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 (WPA1 and WPA2). WPA2 is the current encryption standard for wireless networks. It is strongly recommended that neither WEP nor WPA1 are used as the sole mechanism to secure wireless communication, due to serious weaknesses. WPA1 is disabled by default and may be enabled using the option "wpaprotos wpa1,wpa2". For standard WPA networks which use pre-shared keys (PSK), keys are configured using the "wpakey" option. WPA-Enterprise networks require use of the wpa_supplicant package. The wpi driver offloads both encryption and decryption of unicast data frames to the hardware for the CCMP cipher.

In BSS mode, the driver supports powersave mode, which can be enabled via ifconfig(8).

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:

/etc/firmware/wpi-3945abg
 

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 can be installed using fw_update(8).

The following example scans for available networks:

# ifconfig wpi0 scan

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

join mynwid wpakey mywpakey
inet autoconf

wpi0: 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.
wpi0: fatal firmware error
For some reason, the firmware crashed. The driver will reset the hardware. This should not happen.
wpi0: 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.
wpi0: error N, could not read firmware ...
For some reason, the driver was unable to read the firmware image from the filesystem. The file might be missing or corrupted.
wpi0: firmware file too short: N bytes
The firmware image is corrupted and can't be loaded into the adapter.
wpi0: could not load firmware
An attempt to load the firmware into the adapter failed. The driver will reset the hardware.

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

The wpi driver first appeared in OpenBSD 4.0.

The wpi driver was written by Damien Bergamini <damien.bergamini@free.fr>.

January 5, 2022 OpenBSD-7.4