BWFM(4) | Device Drivers Manual | 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

The `bwfm` driver was written by Patrick Wildt <patrick@blueri.se>.

# CAVEATS

The firmware is outdated and contains known vulnerabilities.

March 27, 2025 | Debian