NOTE: this page is for archival only, see the note at the end of the page.

ath9k

ath9k is a completely FOSS wireless driver for Atheros IEEE 802.11n WLAN based chipsets.

Mailing list

Our mailing list for this driver is:

https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Get the latest ath9k driver

Any distribution shipping a kernel >= 2.6.27 will have ath9k present. Below is a list of the minimal distribution requirements to either use ath9k from 2.6.27 or from compat-wireless.

  • Ubuntu Intrepid (8.10)
  • Fedora Core 10
  • OpenSuse 11.1

  • Mandriva Linux 2009.0 (formally known as Mandrake Linux)
  • ARCH Linux
  • Gentoo Linux
  • Red Flag Linux 7.0 (based on Fedora 10)

If you want to get the latest ath9k driver you can get it by using the wireless-testing git tree. Read our git-guide for that. Alternatively you can simply upgrade only your Linux wireless subsystem by using compat-wireless.

Enabling ath9k

To enable ath9k, you must first enable mac80211:

Networking  --->
  Wireless  --->
    <M> Improved wireless configuration API
    <M> Generic IEEE 802.11 Networking Stack (mac80211)

You can then enable ath9k in the kernel configuration under

Device Drivers  --->
  [*] Network device support  --->
        Wireless LAN  --->
          <M>   Atheros 802.11n wireless cards support

Enabling bluetooth coexistance

You can enable bluetooth coexistance on ath9k by using the btcoex_enable module parameter. This is not enable by default as some devices have had issues with it.

modprobe ath9k btcoex_enable=1

Enabling debug

If you have issues with ath9k you can enable debug in ath9k. You will first need to enable the Kconfig option (CONFIG_ATH9K_DEBUG):

Device Drivers  --->
  [*] Network device support  --->
        Wireless LAN  --->
          <M>   Atheros 802.11n wireless cards support
          [*]     Atheros ath9k debugging

Then you can use the module parameter debug. We cover below the different available debug levels you can use.

enum ATH_DEBUG {
        ATH_DBG_RESET           = 0x00000001,
        ATH_DBG_REG_IO          = 0x00000002,
        ATH_DBG_QUEUE           = 0x00000004,
        ATH_DBG_EEPROM          = 0x00000008,
        ATH_DBG_CALIBRATE       = 0x00000010,
        ATH_DBG_CHANNEL         = 0x00000020,
        ATH_DBG_INTERRUPT       = 0x00000040,
        ATH_DBG_REGULATORY      = 0x00000080,
        ATH_DBG_ANI             = 0x00000100,
        ATH_DBG_POWER_MGMT      = 0x00000200,
        ATH_DBG_XMIT            = 0x00000400,
        ATH_DBG_BEACON          = 0x00001000,
        ATH_DBG_CONFIG          = 0x00002000,
        ATH_DBG_KEYCACHE        = 0x00004000,
        ATH_DBG_FATAL           = 0x00008000,
        ATH_DBG_ANY             = 0xffffffff
};

If you want to debug calibration (0x00000010) and resets (0x00000001) for example you would use (0x00000010 | 0x00000001) = 0x00000011. To debug everything just use 0xffffffff. Below is an example of how to enable debug for just configuration changes:

modprobe ath9k debug=0x00002000

Legend

Used to describe cards

  • HB: PCIe Half MiniCard

  • XB: PCIe Full MiniCard

  • MB: Mini PCI card
  • CB: PCI Cardbus card
  • SB: Single band, 1x2, 2x2 configuration
  • DB: Dual band, 2x3, 2x2 configuration

Used to describe Acess Point components

  • FE: Fast Ethernet, 100 Mbit/s
  • GBe: GigaBit Ethernet 1000 Mbit/s

  • USB: USB ports available
  • OLED: Organic-LED Display
  • DBDC: DualBand-DualConcurrent, means AP can run in 2 GHz and 5 GHz at the same time

supported chipsets

  • AR5418+AR5133
  • AR5416+AR5133
  • AR5416+AR2133
  • AR9160
  • AR9280
  • AR9281
  • AR9285
  • AR9102 (AHB)
  • AR9103 (AHB)

