xref: /freebsd/share/man/man4/ath.4 (revision b032f27c365b992e9d8e42214183b39acfb8c6ac)
1cf8faa80SSam Leffler.\"-
2b032f27cSSam Leffler.\" Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
3cf8faa80SSam Leffler.\" All rights reserved.
4cf8faa80SSam Leffler.\""
5cf8faa80SSam Leffler.\" Redistribution and use in source and binary forms, with or without
6cf8faa80SSam Leffler.\" modification, are permitted provided that the following conditions
7cf8faa80SSam Leffler.\" are met:
8cf8faa80SSam Leffler.\" 1. Redistributions of source code must retain the above copyright
9cf8faa80SSam Leffler.\"    notice, this list of conditions and the following disclaimer,
10cf8faa80SSam Leffler.\"    without modification.
11cf8faa80SSam Leffler.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
12cf8faa80SSam Leffler.\"    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
13cf8faa80SSam Leffler.\"    redistribution must be conditioned upon including a substantially
14cf8faa80SSam Leffler.\"    similar Disclaimer requirement for further binary redistribution.
15cf8faa80SSam Leffler.\"
16cf8faa80SSam Leffler.\" NO WARRANTY
17cf8faa80SSam Leffler.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18cf8faa80SSam Leffler.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19cf8faa80SSam Leffler.\" LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
20cf8faa80SSam Leffler.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21cf8faa80SSam Leffler.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22cf8faa80SSam Leffler.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23cf8faa80SSam Leffler.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24cf8faa80SSam Leffler.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25cf8faa80SSam Leffler.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26cf8faa80SSam Leffler.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27cf8faa80SSam Leffler.\" THE POSSIBILITY OF SUCH DAMAGES.
28cf8faa80SSam Leffler.\"
29cf8faa80SSam Leffler.\" $FreeBSD$
30cf8faa80SSam Leffler.\"/
31b032f27cSSam Leffler.Dd April 13, 2008
32cf8faa80SSam Leffler.Dt ATH 4
33cf8faa80SSam Leffler.Os
34cf8faa80SSam Leffler.Sh NAME
35cf8faa80SSam Leffler.Nm ath
363c9bf41dSChristian Brueffer.Nd "Atheros IEEE 802.11 wireless network driver"
37cf8faa80SSam Leffler.Sh SYNOPSIS
3816d78bb8STom RhodesTo compile this driver into the kernel,
3916d78bb8STom Rhodesplace the following lines in your
4090296834STom Rhodeskernel configuration file:
4186e3186eSTom Rhodes.Bd -ragged -offset indent
42cf8faa80SSam Leffler.Cd "device ath"
4310626faeSHiten Pandya.Cd "device ath_hal"
44aa2fce50SSam Leffler.Cd "device ath_rate_sample"
4510626faeSHiten Pandya.Cd "device wlan"
4686e3186eSTom Rhodes.Ed
4786e3186eSTom Rhodes.Pp
4816d78bb8STom RhodesAlternatively, to load the driver as a
4916d78bb8STom Rhodesmodule at boot time, place the following line in
5086e3186eSTom Rhodes.Xr loader.conf 5 :
5186e3186eSTom Rhodes.Bd -literal -offset indent
5286e3186eSTom Rhodesif_ath_load="YES"
5386e3186eSTom Rhodes.Ed
54cf8faa80SSam Leffler.Sh DESCRIPTION
55cf8faa80SSam LefflerThe
56cf8faa80SSam Leffler.Nm
57cf8faa80SSam Lefflerdriver provides support for wireless network adapters based on
5878ad5421SRuslan Ermilovthe Atheros AR5210, AR5211, and AR5212 programming APIs.
59b032f27cSSam LefflerThese APIs are used by a wide variety of chips; most all chips with
60aa2fce50SSam Lefflera PCI and/or CardBus interface are supported.
61cf8faa80SSam LefflerChip-specific support is provided by the Atheros Hardware Access Layer
62cf8faa80SSam Leffler(HAL), that is packaged separately.
63cf8faa80SSam Leffler.Pp
64cf8faa80SSam LefflerSupported features include 802.11 and 802.3 frames, power management, BSS,
65cf8faa80SSam LefflerIBSS, and host-based access point operation modes.
66cf8faa80SSam LefflerAll host/device interaction is via DMA.
67cf8faa80SSam Leffler.Pp
68cf8faa80SSam LefflerThe
69cf8faa80SSam Leffler.Nm
70cf8faa80SSam Lefflerdriver encapsulates all IP and ARP traffic as 802.11 frames, however
71cf8faa80SSam Lefflerit can receive either 802.11 or 802.3 frames.
72cf8faa80SSam LefflerTransmit speed and operating mode is selectable
7391d89945SChristian Bruefferand depends on the specific chipset.
7459ddccc6SChristian BruefferAR5210-based devices support 802.11a operation with transmit speeds
75cf8faa80SSam Lefflerof 6 Mbps, 9 Mbps, 12 Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, and 54 Mbps.
76cf8faa80SSam LefflerAR5211-based devices support 802.11a and 802.11b operation with transmit
77cf8faa80SSam Lefflerspeeds as above for 802.11a operation and
78cf8faa80SSam Leffler1Mbps, 2Mbps, 5.5 Mbps and 11Mbps for 802.11b operation.
79cf8faa80SSam LefflerAR5212-based devices support 802.11a, 802.11b, and 802.11g operation
80cf8faa80SSam Lefflerwith transmit speeds appropriate to each.
81aa2fce50SSam LefflerMost chips also support an Atheros Turbo Mode (TM) that operates in
82014be7fbSSam Lefflerthe 5Ghz frequency range with 2x the transmit speeds.
83aa2fce50SSam LefflerSome chips also support Turbo mode in the 2.4Ghz range with 802.11g
84aa2fce50SSam Lefflerthough this support is not presently available due to regulatory requirements.
85aa2fce50SSam Leffler(Note that Turbo modes are, however,
86aa2fce50SSam Leffleronly interoperable with other Atheros-based devices.)
87cf8faa80SSam LefflerThe actual transmit speed used is dependent on signal quality and the
88702d4fc4SRuslan Ermilov.Dq "rate control"
89702d4fc4SRuslan Ermilovalgorithm employed by the driver.
90cf8faa80SSam LefflerAll chips support WEP encryption.
91014be7fbSSam LefflerThe AR5212 has hardware support for the AES-CCM, TKIP, and Michael cryptographic
92014be7fbSSam Leffleroperations required for WPA.
93cf8faa80SSam LefflerTo enable encryption, use
94cf8faa80SSam Leffler.Xr ifconfig 8
95cf8faa80SSam Leffleras shown below.
96cf8faa80SSam Leffler.Pp
97b032f27cSSam LefflerThe driver supports
98b032f27cSSam Leffler.Cm station ,
99b032f27cSSam Leffler.Cm adhoc ,
100b032f27cSSam Leffler.Cm adhoc-demo ,
101b032f27cSSam Leffler.Cm hostap ,
102b032f27cSSam Leffler.Cm wds ,
103b032f27cSSam Lefflerand
104b032f27cSSam Leffler.Cm monitor
105b032f27cSSam Lefflermode operation.
106b032f27cSSam LefflerMultiple
107b032f27cSSam Leffler.Cm hostap
108b032f27cSSam Lefflervirtual interfaces may be configured for simultaneous
109b032f27cSSam Leffleruse on cards that use a 5212 part.
110b032f27cSSam LefflerWhen multiple interfaces are configured each may have a separate
111b032f27cSSam Lefflermac address that is formed by setting the U/L bits in the mac
112b032f27cSSam Leffleraddress assigned to the underlying device.
113b032f27cSSam LefflerAny number of
114b032f27cSSam Leffler.Cm wds
115b032f27cSSam Lefflervirtual interfaces may be configured together with
116b032f27cSSam Leffler.Cm hostap
117b032f27cSSam Lefflerinterfaces.
118b032f27cSSam LefflerMultiple
119b032f27cSSam Leffler.Cm station
120b032f27cSSam Lefflerinterfaces may be operated together with
121b032f27cSSam Leffler.Cm hostap
122b032f27cSSam Lefflerinterfaces to construct a wireless repeater device.
123cf8faa80SSam LefflerFor more information on configuring this device, see
124cf8faa80SSam Leffler.Xr ifconfig 8 .
125cf8faa80SSam Leffler.Pp
126cf8faa80SSam LefflerDevices supported by the
127cf8faa80SSam Leffler.Nm
128cf8faa80SSam Lefflerdriver come in either Cardbus or mini-PCI packages.
129cf8faa80SSam LefflerWireless cards in Cardbus slots may be inserted and ejected on the fly.
13071d4b49aSSimon L. B. Nielsen.Sh HARDWARE
131ab7350b7SGiorgos KeramidasThe
132ab7350b7SGiorgos Keramidas.Nm
133b032f27cSSam Lefflerdriver supports most Atheros Cardbus or PCI cards,
134ab7350b7SGiorgos Keramidasexcept those that are based on the AR5005VL chipset.
135b032f27cSSam LefflerMore recent parts may require a hal that is not part of
136b032f27cSSam Leffler.Fb .
1376ac5e06cSGiorgos Keramidas.Pp
1386ac5e06cSGiorgos KeramidasA list of cards that are supported can be found at
1392ad8718dSRuslan Ermilov.Pa http://customerproducts.atheros.com/customerproducts/default.asp .
140cf8faa80SSam Leffler.Sh EXAMPLES
141cf8faa80SSam LefflerJoin an existing BSS network (ie: connect to an access point):
142cf8faa80SSam Leffler.Pp
143cf8faa80SSam Leffler.Dl "ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00"
144cf8faa80SSam Leffler.Pp
145cf8faa80SSam LefflerJoin a specific BSS network with network name
146cf8faa80SSam Leffler.Dq Li my_net :
147cf8faa80SSam Leffler.Pp
148cf8faa80SSam Leffler.Dl "ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net"
149cf8faa80SSam Leffler.Pp
150cf8faa80SSam LefflerJoin a specific BSS network with WEP encryption:
151cf8faa80SSam Leffler.Bd -literal -offset indent
152b032f27cSSam Lefflerifconfig wlan0 create wlandev ath0
153b032f27cSSam Lefflerifconfig wlan0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \e
154cf8faa80SSam Leffler	wepmode on wepkey 0x8736639624
155cf8faa80SSam Leffler.Ed
156cf8faa80SSam Leffler.Pp
157cf8faa80SSam LefflerJoin/create an 802.11b IBSS network with network name
158cf8faa80SSam Leffler.Dq Li my_net :
159cf8faa80SSam Leffler.Bd -literal -offset indent
160b032f27cSSam Lefflerifconfig wlan0 create wlandev ath0 wlanmode adhoc
161b032f27cSSam Lefflerifconfig wlan0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \e
162b032f27cSSam Leffler	mode 11b
163cf8faa80SSam Leffler.Ed
164cf8faa80SSam Leffler.Pp
165cf8faa80SSam LefflerCreate an 802.11g host-based access point:
166cf8faa80SSam Leffler.Bd -literal -offset indent
167b032f27cSSam Lefflerifconfig wlan0 create wlandev ath0 wlanmode hostap
168b032f27cSSam Lefflerifconfig wlan0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \e
169b032f27cSSam Leffler	mode 11g
170cf8faa80SSam Leffler.Ed
171cf8faa80SSam Leffler.Pp
172b032f27cSSam LefflerCreate two virtual 802.11a host-based access points, one with
173b032f27cSSam Lefflerwith WEP enabled and one with no security, and bridge them to
174b032f27cSSam Lefflerthe fxp0 (wired) device:
175cf8faa80SSam Leffler.Bd -literal -offset indent
176b032f27cSSam Lefflerifconfig wlan0 create wlandev ath0 wlanmode hostap \e
177b032f27cSSam Leffler	ssid paying-customers wepmode on wepkey 0x1234567890 \e
178b032f27cSSam Leffler	mode 11a up
179b032f27cSSam Lefflerifconfig wlan1 create wlandev ath0 wlanmode hostap bssid \e
180b032f27cSSam Leffler	ssid freeloaders up
181b032f27cSSam Lefflerifconfig bridge0 create addm wlan0 addm wlan1 addm fxp0 up
182cf8faa80SSam Leffler.Ed
183cf8faa80SSam Leffler.Sh DIAGNOSTICS
184cf8faa80SSam Leffler.Bl -diag
185cf8faa80SSam Leffler.It "ath%d: unable to attach hardware; HAL status %u"
186cf8faa80SSam LefflerThe Atheros Hardware Access Layer was unable to configure the hardware
187cf8faa80SSam Leffleras requested.
188cf8faa80SSam LefflerThe status code is explained in the HAL include file
189cf8faa80SSam Leffler.Pa sys/contrib/dev/ath/ah.h .
190cf8faa80SSam Leffler.It "ath%d: failed to allocate descriptors: %d"
191cf8faa80SSam LefflerThe driver was unable to allocate contiguous memory for the transmit
19259ddccc6SChristian Bruefferand receive descriptors.
193cf8faa80SSam LefflerThis usually indicates system memory is scarce and/or fragmented.
194cf8faa80SSam Leffler.It "ath%d: unable to setup a data xmit queue!"
195cf8faa80SSam LefflerThe request to the HAL to set up the transmit queue for normal
196cf8faa80SSam Lefflerdata frames failed.
197cf8faa80SSam LefflerThis should not happen.
198cf8faa80SSam Leffler.It "ath%d: unable to setup a beacon xmit queue!"
199cf8faa80SSam LefflerThe request to the HAL to set up the transmit queue for 802.11 beacon frames
200cf8faa80SSam Lefflerframes failed.
201cf8faa80SSam LefflerThis should not happen.
202cf8faa80SSam Leffler.It "ath%d: 802.11 address: %s"
203cf8faa80SSam LefflerThe MAC address programmed in the EEPROM is displayed.
204cf8faa80SSam Leffler.It "ath%d: hardware error; resetting"
205cf8faa80SSam LefflerAn unrecoverable error in the hardware occurred.
206cf8faa80SSam LefflerErrors of this sort include unrecoverable DMA errors.
207cf8faa80SSam LefflerThe driver will reset the hardware and continue.
208cf8faa80SSam Leffler.It "ath%d: rx FIFO overrun; resetting"
209cf8faa80SSam LefflerThe receive FIFO in the hardware overflowed before the data could be
210cf8faa80SSam Lefflertransferred to the host.
211cf8faa80SSam LefflerThis typically occurs because the hardware ran short of receive
212cf8faa80SSam Lefflerdescriptors and had no place to transfer received data.
213cf8faa80SSam LefflerThe driver will reset the hardware and continue.
214cf8faa80SSam Leffler.It "ath%d: unable to reset hardware; hal status %u"
215cf8faa80SSam LefflerThe Atheros Hardware Access Layer was unable to reset the hardware
216cf8faa80SSam Leffleras requested.
217cf8faa80SSam LefflerThe status code is explained in the HAL include file
218cf8faa80SSam Leffler.Pa sys/contrib/dev/ath/ah.h .
219cf8faa80SSam LefflerThis should not happen.
220cf8faa80SSam Leffler.It "ath%d: unable to start recv logic"
221cf8faa80SSam LefflerThe driver was unable to restart frame reception.
222cf8faa80SSam LefflerThis should not happen.
223cf8faa80SSam Leffler.It "ath%d: device timeout"
224cf8faa80SSam LefflerA frame dispatched to the hardware for transmission did not complete in time.
225cf8faa80SSam LefflerThe driver will reset the hardware and continue.
226d562e82bSHideyuki KURASHINAThis should not happen.
227cf8faa80SSam Leffler.It "ath%d: bogus xmit rate 0x%x"
228cf8faa80SSam LefflerAn invalid transmit rate was specified for an outgoing frame.
229cf8faa80SSam LefflerThe frame is discarded.
230cf8faa80SSam LefflerThis should not happen.
231cf8faa80SSam Leffler.It "ath%d: ath_chan_set: unable to reset channel %u (%u Mhz)"
232cf8faa80SSam LefflerThe Atheros Hardware Access Layer was unable to reset the hardware
233cf8faa80SSam Lefflerwhen switching channels during scanning.
234cf8faa80SSam LefflerThis should not happen.
235cf8faa80SSam Leffler.It "ath%d: unable to allocate channel table"
236cf8faa80SSam LefflerThe driver was unable to allocate memory for the table used to hold
237cf8faa80SSam Lefflerthe set of available channels.
238cf8faa80SSam Leffler.It "ath%d: unable to collect channel list from hal"
239cf8faa80SSam LefflerA problem occurred while querying the HAL to find the set of available
240cf8faa80SSam Lefflerchannels for the device.
241cf8faa80SSam LefflerThis should not happen.
242cf8faa80SSam Leffler.It "ath%d: failed to enable memory mapping"
243cf8faa80SSam LefflerThe driver was unable to enable memory-mapped I/O to the PCI device registers.
244cf8faa80SSam LefflerThis should not happen.
245cf8faa80SSam Leffler.It "ath%d: failed to enable bus mastering"
246cf8faa80SSam LefflerThe driver was unable to enable the device as a PCI bus master for doing DMA.
247cf8faa80SSam LefflerThis should not happen.
248cf8faa80SSam Leffler.It "ath%d: cannot map register space"
249cf8faa80SSam LefflerThe driver was unable to map the device registers into the host address space.
250cf8faa80SSam LefflerThis should not happen.
251cf8faa80SSam Leffler.It "ath%d: could not map interrupt"
252cf8faa80SSam LefflerThe driver was unable to allocate an IRQ for the device interrupt.
253cf8faa80SSam LefflerThis should not happen.
254cf8faa80SSam Leffler.It "ath%d: could not establish interrupt"
255cf8faa80SSam LefflerThe driver was unable to install the device interrupt handler.
256cf8faa80SSam LefflerThis should not happen.
257cf8faa80SSam Leffler.El
258cf8faa80SSam Leffler.Sh SEE ALSO
259cf8faa80SSam Leffler.Xr ath_hal 4 ,
260b032f27cSSam Leffler.Xr intro 4 ,
261b032f27cSSam Leffler.Xr cardbus 4 ,
262cf8faa80SSam Leffler.Xr pcic 4 ,
263cf8faa80SSam Leffler.Xr wlan 4 ,
264b032f27cSSam Leffler.Xr wlan_ccmp 4 ,
265b032f27cSSam Leffler.Xr wlan_tkip 4 ,
266b032f27cSSam Leffler.Xr wlan_wep 4 ,
267b032f27cSSam Leffler.Xr wlan_xauth 4 ,
268b032f27cSSam Leffler.Xr hostapd 8 ,
269cf8faa80SSam Leffler.Xr ifconfig 8 ,
270b032f27cSSam Leffler.Xr wpa_supplicant 8 .
271cf8faa80SSam Leffler.Sh HISTORY
272cf8faa80SSam LefflerThe
273cf8faa80SSam Leffler.Nm
274cf8faa80SSam Lefflerdevice driver first appeared in
275cf8faa80SSam Leffler.Fx 5.2 .
276cf8faa80SSam Leffler.Sh CAVEATS
277cf8faa80SSam LefflerDifferent regulatory domains have different default channels for adhoc
278cf8faa80SSam Lefflermode.
279cf8faa80SSam LefflerSee
280cf8faa80SSam Leffler.Xr ifconfig 8
281cf8faa80SSam Lefflerfor information on how to change the channel.
2827d43c8c9SWarner LoshDifferent regulatory domains may not be able to communicate with each
283c48524c2SMike Pritchardother with 802.11a as different regulatory domains do not necessarily
2847d43c8c9SWarner Loshhave overlapping channels.
285c6316a61SStefan Eßer.Pp
286c6316a61SStefan EßerRevision A1 of the D-LINK DWL-G520 and DWL-G650 are based on an
287c6316a61SStefan EßerIntersil PrismGT chip and are not supported by this driver.
288cf8faa80SSam Leffler.Sh BUGS
289cf8faa80SSam LefflerThere is no software retransmit; only hardware retransmit is used.
290cf8faa80SSam Leffler.Pp
291b032f27cSSam LefflerThe driver does not fully enable power-save operation of the chip
292b032f27cSSam Lefflerin station mode; consequently power use is suboptimal (e.g. on a laptop).
293aa2fce50SSam Leffler.Pp
294aa2fce50SSam LefflerWPA is not supported for 5210 parts.
295