---
name: "bwn"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bwn"
---

# bwn(4)

Broadcom BCM43xx SoftMAC IEEE 802.11 wireless network driver

## NAME

**bwn** – Broadcom BCM43xx SoftMAC IEEE 802.11 wireless network driver

## SYNOPSIS

To compile this driver into the kernel, add the following lines to the kernel configuration file:

**device bwn** **device bhnd** **device bhndb** **device bhndb\_pci** **device bcma** **device siba** **device gpio** **device wlan** **device wlan\_amrr** **device firmware**

To load the driver as a module at boot, add the following lines to [loader.conf(5)](/loader.conf/5.md):

```
if_bwn_load="YES"
```

## DESCRIPTION

The **bwn** driver provides support for Broadcom BCM43xx based PCI/CardBus network adapters.

It supports **station** and **monitor** mode operation. Only one virtual interface may be configured at any time. For more information on configuring this device, see [ifconfig(8)](/ifconfig/8.md).

This driver requires firmware to be loaded before it will work. The *ports/net/bwn-firmware-kmod* port needs to be installed before [ifconfig(8)](/ifconfig/8.md) will work. In most cases the *bwn\_v4\_ucode* kernel module from the port should be used. However, if an LP (low power) PHY is being used, the *bwn\_v4\_lp\_ucode* module should be used.

## HARDWARE

The **bwn** driver supports Broadcom BCM43xx based wireless devices, including:

| | | | |
| --- | --- | --- | --- |
| *Card* | *Chip* | *Bus* | *Standard* |
| Apple Airport Extreme | BCM4318 | PCI | b/g |
| ASUS WL-138g | BCM4318 | PCI | b/g |
| Buffalo WLI-CB-G54S | BCM4318 | CardBus | b/g |
| Dell Wireless 1390 | BCM4311 | Mini PCI | b/g |
| Dell Wireless 1470 | BCM4318 | Mini PCI | b/g |
| Dell Truemobile 1400 | BCM4309 | Mini PCI | b/g |
| HP Compaq 6715b | BCM4312 | 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 |
| US Robotics 5411 | BCM4318 | CardBus | b/g |

Users of older Broadcom chipsets (BCM4301, BCM4303 and BCM4306 rev 2) must use [bwi(4)](/bwi/4.md) because the v4 version of the firmware does not support these chips. The newer firmware is too big to fit into these old chips.

## EXAMPLES

Join an existing BSS network (i.e., connect to an access point):

```
ifconfig wlan create wlandev bwn0 inet 192.168.0.20 \
    netmask 0xffffff00
```

Join a specific BSS network with network name “my\_net”:

```
ifconfig wlan create wlandev bwn0 ssid my_net up
```

Join a specific BSS network with 64-bit WEP encryption:

```
ifconfig wlan create wlandev bwn0 ssid my_net \
        wepmode on wepkey 0x1234567890 weptxkey 1 up
```

## LOADER TUNABLES

Tunables can be set at the [loader(8)](/loader/8.md) prompt before booting the kernel or stored in [loader.conf(5)](/loader.conf/5.md).

- *hw.bwn.usedma*

  This tunable enables DMA operations on the hardware. If the value is 0, PIO mode would be used. The default value is 1.

## SEE ALSO

[arp(4)](/arp/4.md), [bcma(4)](/bcma/4.md), [bhnd(4)](/bhnd/4.md), [bhndb(4)](/bhndb/4.md), [bwi(4)](/bwi/4.md), [cardbus(4)](/cardbus/4.md), [intro(4)](/intro/4.md), [pci(4)](/pci/4.md), [siba(4)](/siba/4.md), [wlan(4)](/wlan/4.md), [wlan\_amrr(4)](/wlan_amrr/4.md), [ifconfig(8)](/ifconfig/8.md), [wpa\_supplicant(8)](/wpa_supplicant/8.md)

## HISTORY

The **bwn** driver first appeared in FreeBSD 8.1. The driver was updated to support the common Broadcom [bhnd(4)](/bhnd/4.md) bus interface in FreeBSD 12.0.

## AUTHORS

The **bwn** driver was written by Weongyo Jeong ⟨*weongyo@FreeBSD.org*⟩. Support for [bhnd(4)](/bhnd/4.md) was added by Landon Fuller ⟨*landonf@FreeBSD.org*⟩.

## CAVEATS

Some LP PHY devices have DMA operation problems that in that case try to use PIO mode.
