BWFM(4)

NAME
bwfm - Broadcom and Cypress IEEE 802.11a/ac/ax/b/g/n wireless network device

SYNOPSIS
bwfm* at pci?
bwfm* at sdmmc?
bwfm* at usb?

DESCRIPTION
The bwfm driver provides support for Broadcom and Cypress FullMAC wireless network adapters.

The following table summarizes supported chipsets and their capabilities, as well as the bus attachments recognized by the bwfm driver:
Chipset | Spectrum | Type | MIMO | Bus
BCM43143 | 2GHz | 11n | 1x1 | SDMMC/USB
BCM43236 | 2GHz/5GHz | 11n | 2x2 | USB
BCM4324 | 2GHz/5GHz | 11n | 2x2 | SDMMC
BCM43242 | 2GHz/5GHz | 11n | 2x2 | USB
BCM4329 | 2GHz/5GHz | 11n | 2x2 | SDMMC
BCM4330 | 2GHz/5GHz | 11n | 2x2 | SDMMC
BCM4334 | 2GHz/5GHz | 11n | 2x2 | SDMMC
BCM43340 | 2GHz/5GHz | 11n | 1x1 | SDMMC
BCM43341 | 2GHz/5GHz | 11n | 1x1 | SDMMC
BCM4335 | 2GHz/5GHz | 11ac | 1x1 | SDMMC
BCM43362 | 2GHz | 11n | 1x1 | SDMMC
BCM43364 | 2GHz | 11n | 1x1 | SDMMC
BCM4339 | 2GHz/5GHz | 11ac | 1x1 | SDMMC
BCM43430 | 2GHz | 11n | 1x1 | SDMMC
BCM43455 | 2GHz/5GHz | 11ac | 1x1 | SDMMC
BCM43456 | 2GHz/5GHz | 11ac | 2x2 | SDMMC
BCM4350 | 2GHz/5GHz | 11ac | 2x2 | PCI
BCM4354 | 2GHz/5GHz | 11ac | 2x2 | SDMMC
BCM4356 | 2GHz/5GHz | 11ac | 2x2 | PCI/SDMMC
BCM43569 | 2GHz/5GHz | 11ac | 2x2 | USB
BCM43602 | 2GHz/5GHz | 11ac | 3x3 | PCI
BCM4371 | 2GHz/5GHz | 11ac | 2x2 | PCI
BCM4378 | 2GHz/5GHz | 11ax | 2x2 | PCI
BCM4387 | 2GHz/5GHz | 11ax | 2x2 | PCI

These are the modes the bwfm 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.

Host AP
    In this mode the driver acts as an access point (base station) for other cards.

The bwfm 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 bwfm driver relies on the software 802.11 stack for the WPA handshake. Both encryption and decryption of data frames are handled by the firmware.

The firmware automatically selects the transmit speed and the channel depending on the received signal strength.

The bwfm 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 the driver attaches. A prepackaged version of the firmware can be installed using fw_update(8).

EXAMPLES
The following example scans for available networks:

    # ifconfig bwfm0 scan

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

    nwid mynwid wpakey mywpakey
    inet autoconf

The following hostname.if(5) example creates a host-based access point on boot:

    mediaopt hostap
    nwid mynwid wpakey mywpakey
    inet 192.168.1.1 255.255.255.0

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

HISTORY
The bwfm driver first appeared in OpenBSD 6.3.

AUTHORS
-nosplit The bwfm driver was written by Patrick Wildt <patrick@blueri.se>.

CAVEATS
The firmware is outdated and contains known vulnerabilities.