BWI(4)

πŸ’– bwi(4) β€” the Broadcom BCM43xx wifi bestie πŸ’–

okay so welcome to the bwi manual page, section 4, from the Kernel Interfaces Manual. yes she's old, yes she's iconic, let's get into it πŸŽ€


✨ NAME ✨

bwi β€” Broadcom BCM43xx IEEE 802.11b/g wireless network driver

like. she is the driver. she does the wifi. that's the whole thing. slay.


✨ SYNOPSIS ✨

bestie if you want this driver baked into your kernel, you gotta drop these lines into your kernel config file:

device bwi
device wlan
device wlan_amrr
device firmware

orrr, if you'd rather load her as a module at boot time, put this in loader.conf(5):

if_bwi_load="YES"
🌸 not optional, not a suggestion β€” every one of those four lines goes in the kernel config, okay? the driver does not work solo.

✨ DESCRIPTION ✨

okay so bwi gives you support for Broadcom BCM43xx based PCI/CardBus network adapters. periodt. πŸ’…

she supports station and monitor mode operation. but here's the tea: only one virtual interface may be configured at any time. one. singular. don't get greedy. and if you wanna know how to actually configure the device, go read ifconfig(8), she'll walk you through it 🫢

also β€” and this is the important bit β€” this driver requires firmware to be loaded before it will work. so you need to install the ports/net/bwi-firmware-kmod port before ifconfig(8) will work. no firmware, no vibes, no wifi. 😭


✨ HARDWARE ✨

the bwi driver supports Broadcom BCM43xx based wireless devices, including:

  • Apple Airport Extreme β€” chip BCM4306, bus PCI, standard b/g
  • Apple Airport Extreme β€” chip BCM4318, bus PCI, standard b/g
  • ASUS WL-100g β€” chip BCM4306, bus CardBus, standard b/g
  • ASUS WL-138g β€” chip BCM4318, bus PCI, standard b/g
  • Buffalo WLI-CB-G54S β€” chip BCM4318, bus CardBus, standard b/g
  • Buffalo WLI-PCI-G54S β€” chip BCM4306, bus PCI, standard b/g
  • Compaq R4035 onboard β€” chip BCM4306, bus PCI, standard b/g
  • Dell Wireless 1390 β€” chip BCM4311, bus Mini PCI, standard b/g
  • Dell Wireless 1470 β€” chip BCM4318, bus Mini PCI, standard b/g
  • Dell Truemobile 1300 r2 β€” chip BCM4306, bus Mini PCI, standard b/g
  • Dell Truemobile 1400 β€” chip BCM4309, bus Mini PCI, standard b/g
  • HP nx6125 β€” chip BCM4319, bus PCI, standard b/g
  • Linksys WPC54G Ver 3 β€” chip BCM4318, bus CardBus, standard b/g
  • Linksys WPC54GS Ver 2 β€” chip BCM4318, bus CardBus, standard b/g
  • TRENDnet TEW-401PCplus β€” chip BCM4306, bus CardBus, standard b/g
  • US Robotics 5411 β€” chip BCM4318, bus CardBus, standard b/g

so bwi uses the older v3 version of Broadcom's firmware. and yeah, that older firmware does support most BCM43xx parts, but lowkey the bwn(4) driver works better for the newer chips it supports. so when do you have to use bwi? when you're on the older Broadcom chipsets β€” that's BCM4301, BCM4303 and BCM4306 rev 2. because the v4 version of the firmware that bwn(4) uses? it does not support those chips. no cap. πŸ’€


✨ EXAMPLES ✨

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

ifconfig wlan create wlandev bwi0 inet 192.168.0.20 \
    netmask 0xffffff00

join a specific BSS network with network name β€œmy_net”:

ifconfig wlan create wlandev bwi0 ssid my_net up

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

ifconfig wlan create wlandev bwi0 ssid my_net \
        wepmode on wepkey 0x1234567890 weptxkey 1 up
πŸ¦‹ copy these exactly bestie, character for character, don't freestyle the backslashes.

✨ SEE ALSO ✨

arp(4), cardbus(4), intro(4), pci(4), wlan(4), wlan_amrr(4), ifconfig(8), wpa_supplicant(8)

go read them. all of them. i'm not kidding. πŸ“šβœ¨


✨ HISTORY ✨

the bwi driver first appeared in FreeBSD 8.0. a legend was born. πŸ‘‘


✨ AUTHORS ✨

the bwi driver was written for DragonFly BSD by Sepherosa Ziehau and subsequently ported to FreeBSD. thank you for your service king πŸ«‘πŸ’–


✨ BUGS ✨

okay so some card based on the BCM4306 and BCM4309 chips do not work properly on channel 1, 2 and 3. that's the whole bug. if your wifi is giving nothing on those channels, that's why, it's not you, it's the firmware 🫠


Debian πŸŽ€ August 7, 2015 β€” that's the version and the date bestie, mwah, drink water, install your firmware, and go touch some grass after you get your wifi working πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from