| BWFM(4) | Device Drivers Manual | BWFM(4) |
bwfm — Broadcom
and Cypress IEEE 802.11a/ac/ax/b/g/n wireless network device
bwfm* at pci?
bwfm* at sdmmc?
bwfm* at usb?
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:
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).
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).
The following example scans for available networks:
# ifconfig bwfm0 scanThe 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
arp(4), ifmedia(4), intro(4), netintro(4), pci(4), usb(4), hostname.if(5), ifconfig(8)
The bwfm driver first appeared in
OpenBSD 6.3.
The bwfm driver was written by
Patrick Wildt
<patrick@blueri.se>.
The firmware is outdated and contains known vulnerabilities.
| March 27, 2025 | openbsd |