APs with Atheros 11n

WARNING of practicality: Not all models can be flashed with custom GPL software at this time, see the OpenWRT forums for latest information. However, all of these routers have been identified to use supported Atheros 11n radio chips.

AP Model

Chipset

Chains

SB

DB

FE

GBe

OLED

DBDC

USB

Atlantiland A02-RB-W300N

D-Link DIR-615 v. C1 (AP81)

AR9001AP-2NG (AR9130+AR9102 +AR8216)

2x2

(./)

(./)

D-Link DIR-625 v.C2 (IP5K+MB71)

AR5008-2NG (AR5416+AR2122

2x2

(./)

(./)

D-Link DIR-635 v.A3 (IP5K+MB71)

AR5008-3NG (AR5416+AR2122

3x3

(./)

(./)

(./)

D-Link DIR-855 v.A1 (IP5K+MB71+MB72)

AR5008-3NG (AR5416+AR2133) + AR5008-3NX (AR5416+AR5133)

3x3

(./)

(./)

(./)

(./)

D-Link DGL-4500 v.A1 (IP5K+MB72) (DBSW)

AR5008-3NX (AR5416+AR5133)

3x3

(./)

(./)

(./)

D-Link DIR-825 v.A1 (IP5K+MB81+MB82)

AR9001-3NG (AR9160+AR9103) + AR9001-3NX (AR9160+AR9106)

2x2

(./)

(./)

(./)

Linksys WAP-4410N

Linksys WRT300N v2.0 (serial number SNP00*)

AR5416 or AR5418

Linksys WRT350N v2.0

AR5416

Planex MZK-W300NH

AR9102

2x2

Planex MZK-W04NU

AR9103

3x3

(./)

Mercury MWR300T+

AR9103

3x3

Netgear WNR2000

AR9103

3x3

Netgear WN802Tv2

TP-Link TL-WR941N

AR9103

3x3

TP-Link TL-WR941ND

AR9103

3x3

TRENDnet TEW-632BRP v1.0 & v1.1

AR9102

2x2

TRENDnet TEW-652BRP

AR9102

2x2

Zyxel NBG-420N

AR9102

2x2

Zyxel NBG-460N

AR9103

3x3

Zyxel X550N

AR9103

3x3

Zyxel X550NH

AR9103

3x3

Cameo Communications WLN2206

Unex RNRA-83

Unex RNEA-81

Products in the retail market containing Atheros 11n solutions

Acer

<AR9281/XB91, 1x2 SB>

  • Aspire 6530
  • Aspire 4530

Apple

<AR5416>

Asus

<AR9281/XB91, 1x2 SB>

  • Eee PC S101

Belkin

<AR5416+AR2133>

  • N1 Wireless Notebook Card

<AR5416+AR2133>

  • DWA-642 RangeBooster N Notebook Adapter

  • DWA-645 RangeBooster N650 Notebook Adapter

  • DWA-542 RangeBooster N Desktop Adapter

  • DWA-547 RangeBooster N650 Desktop Adapter

  • DWA-652 XtremeN Notebook Adapter
  • DWA-552 XtremeN Desktop Adapter
  • DWA-643 Xtreme N ExpressCard Notebook Adapter

  • DWA-556 Xtreme N PCIe Desktop Adapter

Fujitsu

<AR5418+AR5133/XB72 2x3 DB>

  • FMV-BIBLO LOOX T70WN
  • FMV-BIBLO LOOX T70XN
  • FMV-BIBLO LOOX R70YN
  • FMV-BIBLO LOOX R/A70
  • FMV-BIBLO NX95X/D
  • FMV-BIBLO NX95Y/D
  • FMV-BIBLO NX/A90N
  • FMV-BIBLO NF75XN/D
  • FMV-BIBLO NF75XN
  • FMV-BIBLO NF75YN/D
  • FMV-BIBLO NF75YN
  • FMV-BIBLO NF/A75ND
  • FMV-BIBLO NF/A70N
  • FMV-BIBLO MG75X/V
  • FMV-BIBLO MG75XN
  • FMV-BIBLO MG90Y/V
  • FMV-BIBLO MG90YN
  • FMV-BIBLO MG90Y/V
  • FMV-BIBLO MG/A75

<AR9281/HB91, 1x2 SB>

  • FM BIBLO NF/B75
  • FM BIBLO LOOX R/B50
  • LifeBook A1110

<AR9280/HB92, 2x2 DB>

  • FM BIBLO MG/B75
  • FM BIBLO LOOX U/B59

Fujitsu Siemens

<AR9281/XB91, 1x2 SB>

<AR9280/XB92, 2x2 DB>

  • Amilo Sa3650
  • Amilo Xa3530

HP

<AR9280/HB92, 2x2 DB>

  • HP Pavilion dv5
  • Compaq Presario CQ50
  • HP G50
  • Compaq Presario CQ70
  • HP G70
  • HP Pavilion dv7

Lenovo

<AR5418+AR5133/XB72, 2x3 DB>

  • T60
  • X60
  • X61
  • T61
  • R60
  • R61

Linksys

<AR5416+AR2133>

  • WPC300Nv2
  • WMP300Nv2
  • WPC100N
  • WMP110N

NEC

<AR5416+AR5133/CB72, 2x3 DB>

  • WL300NC

<AR9223/CB91 2x2 SB>

  • WL300NC-G

<AR5418+AR5133/XB72, 2x3 DB>

  • Lavie C LC950/MG
  • Valuestar W VW790/MG

Netgear

<AR5416+AR2133>

  • WNHDE111 Video Bridge
  • WN711, Wireless-N eXpresscard adapter

SONY

<AR9281/HB91, 1x2 SB>

  • Type R
  • Type L
  • Type S

Toshiba

<AR5418+AR5133/XB72, 2x3 DB>

  • Sattelite A305D-S6831
  • Sattelite M305-S4835
  • Qosmio G55-Q801
  • Qosmio G55-Q802
  • Satellite K30 226E/253E
  • Satellite T40 T40210E/5W
  • Satellite T40 T40213C/5W
  • Dynabook/Qosmio FX77GW/79GW/WXW
  • Dynabook/Qosmio FXW/75GW
  • Dynabook/Qosmio G50W/95GW
  • Dynabook/Qosmio F50W/85GW
  • Dynabook/Satellite PXW/57FW

<AR9281/XB91, 1x2 SB>

  • Dynabook AX/54G
  • Dynabook AX/53G
  • Dynabook AX/53GBL
  • Dynabook AX/53GPK
  • Dynabook AX/52G
  • Dynabook TX/67G
  • Dynabook TX/66G
  • Dynabook TX/66GBL
  • Dynabook TX/66GPK
  • Dynabook TX/65G
  • Dynabook CX/48G
  • Dynabook CX/45G
  • Dynabook CX/47G
  • Dynebook Qosmio FX/77G
  • Dynebook Qosmio GX/79G
  • Qosmio F50/88G
  • Qosmio F50/86G
  • Qosmio F40/86G
  • Qosmio G50/98G
  • Qosmio G50/97G
  • Qosmio F50/F55-Q502
  • Qosmio F50/F55-Q503
  • Satelite A-300/A305-S6864**

Working

Modes of operation

  • Station Mode

  • AP Mode

  • IBSS Mode

Features

  • 802.11abg
  • 802.11n
    • HT20
    • HT40
    • AMPDU
    • Short GI (40 MHz only)
  • 802.11i
    • WEP 64 / 127
    • WPA1 / WPA2
  • 802.11d
  • 802.11h
  • 802.11w/D7.0
  • WPS client side (use wpa_gui-qt4 from wpa_supplicant for now)
  • WMM
  • LED
  • RFKILL
  • BT co-existence (with a module parameter)
  • 64-bit support / big endian, small endian
  • AHB and PCI bus

TODO

Things on our TODO list.

Being worked on

  • Multiple Interface support.
  • Power management.

Immediate Love

  • Performance tuning, on MIPS routers currently CPU usage (softirq) is much higher than older MadWifi driver.

Cleanup

* Design a descriptor layer

  • Must probably encompass struct ath_rx_status and struct ath_tx_status, making struct ar5416_desc a HW type. Again, a clean layer for accessing descriptors.

* Rate Control cleanup

  • RC should be easily swappable with other algorithms, minstrel, for example. An easy hack would be to have an index conversion routine between MCS and internal. But the proper solution would be to fix ath9k's RC to use MCS indices internally.

* Cleanup HW capabilities

  • Still too convoluted.

* Cleanup ChannelFlags

  • Still a bit ugly.

* Naming Convention

  • Decide on a consistent and uniform prefix - do we want ath9k_ or ath_ everywhere ?

After the above mentioned points are taken care of, ath9k.h would be small enough to be merged with core.h. Any help is greatly appreciated (hint, hint).

In the long run

  • MIMO Power save
  • UAPSD
  • WDS - Already part of mac80211, probably can be added after AP
  • STBC
  • WOW
  • RIFS

Will not be supported

  • WEP 152 - there are no plans to support this in mac80211

A little history on ath9k

When it went in

ath9k was announced to have been merged into Linux-2.6.27-rc3 by Linus on Tue, 12 Aug 2008 19:33:16 -0700 (PDT), and consisted of 58.8% of the entire rc3 patch.

Early distributions which picked it up

OpenWrt became the first distribution to pick up ath9k and contribute to it.

Reported bugs on ath9k

This is a collection of bug reports both unresolved and resolved to help users track issues and to find patches for fixes which have not yet been merged.

Distribution bugs

Invalid

Most common known issues

Minimal kernel requirements

You want at least these kernels to use ath9k:

  • >= 2.6.27.8

  • >= 2.6.28.1

Ubuntu users

Ubuntu users will want to upgrade to at least 2.6.27-11

Ubuntu kernel version

Upstream kernel base

Known issues

2.6.27-9

2.6.27.2

DMA issues

2.6.27-10

2.6.27.7

DMA issues

2.6.27-11

2.6.27.10

None

2.6.27.12

2.6.27.11

None

If you are not seeing linux-image-2.6.27-11-generic in your package search please be sure to add the -proposed source to your apt sources. You can do that through the command line adding the following to your /etc/apt/sources.list:

# Ubuntu proposed changes - move to intrepid-updates at leas quarterly
deb http://us.archive.ubuntu.com/ubuntu/ intrepid-proposed main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ intrepid-proposed main restricted

Then do:

sudo apt-get update
sudo apt-get install linux-image-2.6.27-11-generic

DMA issues on 2.6.27

DMA issues were present on first release of 2.6.27, these issues were easily reproducible on MacBook Pros. This issue was fixed on 2.6.27.8.

Loss of connectivity after large file transfer on 2.6.28

This issue was fixed in 2.6.28.1, the issue was caused by the fact that ath9k was configured to ignore beacons and mac80211 expects them, after a large data transfer it is possible the beacons could have been missed and mac80211 detects a timeout of waiting for beacons or receiving data.


This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v185, v184, v183, v182, v181, v180, v179, v178, v177, v176, v175, v174, v173, v172, v171, v170, v169, v168, v167, v166, v165, v164, v163, v162, v161, v160, v159, v158, v157, v156, v155, v154, v153, v152, v151, v150, v149, v148, v147, v146, v145, v144, v143, v142, v141, v140, v139, v138, v137, v136, v135, v134, v133, v132, v131, v130, v129, v128, v127, v126, v125, v124, v123, v122, v121, v120, v119, v118, v117, v116, v115, v114, v113, v112, v111, v110, v109, v108, v107, v106, v105, v104, v103, v102, v101, v100, v99, v98, v97, v96, v95, v94, v93, v92, v91, v90, v89, v88, v87, v86, v85, v84, v83, v82, v81, v80, v79, v78, v77, v76, v75, v74, v73, v72, v71, v70, v69, v68, v67, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1