BWI(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’– bwi πŸ’–

okay bestie, sit down, because we're talking about bwi(4) β€” the Broadcom BCM43xx IEEE 802.11b/g wireless network driver, and it's literally the vintage-thrift-store-find of network drivers. it's in the Kernel Interfaces Manual, and honestly? iconic. πŸŽ€


✨ NAME ✨

bwi β€” the Broadcom BCM43xx IEEE 802.11b/g wireless network driver, no cap. πŸ¦‹


🌸 SYNOPSIS 🌸

so if you wanna compile this driver into the kernel (main character energy, no modules), you drop these lines into your kernel configuration file:

device bwi
device wlan
device wlan_amrr
device firmware

or, if you'd rather load it as a module at boot time β€” lowkey easier ngl β€” put this line in loader.conf(5):

if_bwi_load="YES"

πŸ’… DESCRIPTION πŸ’…

the bwi driver provides support for Broadcom BCM43xx based PCI/CardBus network adapters. periodt. πŸ’œ

it supports station and monitor mode operation. only one virtual interface may be configured at any time β€” so no, you can't have two, that's not the vibe. for more info on configuring this device, see ifconfig(8). 🫢

⚠️ this driver requires firmware to be loaded before it will work. the ports/net/bwi-firmware-kmod port needs to be installed before ifconfig(8) will work. like, it literally will not function without it, so don't come crying to me. 😭

πŸ”₯ HARDWARE πŸ”₯

the bwi driver supports Broadcom BCM43xx based wireless devices, including all of these beauties:

  • 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

the bwi driver uses the older v3 version of Broadcom's firmware. and yeah, while this older firmware does support most BCM43xx parts, the bwn(4) driver works better for the newer chips it supports β€” so if you've got a newer chip, go flirt with bwn(4) instead. but you must use the bwi driver if you are using older Broadcom chipsets (BCM4301, BCM4303 and BCM4306 rev 2). the v4 version of the firmware that bwn(4) uses does not support these chips. soz. πŸ’€


πŸŽ€ EXAMPLES πŸŽ€

join an existing BSS network (i.e., connect to an access point) β€” the classic:

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 (vintage security, be nice to her):

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

🌈 SEE ALSO 🌈

arp(4), cardbus(4), intro(4), pci(4), wlan(4), wlan_amrr(4), ifconfig(8), wpa_supplicant(8) β€” go read them, they're all baddies. πŸ“šπŸ’–


⭐ HISTORY ⭐

the bwi driver first appeared in FreeBSD 8.0. a legend from the jump. πŸ‘‘


🧚 AUTHORS 🧚

the bwi driver was written for DragonFly by Sepherosa Ziehau and subsequently ported to FreeBSD. thank you king, we appreciate you. πŸ™βœ¨


πŸ’€ BUGS πŸ’€

okay so this is the part where we keep it real: some card based on the BCM4306 and BCM4309 chips do not work properly on channel 1, 2 and 3. not ideal, but now you know β€” avoid those channels like you avoid your ex. πŸ™ˆ


and that's the whole page bestie!! this lil beauty came from Debian, dated August 7, 2015, and you were reading BWI(4) β€” go forth and connect responsibly πŸ’…πŸ’–πŸ¦‹

πŸ“¦ where this page comes from