ATHN(4)

NAME
athn - Atheros IEEE 802.11a/b/g/n wireless network device

SYNOPSIS
athn* at cardbus?
athn* at pci?
athn* at uhub? port ?

DESCRIPTION
The athn driver provides support for a wide variety of Atheros 802.11n devices, ranging from the AR5008 up to the AR9287.

The AR5008 (codenamed Owl) is the first generation of Atheros 802.11n solutions. It consists of two chips, a MAC/Baseband Processor and a Radio-on-a-Chip. The MAC/Baseband Processor can be an AR5416 (PCI and CardBus form factors) or an AR5418 (PCIe Mini Card form factor). The radio can be an AR2122, AR2133, AR5122 or an AR5133 chip. The AR2122 chip operates in the 2GHz spectrum and supports up to 2 transmit paths and 2 receiver paths (2T2R). The AR2133 chip operates in the 2GHz spectrum and supports up to 3 transmit paths and 3 receiver paths (3T3R). The AR5122 chip operates in the 2GHz and 5GHz spectra and supports up to 2 transmit paths and 2 receiver paths (2T2R). The AR5133 chip operates in the 2GHz and 5GHz spectra and supports up to 3 transmit paths and 3 receiver paths (3T3R).

The AR9001 (codenamed Sowl) is a Mini-PCI 802.11n solution. It consists of two chips, an AR9160 MAC/Baseband Processor and an AR9103 or AR9106 Radio-on-a-Chip. The AR9103 chip operates in the 2GHz spectrum and supports up to 3 transmit paths and 3 receiver paths (3T3R). The AR9106 chip operates in the 2GHz and 5GHz spectra and supports up to 3 transmit paths and 3 receiver paths (3T3R).

The AR9220, AR9223 and AR9280 (codenamed Merlin) are the first generation of Atheros single-chip 802.11n solutions. The AR9220 and AR9223 exist in PCI and Mini-PCI form factors. The AR9280 exists in PCIe (DT92), PCIe Mini Card (XB92), half Mini Card (HB92) and USB 2.0 (AR9280+AR7010) form factors. The AR9220 and AR9280 operate in the 2GHz and 5GHz spectra and support 2 transmit paths and 2 receiver paths (2T2R). The AR9223 operates in the 2GHz spectrum and supports 2 transmit paths and 2 receiver paths (2T2R).

The AR9281 is a single-chip PCIe 802.11n solution. It exists in PCIe Mini Card (XB91) and half Mini Card (HB91) form factors. It operates in the 2GHz spectrum and supports 1 transmit path and 2 receiver paths (1T2R).

The AR9285 (codenamed Kite) is a single-chip PCIe 802.11n solution that targets the value PC market. It exists in PCIe half Mini Card (HB95) form factor only. It operates in the 2GHz spectrum and supports a single stream (1T1R). It can be combined with the AR3011 chip to form a combo WiFi/Bluetooth device (WB195).

The AR9271 is a single-chip USB 2.0 802.11n solution. It operates in the 2GHz spectrum and supports a single stream (1T1R).

The AR2427 is a single-chip PCIe 802.11b/g solution similar to the other AR9280 solutions but with 802.11n capabilities removed. It exists in PCIe Mini Card form factor only. It operates in the 2GHz spectrum.

The AR9227 and AR9287 are single-chip 802.11n solutions that target mid-tier PCs. The AR9227 exists in PCI and Mini-PCI form factors. The AR9287 exists in PCIe half Mini Card (HB97) and USB 2.0 (AR9287+AR7010) form factors. They operate in the 2GHz spectrum and support 2 transmit paths and 2 receiver paths (2T2R).

