1*565a3eb6Sjmc.\" $OpenBSD: bwi.4,v 1.47 2022/01/05 17:39:24 jmc Exp $ 2c4cb3ac7Smglocker.\" 3c4cb3ac7Smglocker.\" Copyright (c) 2007 Marcus Glocker <mglocker@openbsd.org> 4c4cb3ac7Smglocker.\" 5c4cb3ac7Smglocker.\" Permission to use, copy, modify, and distribute this software for any 6c4cb3ac7Smglocker.\" purpose with or without fee is hereby granted, provided that the above 7c4cb3ac7Smglocker.\" copyright notice and this permission notice appear in all copies. 8c4cb3ac7Smglocker.\" 9c4cb3ac7Smglocker.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10c4cb3ac7Smglocker.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11c4cb3ac7Smglocker.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12c4cb3ac7Smglocker.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13c4cb3ac7Smglocker.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14c4cb3ac7Smglocker.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15c4cb3ac7Smglocker.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16c4cb3ac7Smglocker.\" 17*565a3eb6Sjmc.Dd $Mdocdate: January 5 2022 $ 18c4cb3ac7Smglocker.Dt BWI 4 19c0fdb081Sjmc.Os 20c4cb3ac7Smglocker.Sh NAME 21c4cb3ac7Smglocker.Nm bwi 2282b027a4Smglocker.Nd Broadcom AirForce IEEE 802.11b/g wireless network device 23c4cb3ac7Smglocker.Sh SYNOPSIS 24c4cb3ac7Smglocker.Cd "bwi* at cardbus?" 25c4cb3ac7Smglocker.Cd "bwi* at pci?" 26c4cb3ac7Smglocker.Sh DESCRIPTION 27c4cb3ac7SmglockerThe 28c4cb3ac7Smglocker.Nm 29c4cb3ac7Smglockerdriver provides support for Broadcom AirForce based 30c4cb3ac7SmglockerPCI/Cardbus network adapters. 31c4cb3ac7Smglocker.Pp 32c4cb3ac7SmglockerThese are the modes the 33c4cb3ac7Smglocker.Nm 34c4cb3ac7Smglockerdriver can operate in: 35c4cb3ac7Smglocker.Bl -tag -width "IBSS-masterXX" 36c4cb3ac7Smglocker.It BSS mode 37c4cb3ac7SmglockerAlso known as 38c4cb3ac7Smglocker.Em infrastructure 39c4cb3ac7Smglockermode, this is used when associating with an access point, through 40c4cb3ac7Smglockerwhich all traffic passes. 41c4cb3ac7SmglockerThis mode is the default. 42eb32c07eSmglocker.It monitor mode 43eb32c07eSmglockerIn this mode the driver is able to receive packets without 44eb32c07eSmglockerassociating with an access point. 45eb32c07eSmglockerThis disables the internal receive filter and enables the card to 46eb32c07eSmglockercapture packets from networks which it wouldn't normally have access to, 47eb32c07eSmglockeror to scan for access points. 48c4cb3ac7Smglocker.El 49c4cb3ac7Smglocker.Pp 504f8f8b8bSdamienThe 514f8f8b8bSdamien.Nm 5202974897Sjmcdriver can be configured to use 536ed8ba4bSjmcWired Equivalent Privacy (WEP) or 5423b4b584SsthenWi-Fi Protected Access (WPA1 and WPA2). 5523b4b584SsthenWPA2 is the current encryption standard for wireless networks. 5623b4b584SsthenIt is strongly recommended that neither WEP nor WPA1 5723b4b584Ssthenare used as the sole mechanism to secure wireless communication, 5823b4b584Ssthendue to serious weaknesses. 5923b4b584SsthenWPA1 is disabled by default and may be enabled using the option 6023b4b584Ssthen.Qq Cm wpaprotos Ar wpa1,wpa2 . 6123b4b584SsthenFor standard WPA networks which use pre-shared keys (PSK), 6223b4b584Ssthenkeys are configured using the 6323b4b584Ssthen.Qq Cm wpakey 6423b4b584Ssthenoption. 6523b4b584SsthenWPA-Enterprise networks require use of the wpa_supplicant package. 664f8f8b8bSdamienThe 674f8f8b8bSdamien.Nm 684f8f8b8bSdamiendriver relies on the software 802.11 stack for both encryption and decryption 694f8f8b8bSdamienof data frames. 704f8f8b8bSdamien.Pp 71c4cb3ac7SmglockerThe transmit speed is user-selectable or can be adapted automatically by the 72c4cb3ac7Smglockerdriver depending on the received signal strength and on the number of hardware 73c4cb3ac7Smglockertransmission retries. 74e8a6e26fSjmc.Pp 75c4cb3ac7SmglockerThe 76c4cb3ac7Smglocker.Nm 77c4cb3ac7Smglockerdriver can be configured at runtime with 78c4cb3ac7Smglocker.Xr ifconfig 8 79c4cb3ac7Smglockeror on boot with 80e8a6e26fSjmc.Xr hostname.if 5 . 81c4cb3ac7Smglocker.Sh FILES 82c4cb3ac7SmglockerThe driver needs a firmware file which is loaded when an interface is 83c4cb3ac7Smglockerbrought up: 84c4cb3ac7Smglocker.Pp 85c4cb3ac7Smglocker.Bl -tag -width Ds -offset indent -compact 86c4cb3ac7Smglocker.It Pa /etc/firmware/bwi-airforce 87c4cb3ac7Smglocker.El 88c4cb3ac7Smglocker.\".Pp 89b3956627Sian.\"These firmware files are not free because Broadcom refuses 90c4cb3ac7Smglocker.\"to grant distribution rights. 91c4cb3ac7Smglocker.\"As a result, even though 92c4cb3ac7Smglocker.\".Ox 93c4cb3ac7Smglocker.\"includes the driver, the firmware files cannot be included and 94c4cb3ac7Smglocker.\"users have to download these files on their own. 95c4cb3ac7Smglocker.Pp 961e06dbebSsthenA prepackaged version of the firmware can be installed using 97*565a3eb6Sjmc.Xr fw_update 8 . 98c4cb3ac7Smglocker.Sh HARDWARE 99c4cb3ac7SmglockerThe following cards are among those supported by the 100c4cb3ac7Smglocker.Nm 101c4cb3ac7Smglockerdriver: 102e324319bSjmc.Bl -column "TRENDnet TEW-401PCplus" "BCM4306" "CardBus" "Standard" -offset 6n 103e324319bSjmc.It Em Card Ta Em Chip Ta Em Bus Ta Em Standard 104e324319bSjmc.It "Apple Airport Extreme" Ta BCM4306 Ta PCI Ta b/g 105e324319bSjmc.It "Apple Airport Extreme" Ta BCM4318 Ta PCI Ta b/g 106e324319bSjmc.It "ASUS WL-138g" Ta BCM4318 Ta PCI Ta b/g 107e324319bSjmc.It "Buffalo WLI-CB-G54" Ta BCM4306 Ta CardBus Ta b/g 108e324319bSjmc.It "Compaq R4035 onboard" Ta BCM4306 Ta PCI Ta b/g 109e324319bSjmc.It "HP nx6125" Ta BCM4319 Ta PCI Ta b/g 110e324319bSjmc.It "Linksys WPC54G Ver 3" Ta BCM4318 Ta CardBus Ta b/g 111e324319bSjmc.It "Linksys WPC54GS Ver 2" Ta BCM4318 Ta CardBus Ta b/g 112e324319bSjmc.It "TRENDnet TEW-401PCplus" Ta BCM4306 Ta CardBus Ta b/g 113e324319bSjmc.It "US Robotics 5411" Ta BCM4318 Ta CardBus Ta b/g 114c4cb3ac7Smglocker.El 115c4cb3ac7Smglocker.Sh EXAMPLES 116f0f562a5SjmcThe following example scans for available networks: 117f0f562a5Sjmc.Pp 118f0f562a5Sjmc.Dl # ifconfig bwi0 scan 119f0f562a5Sjmc.Pp 120c4cb3ac7SmglockerThe following 121c4cb3ac7Smglocker.Xr hostname.if 5 122f0f562a5Sjmcexample configures bwi0 to join network 123f0f562a5Sjmc.Dq mynwid , 124f0f562a5Sjmcusing WPA key 125f0f562a5Sjmc.Dq mywpakey , 126f0f562a5Sjmcobtaining an IP address using DHCP: 127c4cb3ac7Smglocker.Bd -literal -offset indent 128d09093c1Sknjoin mynwid wpakey mywpakey 129b6ef1ff8Skninet autoconf 130c4cb3ac7Smglocker.Ed 131c4cb3ac7Smglocker.Sh SEE ALSO 132c4cb3ac7Smglocker.Xr arp 4 , 133c4cb3ac7Smglocker.Xr cardbus 4 , 134c4cb3ac7Smglocker.Xr ifmedia 4 , 135c4cb3ac7Smglocker.Xr intro 4 , 136c4cb3ac7Smglocker.Xr netintro 4 , 137c4cb3ac7Smglocker.Xr pci 4 , 138c4cb3ac7Smglocker.Xr hostname.if 5 , 139880bc910Smglocker.\".Xr hostapd 8 , 140e37f152cSjmc.Xr ifconfig 8 141c4cb3ac7Smglocker.Sh HISTORY 142c4cb3ac7SmglockerThe 143c4cb3ac7Smglocker.Nm 144c4cb3ac7Smglockerdriver first appeared in 145c4cb3ac7Smglocker.Ox 4.3 . 146c4cb3ac7Smglocker.Sh AUTHORS 147c4cb3ac7Smglocker.An -nosplit 148c4cb3ac7SmglockerThe 149c4cb3ac7Smglocker.Nm 150f3aae59aSschwarzedriver was written for 151f3aae59aSschwarze.Dx 152f3aae59aSschwarzeby 153f3aae59aSschwarze.An Sepherosa Ziehau 154f3aae59aSschwarzeand ported to 155064fb3b5Sjmc.Ox 156c4cb3ac7Smglockerby 157c4cb3ac7Smglocker.An Jonathan Gray 158c4cb3ac7Smglockerand 159c4cb3ac7Smglocker.An Marcus Glocker . 16050f7cc07Smglocker.Sh CAVEATS 16150f7cc07SmglockerSome chips are incorrectly calibrated due to the lack of documentation, 1629a7109acSjmcwhich can slow the amount of traffic to the point of being unusable. 16350f7cc07SmglockerFurthermore this driver only supports firmware version 3. 164abf2c0f4Sjmc.Pp 165598fcf32SmglockerThe BCM4331 chip isn't supported by this driver but the driver disables 166598fcf32Smglockerthe chip if detected, since some buggy EFI revisions found in 2011-2012 167598fcf32SmglockerMacs leave the chip enabled, causing it to emit spurious interrupts when 168598fcf32Smglockerthe shared interrupt line is enabled. 169598fcf32Smglocker.Pp 170abf2c0f4SjmcThis driver does not support powersave mode. 171