BWN(4)
β¨ BWN(4) β¨ β the Broadcom BCM43xx SoftMAC IEEE 802.11 wireless network driver, bestie edition π
okay so you found a Broadcom BCM43xx PCI/CardBus wifi card and you want it to work, and that's where bwn comes in. literally the whole vibe. let's get into it π«Ά
π SYNOPSIS π
so if you want this driver baked into your kernel (main character energy), you add these lines to your kernel config file, periodt:
device bwn
device bhnd
device bhndb
device bhndb_pci
device bcma
device siba
device gpio
device wlan
device wlan_amrr
device firmware
and if you'd rather load it as a module at boot instead, no cap, you add this to loader.conf(5):
if_bwn_load="YES"
πΈ DESCRIPTION πΈ
the bwn driver provides support for Broadcom BCM43xx based PCI/CardBus network adapters. it's giving "your old laptop can have wifi again" β¨
it supports station and monitor mode operation. only one virtual interface may be configured at any time β that's the rule, bestie, don't fight it. for more info on configuring this device, see ifconfig(8).
π¨ important: this driver requires firmware to be loaded before it will work. theports/net/bwn-firmware-kmodport needs to be installed beforeifconfig(8)will work. don't skip this step or you'll be sad π
in most cases the bwn_v4_ucode kernel module from the port should be used. however β and this is the part people miss β if an LP (low power) PHY is being used, the bwn_v4_lp_ucode module should be used. iykyk π
π¦ HARDWARE π¦
the bwn driver supports Broadcom BCM43xx based wireless devices, including these iconic legends:
- Apple Airport Extreme β chip
BCM4318, busPCI, standardb/g - ASUS WL-138g β chip
BCM4318, busPCI, standardb/g - Buffalo WLI-CB-G54S β chip
BCM4318, busCardBus, standardb/g - Dell Wireless 1390 β chip
BCM4311, busMini PCI, standardb/g - Dell Wireless 1470 β chip
BCM4318, busMini PCI, standardb/g - Dell Truemobile 1400 β chip
BCM4309, busMini PCI, standardb/g - HP Compaq 6715b β chip
BCM4312, busPCI, standardb/g - HP nx6125 β chip
BCM4319, busPCI, standardb/g - Linksys WPC54G Ver 3 β chip
BCM4318, busCardBus, standardb/g - Linksys WPC54GS Ver 2 β chip
BCM4318, busCardBus, standardb/g - US Robotics 5411 β chip
BCM4318, busCardBus, standardb/g
π real talk: users of older Broadcom chipsets (BCM4301,BCM4303andBCM4306 rev 2) must usebwi(4)because the v4 version of the firmware does not support these chips. the newer firmware is too big to fit into these old chips β physically doesn't fit, not a skill issue, just physics π
π EXAMPLES π
join an existing BSS network (i.e., connect to an access point) β the classic move:
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 (yes we're doing WEP, it's vintage, don't @ me):
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) prompt before booting the kernel or stored in loader.conf(5). very flexible, we love options π
hw.bwn.usedmaβ this tunable enables DMA operations on the hardware. if the value is0, PIO mode would be used. the default value is1. slay.
π SEE ALSO π
arp(4), bcma(4), bhnd(4), bhndb(4), bwi(4), cardbus(4), intro(4), pci(4), siba(4), wlan(4), wlan_amrr(4), ifconfig(8), wpa_supplicant(8) β go read these, fr fr, they're the supporting cast π«Ά
π§ HISTORY π§
the bwn driver first appeared in FreeBSD 8.1. the driver was updated to support the common Broadcom bhnd(4) bus interface in FreeBSD 12.0. glow-up era β¨
π AUTHORS π
the bwn driver was written by Weongyo Jeong <weongyo@FreeBSD.org>. support for bhnd(4) was added by Landon Fuller <landonf@FreeBSD.org>. icons, both of them π
π₯ CAVEATS π₯
some LP PHY devices have DMA operation problems β and in that case, try to use PIO mode. that's the workaround, bestie, it's giving "just make it work" energy π
π this page is from the Debian edition, dated December 16, 2017 β yes it's old, no we don't care, it's still iconic. mwah π
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 2009 Christian Brueffer
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms