atw.4 revision 1.25
$OpenBSD: atw.4,v 1.25 2007/05/31 19:19:49 jmc Exp $
$NetBSD: atw.4,v 1.8 2004/06/06 04:05:49 wiz Exp $

Copyright (c) 2003
David Young <dyoung@NetBSD.org>. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the author nor the names of any co-contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY David Young AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL David Young
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

.Dd $Mdocdate$ .Dt ATW 4 .Os .Sh NAME .Nm atw .Nd ADMtek ADM8211 IEEE 802.11b wireless network device .Sh SYNOPSIS .Cd "atw* at cardbus?" .Cd "atw* at pci?" .Sh DESCRIPTION The .Nm driver supports PCI/CardBus 802.11b wireless adapters based on the ADMtek ADM8211.

p The ADM8211 is a bus-mastering 802.11 Media Access Controller (MAC) which is derived from ADMtek's DEC/Intel 21143 clones (see .Xr dc 4 for more information). It supports contention-free traffic (with an 802.11 Point Coordinator). The ADM8211 integrates an RF3000 baseband processor (BBP) by RF Microdevices.

p In a typical application, the ADM8211 is coupled with an RF front-end by RFMD and a Silicon Laboratories Si4126 RF/IF synthesizer.

p With the ADM8211, the division of labor between the host and NIC is different than with firmware-based NICs such as .Xr an 4 , .Xr awi 4 , and .Xr wi 4 . The ADM8211 is still responsible for real-time 802.11 functions such as sending ACK/RTS/CTS/ATIM frames, sending beacons, and answering CF polls from the access point, but the host takes responsibility for providing 802.11 functions such as scanning, association, and authentication. The host is also responsible for programming both the BBP and the RF/IF synthesizer.

p These are the modes the .Nm driver can operate in: l -tag -width "IBSS-masterXX" t BSS mode Also known as .Em infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default. t IBSS mode Also known as .Em IEEE ad-hoc mode or .Em peer-to-peer mode. This is the standardized method of operating without an access point. Stations associate with a service set. However, actual connections between stations are peer-to-peer. .El

p .Nm supports hardware WEP (though see .Sx BUGS below). Wired Equivalent Privacy (WEP) is the de facto encryption standard for wireless networks. It can be typically configured in one of three modes: no encryption; 40-bit encryption; or 104-bit encryption. Unfortunately, due to serious weaknesses in WEP protocol it is strongly recommended that it not be used as the sole mechanism to secure wireless communication. WEP is not enabled by default. .Sh CONFIGURATION The .Nm driver can be configured at runtime with .Xr ifconfig 8 or on boot with .Xr hostname.if 5 using the following parameters: l -tag -width Ds t Cm bssid Ar bssid Set the desired BSSID. t Fl bssid Unset the desired BSSID. The interface will automatically select a BSSID in this mode, which is the default. t Cm chan Ar n Set the channel (radio frequency) to be used by the driver based on the given channel ID .Ar n . t Fl chan Unset the desired channel to be used by the driver. The driver will automatically select a channel in this mode, which is the default. t Cm media Ar media The .Nm driver supports the following .Ar media types:

p l -tag -width autoselect -compact t Cm autoselect Enable autoselection of the media type and options. t Cm DS1 Set 802.11b DS 1Mbps operation. t Cm DS2 Set 802.11b DS 2Mbps operation. t Cm DS5 Set 802.11b DS 5.5Mbps operation. t Cm DS11 Set 802.11b DS 11Mbps operation. .El t Cm mediaopt Ar opts The .Nm driver supports the following media options:

p l -tag -width monitor -compact t Cm ibss Select IBSS operation. .El t Fl mediaopt Ar opts Disable the specified media options on the driver and return it to the default mode of operation (BSS). t Cm nwid Ar id Set the network ID. The .Ar id can either be any text string up to 32 characters in length, or a series of hexadecimal digits up to 64 digits. An empty .Ar id string allows the interface to connect to any available access points. By default the .Nm driver uses an empty string. Note that network ID is synonymous with Extended Service Set ID (ESSID). t Fl nwid Set the network ID to the empty string to allow the interface to connect to any available access point. t Cm nwkey Ar key Enable WEP encryption using the specified .Ar key . The .Ar key can either be a string, a series of hexadecimal digits (preceded by .Sq 0x ) , or a set of keys of the form .Dq n:k1,k2,k3,k4 , where .Sq n specifies which of the keys will be used for transmitted packets, and the four keys, .Dq k1 through .Dq k4 , are configured as WEP keys. If a set of keys is specified, a comma

