home | help
ATH(4)			     Kernel Interfaces Manual			  ATH(4)

NAME
     ath -- Atheros IEEE 802.11 driver

SYNOPSIS
     device ath
     device ath_hal
     device wlan

DESCRIPTION
     The  ath driver provides support for wireless network adapters based on the
     Atheros AR5210, AR5211, and AR5212 chips.	Chip-specific  support	is  pro-
     vided  by	the  Atheros Hardware Access Layer (HAL), that is packaged sepa-
     rately.

     Supported features include 802.11 and 802.3 frames, power management,  BSS,
     IBSS,  and host-based access point operation modes.  All host/device inter-
     action is via DMA.

     The ath driver encapsulates all IP and ARP traffic as 802.11  frames,  how-
     ever  it can receive either 802.11 or 802.3 frames.  Transmit speed and op-
     erating mode is selectable depending on your  hardware.   AR5210-based  de-
     vices  support 802.11a operation with transmit speeds of 6 Mbps, 9 Mbps, 12
     Mbps, 18 Mbps, 24 Mbps, 36 Mbps, 48 Mbps, and 54  Mbps.   AR5211-based  de-
     vices  support  802.11a and 802.11b operation with transmit speeds as above
     for 802.11a operation and 1Mbps, 2Mbps, 5.5 Mbps and 11Mbps for 802.11b op-
     eration.  AR5212-based devices support 802.11a, 802.11b, and 802.11g opera-
     tion with transmit speeds appropriate to each.  All chips also  support  an
     Atheros  Turbo  Mode (TM) that operates in the 802.11a frequency range with
     2x the transmit speeds.  (This mode is, however,  only  interoperable  with
     other  Atheros-based devices.)  The actual transmit speed used is dependent
     on signal quality and the ``rate control'' algorithm employed by  the  dri-
     ver.  All chips support WEP encryption.  AR5211 and AR5212 support the AES,
     TKIP,  and  Michael  cryptographic  operations required for WPA but at this
     time the driver does not support them.  To enable	encryption,  use  ifcon-
     fig(8) as shown below.

     By  default,  the ath driver configures the card for BSS operation (aka in-
     frastructure mode).  This mode requires the use of an  access  point  (base
     station).

     The  ath  driver  also supports the standard IBSS point-to-point mode where
     stations can communicate amongst themselves without the aid  of  an  access
     point.

     The  driver may also be configured to operate in hostap mode.  In this mode
     a host may function as an access point (base station).  Access  points  are
     different than operating in IBSS mode.  They operate in BSS mode.	They al-
     low  for  easier roaming and bridge all ethernet traffic such that machines
     connected via an access point appear to be on the local ethernet segment.

     For more information on configuring this device, see ifconfig(8).

     Devices supported by the ath driver come  in  either  Cardbus  or	mini-PCI
     packages.	 Wireless  cards in Cardbus slots may be inserted and ejected on
     the fly.

     The following cards are among those supported by the ath driver:

     Card		  Chip	    Bus        Standard
     Aztech WL830PC	  AR5212    CardBus    b/g
     D-Link DWL-A650	  AR5210    CardBus    a
     D-Link DWL-AB650	  AR5211    CardBus    a/b
     D-Link DWL-A520	  AR5210    PCI        a
     D-Link DWL-AG520	  AR5212    PCI        a/b/g
     D-Link DWL-AG650	  AR5212    CardBus    a/b/g
     D-Link DWL-G520B	  AR5212    PCI        b/g
     D-Link DWL-G650B	  AR5212    CardBus    b/g
     Elecom LD-WL54AG	  AR5212    Cardbus    a/b/g
     Elecom LD-WL54	  AR5211    Cardbus    a
     Fujitsu E5454	  AR5212    Cardbus    a/b/g
     Fujitsu FMV-JW481	  AR5212    Cardbus    a/b/g
     Fujitsu E5454	  AR5212    Cardbus    a/b/g
     HP NC4000		  AR5212    PCI        a/b/g
     I/O Data WN-AB	  AR5212    CardBus    a/b
     I/O Data WN-AG	  AR5212    CardBus    a/b/g
     I/O Data WN-A54	  AR5212    CardBus    a
     Linksys WMP55AG	  AR5212    PCI        a/b/g
     Linksys WPC51AB	  AR5211    CardBus    a/b
     Linksys WPC55AG	  AR5212    CardBus    a/b/g
     NEC PA-WL/54AG	  AR5212    CardBus    a/b/g
     Netgear WAG311	  AR5212    PCI        a/b/g
     Netgear WAB501	  AR5211    CardBus    a/b
     Netgear WAG511	  AR5212    CardBus    a/b/g
     Netgear WG311	  AR5212    PCI        b/g
     Netgear WG511T	  AR5212    PCI        b/g
     Orinoco 8480	  AR5212    CardBus    a/b/g
     Orinoco 8470WD	  AR5212    CardBus    a/b/g
     Proxim Skyline 4030  AR5210    CardBus    a
     Proxim Skyline 4032  AR5210    PCI        a
     Samsung SWL-5200N	  AR5212    CardBus    a/b/g
     SMC SMC2735W	  AR5210    CardBus    a
     Sony PCWA-C700	  AR5212    Cardbus    a/b
     Sony PCWA-C300S	  AR5212    Cardbus    b/g
     Sony PCWA-C500	  AR5210    Cardbus    a
     3Com 3CRPAG175	  AR5212    CardBus    a/b/g

     An      up      to      date      list	 can	  be	  found       at
     http://customerproducts.atheros.com/customerproducts.

