BWI(4) - Device Drivers Manual

BWI(4) - Device Drivers Manual #

BWI(4) - Device Drivers Manual

NAME #

bwi - Broadcom AirForce IEEE 802.11b/g wireless network device

SYNOPSIS #

bwi* at cardbus? bwi* at pci?

DESCRIPTION #

The bwi driver provides support for Broadcom AirForce based PCI/Cardbus network adapters.

These are the modes the bwi 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 bwi 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 bwi driver relies on the software 802.11 stack for both encryption and decryption of data frames.

The transmit speed is user-selectable or can be adapted automatically by the driver depending on the received signal strength and on the number of hardware transmission retries.

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

FILES #

The driver needs a firmware file which is loaded when an interface is brought up:

/etc/firmware/bwi-airforce

A prepackaged version of the firmware can be installed using fw_update(8).

HARDWARE #

The following cards are among those supported by the bwi driver:

*Card*                    *Chip*     *Bus*      *Standard*  
Apple Airport Extreme     BCM4306    PCI        b/g  
Apple Airport Extreme     BCM4318    PCI        b/g  
ASUS WL-138g              BCM4318    PCI        b/g  
Buffalo WLI-CB-G54        BCM4306    CardBus    b/g  
Compaq R4035 onboard      BCM4306    PCI        b/g  
HP nx6125                 BCM4319    PCI        b/g  
Linksys WPC54G Ver 3      BCM4318    CardBus    b/g  
Linksys WPC54GS Ver 2     BCM4318    CardBus    b/g  
TRENDnet TEW-401PCplus    BCM4306    CardBus    b/g  
US Robotics 5411          BCM4318    CardBus    b/g

EXAMPLES #

The following example scans for available networks:

# ifconfig bwi0 scan

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

join mynwid wpakey mywpakey
inet autoconf

SEE ALSO #

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

HISTORY #

The bwi driver first appeared in OpenBSD 4.3.

AUTHORS #

The bwi driver was written for DragonFly by Sepherosa Ziehau and ported to OpenBSD by Jonathan Gray and Marcus Glocker.

CAVEATS #

Some chips are incorrectly calibrated due to the lack of documentation, which can slow the amount of traffic to the point of being unusable. Furthermore this driver only supports firmware version 3.

The BCM4331 chip isn’t supported by this driver but the driver disables the chip if detected, since some buggy EFI revisions found in 2011-2012 Macs leave the chip enabled, causing it to emit spurious interrupts when the shared interrupt line is enabled.

This driver does not support powersave mode.

OpenBSD 7.5 - January 5, 2022