q Sq , within the key must be escaped with a backslash. Note that if multiple keys are used, their order must be the same within the network. .Nm is capable of using both 40-bit (5 characters or 10 hexadecimal digits) or 104-bit (13 characters or 26 hexadecimal digits) keys. t Fl nwkey Disable WEP encryption. This is the default mode of operation. t Cm nwkey persist Enable WEP encryption with the persistent key stored in the network card. t Cm nwkey persist : Ns Ar key Write .Ar key to the persistent memory of the network card, and enable WEP encryption using that key. .El .Sh HARDWARE The .Nm driver supports PCI and CardBus cards using revisions 0x11 and 0x15 of the ADM8211 (aka ADM8211A) and revision 0x20 (aka ADM8211B). This includes:

p l -tag -width Ds -offset indent -compact t 3Com OfficeConnect 3CRSHPW796 CardBus t Belkin F5D6001 PCI (version 2 only) t Blitz NetWave Point CardBus t D-Link DWL-650 Rev. L1 CardBus t D-Link DWL-520 Rev. C1 PCI t LanReady WP2000 PCI t SMC 2635W CardBus (version 1 only) t TRENDnet TEW-221PC CardBus t Xterasys XN2511B PCI .El

p The .Nm driver does not yet support cards using revision 0x30 (ADM8211C). This includes:
.Pp
.Bl -tag -width Ds -offset indent -compact
.El
.Sh EXAMPLES The following .Xr hostname.if 5 example configures atw0 to join whatever network is available on boot, using WEP key .Dq 0x1deadbeef1 , channel 11, obtaining an IP address using DHCP: d -literal -offset indent dhcp NONE NONE NONE nwkey 0x1deadbeef1 chan 11 .Ed

p Configure atw0 for WEP, using hex key .Dq 0x1deadbeef1 : d -literal -offset indent # ifconfig atw0 nwkey 0x1deadbeef1 .Ed

p Return atw0 to its default settings: d -literal -offset indent # ifconfig atw0 -bssid -chan media autoselect \e nwid "" -nwkey .Ed

p Join an existing BSS network, .Dq my_net : d -literal -offset indent # ifconfig atw0 192.168.1.1 netmask 0xffffff00 nwid my_net .Ed .Sh DIAGNOSTICS l -diag t "atw0: failed to tune channel %d" The driver failed to tune the radio to a new channel. The radio remains tuned to the old channel. t "atw0: atw_si4136_write wrote %08x, SYNCTL still busy" The driver waited 100ms without seeing an indication that the ADM8211 had finished writing a register on the Si4126 RF/IF synthesizer. t "atw0: device timeout" The ADM8211 failed to generate an interrupt to acknowledge a transmit command. .El .Sh SEE ALSO .Xr arp 4 , .Xr cardbus 4 , .Xr ifmedia 4 , .Xr intro 4 , .Xr netintro 4 , .Xr pci 4 , .Xr hostname.if 5 , .Xr ifconfig 8 .Rs .%T ADMtek .%O http://www.admtek.com.tw .Re .Rs .%T Silicon Laboratories .%O http://www.silabs.com .Re .Rs .%T RF Micro Devices .%O http://www.rfmd.com .Re .Sh HISTORY The .Nm device driver first appeared in .Ox 3.6 . .Sh AUTHORS .An -nosplit The .Nm driver was written by .An David Young .Aq dyoung@NetBSD.org . For features which the ADM8211 has in common with the DECchip 21x4x, code was liberally borrowed from the .Nx tlp driver by .An Jason Thorpe .Aq thorpej@NetBSD.org . .Sh BUGS The author does not fully understand what processing the duration fields for the PLCP header and the 802.11 header undergo before they are applied to a transmitted frame. If the duration fields in transmitted frames are incorrect, network performance may suffer.

p The driver does not provide rate control when the media type is set to autoselect.

p The driver lets you change to Host AP mode, but it does not work and it probably never will.

p The driver will sometimes complain that it cannot re-tune the radio because the transmit process has not gone idle. The author is investigating.

p Many features are still missing, especially WEP decryption and 802.11 power-saving.

p The ad-hoc mode has not been rigorously tested. IBSSs with the same SSID may not coalesce, but this should not matter for most applications.

p The driver is untested in the ad-hoc demo mode of Lucent WaveLAN cards.

p The ADM8211 supports 802.11 power-saving; however, .Nm does not support it yet. For time-bounded service, the ADM8211 will interoperate with an access point which implements the 802.11 Point Coordination Function; however, this is also not supported.

p Combinations of an ADM8211 with either an Intersil or a Marvell RF front-end are not supported.

p .Nm contains incomplete support for the ADM8211's WEP encryption/decryption engine. .Nm does not yet support hardware WEP decryption; however, it will use the ADM8211's crypto engine to encrypt transmitted frames. Documentation from ADMtek claims that, in addition to the 4 104-bit shared WEP keys, the ADM8211 will store WEP key pairs for up to 20 peers. The documentation provides no details, hence .Nm does not support the 20 key-pairs.