EXAMPLES
     Join an existing BSS network (ie: connect to an access point):

	   ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00

     Join a specific BSS network with network name "my_net":

	   ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net

     Join a specific BSS network with WEP encryption:

	   ifconfig ath0 inet 192.168.0.20 netmask 0xffffff00 ssid my_net \
		   wepmode on wepkey 0x8736639624

     Join/create an 802.11b IBSS network with network name "my_net":

	   ifconfig ath0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \
		   mode 11b mediaopt adhoc

     Create an 802.11g host-based access point:

	   ifconfig ath0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
		   mode 11g mediaopt hostap

     Create an 802.11a host-based access point with WEP enabled:

	   ifconfig ath0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
		   wepmode on wepkey 0x1234567890 mode 11a mediaopt hostap

     Create a host-based wireless bridge to fxp0:

	   Add BRIDGE to the kernel config.
	   ifconfig ath0 inet up ssid my_ap media DS/11Mbps mediaopt hostap
	   sysctl net.link.ether.bridge.enable=1
	   sysctl net.link.ether.bridge.config="ath0 fxp0"
	   sysctl net.inet.ip.forwarding=1

     This will give you the same functionality as an access point.

DIAGNOSTICS
     ath%d:  unable  to attach hardware; HAL status %u	The Atheros Hardware Ac-
     cess Layer was unable to configure the hardware as requested.   The  status
     code is explained in the HAL include file sys/contrib/dev/ath/ah.h.

     ath%d:  failed  to allocate descriptors: %d  The driver was unable to allo-
     cate contiguous memory for the transmit and receive descriptors.  This usu-
     ally indicates system memory is scarce and/or fragmented.

     ath%d: unable to setup a data xmit queue!	The request to the HAL to  setup
     the transmit queue for normal data frames failed.	This should not happen.

     ath%d:  unable  to  setup	a  beacon xmit queue!  The request to the HAL to
     setup the transmit queue for 802.11  beacon  frames  frames  failed.   This
     should not happen.

     ath%d: 802.11 address: %s	The MAC address programmed in the EEPROM is dis-
     played.

     ath%d:  hardware  error;  resetting  An unrecoverable error in the hardware
     occurred.	Errors of this sort include unrecoverable DMA errors.  The  dri-
     ver will reset the hardware and continue.

     ath%d:  rx  FIFO overrun; resetting  The receive FIFO in the hardware over-
     flowed before the data could be transferred to the  host.	 This  typically
     occurs  because  the  hardware  ran short of receive descriptors and had no
     place to transfer received data.  The driver will reset  the  hardware  and
     continue.

     ath%d: unable to reset hardware; hal status %u  The Atheros Hardware Access
     Layer  was  unable  to reset the hardware as requested.  The status code is
     explained in the HAL include file	sys/contrib/dev/ath/ah.h.   This  should
     not happen.

     ath%d:  unable  to start recv logic  The driver was unable to restart frame
     reception.  This should not happen.

     ath%d: device timeout  A frame dispatched to the hardware for  transmission
     did not complete in time.	The driver will reset the hardware and continue.
     This should not hapen.

     ath%d:  bogus xmit rate 0x%x  An invalid transmit rate was specified for an
     outgoing frame.  The frame is discarded.  This should not happen.

     ath%d: ath_chan_set: unable to reset channel %u (%u Mhz)  The Atheros Hard-
     ware Access Layer was unable to reset the hardware when switching	channels
     during scanning.  This should not happen.

     ath%d:  unable to allocate channel table  The driver was unable to allocate
     memory for the table used to hold the set of available channels.

     ath%d: unable to collect channel list from hal  A	problem  occurred  while
     querying  the  HAL  to  find  the set of available channels for the device.
     This should not happen.

     ath%d: %s: %dM -> %dM (%d ok, %d err, %d retr)  The driver's  rate  control
     algorithm	changed  the current rate for transmitting frames.  This message
     is temporarily enabled for normal use to help in diagnosing  and  improving
     the rate control algorithm.  The message indicates the new and old transmit
     rates and the statistics it used to decide on this change.

     ath%d:  failed  to  enable  memory mapping  The driver was unable to enable
     memory-mapped I/O to the PCI device registers.  This should not happen.

     ath%d: failed to enable bus mastering  The driver was unable to enable  the
     device as a PCI bus master for doing DMA.	This should not happen.

     ath%d:  cannot  map register space  The driver was unable to map the device
     registers into the host address space.  This should not happen.

     ath%d: could not map interrupt  The driver was unable to  allocate  an  IRQ
     for the device interrupt.	This should not happen.

     ath%d:  could not establish interrupt  The driver was unable to install the
     device interrupt handler.	This should not happen.

SEE ALSO
     an(4), arp(4), ath_hal(4), card(4), netintro(4), pcic(4),	wi(4),	wlan(4),
     ifconfig(8), wicontrol(8)

HISTORY
     The ath device driver first appeared in FreeBSD 5.2.

CAVEATS
     Different	regulatory  domains  have  different  default channels for adhoc
     mode.  See ifconfig(8) for information on how to change the  channel.   See
     wicontrol(8)  for	information  on different regulatory domains.  Different
     regulatory domains may not be able to  communicate  with  each  other  with
     802.11a as different regualtory domains do not necessarily have overlapping
     channels.

     Revision  A1  of  the D-LINK DWL-G520 and DWL-G650 are based on an Intersil
     PrismGT chip and are not supported by this driver.

BUGS
     Performance in lossy environments is suboptimal.  The algorithm used to se-
     lect the rate for transmitted packets is  very  simplistic.   There  is  no
     software  retransmit;  only  hardware retransmit is used.	Contributors are
     encouraged to replace the existing rate control algorithm with a better one
     (hint: all the information needed is availble to the driver).

     The driver does not fully enable power-save operation of the  chip;  conse-
     quently power use is suboptimal.

FreeBSD 5.2.1			November 4, 2003			  ATH(4)

home | help