WPI(4) | Device Drivers Manual | WPI(4)

# NAME

`wpi` — Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device

# SYNOPSIS

`wpi* at pci?`

# DESCRIPTION

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 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 currently the most secure encryption standard for wireless networks supported by OpenBSD. 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).

# FILES

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).

# EXAMPLES

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

# DIAGNOSTICS

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.

# SEE ALSO

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

# HISTORY

The `wpi` driver first appeared in OpenBSD 4.0.

# AUTHORS

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

March 25, 2025 | Debian