The following table summarizes the supported chips and their capabilities.
Chipset | Spectrum | TxR:S | Bus
AR5008-2NG (AR5416+AR2122) | 2GHz | 2x2:2 | PCI/CardBus
AR5008-3NG (AR5416+AR2133) | 2GHz | 3x3:2 | PCI/CardBus
AR5008-2NX (AR5416+AR5122) | 2GHz/5GHz | 2x2:2 | PCI/CardBus
AR5008-3NX (AR5416+AR5133) | 2GHz/5GHz | 3x3:2 | PCI/CardBus
AR5008E-2NG (AR5418+AR2122) | 2GHz | 2x2:2 | PCIe
AR5008E-3NG (AR5418+AR2133) | 2GHz | 3x3:2 | PCIe
AR5008E-2NX (AR5418+AR5122) | 2GHz/5GHz | 2x2:2 | PCIe
AR5008E-3NX (AR5418+AR5133) | 2GHz/5GHz | 3x3:2 | PCIe
AR9001-2NG (AR9160+AR9103) | 2GHz | 2x2:2 | PCI
AR9001-3NG (AR9160+AR9103) | 2GHz | 3x3:2 | PCI
AR9001-3NX2 (AR9160+AR9106) | 2GHz/5GHz | 3x3:2 | PCI
AR9220 | 2GHz/5GHz | 2x2:2 | PCI
AR9223 | 2GHz | 2x2:2 | PCI
AR9280 | 2GHz/5GHz | 2x2:2 | PCIe
AR9280+AR7010 | 2GHz/5GHz | 2x2:2 | USB 2.0
AR9281 | 2GHz | 1x2:2 | PCIe
AR9285 | 2GHz | 1x1:1 | PCIe
AR9271 | 2GHz | 1x1:1 | USB 2.0
AR2427 | 2GHz | 1x1:1 | PCIe
AR9227 | 2GHz | 2x2:2 | PCI
AR9287 | 2GHz | 2x2:2 | PCIe
AR9287+AR7010 | 2GHz | 2x2:2 | USB 2.0

These are the modes the athn driver can operate in:

BSS mode
    Also known as infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default.

Host AP
    In this mode the driver acts as an access point (base station) for other cards.

monitor mode
    In this mode the driver is able to receive packets without associating with an access point. This disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points.

The athn driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA1 and WPA2). WPA2 is the current encryption standard for wireless networks. It is strongly recommended that neither WEP nor WPA1 are used as the sole mechanism to secure wireless communication, due to serious weaknesses. WPA1 is disabled by default and may be enabled using the option "wpaprotos wpa1,wpa2". For standard WPA networks which use pre-shared keys (PSK), keys are configured using the "wpakey" option. WPA-Enterprise networks require use of the wpa_supplicant package. The athn driver offloads both encryption and decryption to the hardware for the CCMP cipher.

The transmit speed is user-selectable or can be adapted automatically by the driver depending on the number of hardware transmission retries.

In BSS mode, the driver supports powersave mode, which can be enabled via ifconfig(8). In Host AP mode, the driver is compatible with clients using powersave, except on AR7010 and AR9287 USB devices.

The athn driver can be configured at runtime with ifconfig(8) or on boot with hostname.if(5).

FILES
For USB devices, the driver needs at least version 1.1p4 of the following firmware files, which are loaded when an interface is attached:

/etc/firmware/athn-open-ar7010
/etc/firmware/athn-open-ar9271

A prepackaged version of the firmware can be installed using fw_update(8). Firmware source code is available under a mix of BSD and GPLv2 licences. A port which cross-compiles the firmware can be found in /usr/ports/devel/open-ath9k-htc-firmware.

EXAMPLES
The following example scans for available networks:

    # ifconfig athn0 scan

The following hostname.if(5) example configures athn0 to join network “mynwid”, using WPA key “mywpakey”, obtaining an IP address using DHCP:

    nwid mynwid wpakey mywpakey
    inet autoconf

The following hostname.if(5) example creates a host-based access point on boot:

    mediaopt hostap
    nwid mynwid wpakey mywpakey
    inet 192.168.1.1 255.255.255.0

DIAGNOSTICS

athn0: device timeout A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen.

athn0: radio is disabled by hardware switch The radio transmitter is off and thus no packet can go out. The driver will reset the hardware. Make sure the laptop radio switch is on.

athn0: radio switch turned off The radio switch has been turned off while the interface was up and running. The driver will turn the interface down.

athn0: error N, could not read firmware ... For some reason, the driver was unable to read the firmware file from the filesystem. The file might be missing or corrupted.

SEE ALSO
arp(4), cardbus(4), ifmedia(4), intro(4), netintro(4), pci(4), usb(4), hostname.if(5), ifconfig(8)

HISTORY
The athn driver first appeared in OpenBSD 4.7. Support for USB 2.0 devices first appeared in OpenBSD 4.9.

AUTHORS
The athn driver was written by Damien Bergamini <damien.bergamini@free.fr> based on source code licensed under the ISC released in 2008 by Atheros Communications for Linux. Anthony J. Bentley <bentley@openbsd.org> added the open source USB firmware and its cross-compiler to the ports tree. Stefan Sperling <stsp@openbsd.org> implemented driver support for the open source USB firmware.

CAVEATS
Support for 802.11n 40MHz channels and Tx aggregation is not yet implemented. Additional work is required in ieee80211(9) before those features can be supported.

On USB devices, Host AP mode is limited to 7 concurrent clients and does not support power saving. Clients attempting to use power saving mode may experience significant packet loss.