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


ath5k is a completely FOSS wireless driver for Atheros WLAN based chipsets. It is now part of John's wireless-2.6 git repository.

Hacking ath5k

ath5k is currently available through different places.

Developers are encouraged to work using the git repository. If you are not familiar with git please check out our Linux wireless git-guide. Alternatively you can use the Linux wireless compatibility package but please be sure to post patches in unified diff format (diff -u). To learn how to submit patches please read our Submitting patches guideline.

Enabling ath5k

To enable ath5k, you must first enable mac80211:

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

Please note that there is another 802.11 networking stack:

    <M> Generic IEEE 802.11 Networking Stack

You do not need this. This option enables the old SoftMAC stack we hope to kill one of these days. You can still safely enable this though.

You can then enable ath5k in the kernel configuration under

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


This driver is VERY new and under HEAVY development. Some users have reported success, some others have haven't had luck

supported chips

ath5k is designed with support in mind for any AR5210, AR5211 and AR5212 devices.

AR5210 - 802.11a
AR5211 - 802.11ab
AR5212 - 802.11abg

To do basic-testing of the driver you can do this:

modprobe ath5k
sudo ip link set wlan%d up
sudo iwconfig wlan%d essid any
# Make sure you get auth'd and then assoc'd
# Then either set an IP manually or get it via DHCP
ping gw

You'll probably see an immediate rate drop to 1M, this is because of how we currently handle rate control. You should be able to keep at least at 11M but for now set this manually:

iwconfig wlan%d rate 11M

Currently supported PCI ID list with respective status report on basic-testing as defined above.

Vendor:device  Type     Basic-testing
168c:0207      AR5210   ?
168c:0007      AR5210   ?

168c:0011      AR5211   ?
168c:0012      AR5211   OK

168c:0013      AR5212   OK
a727:0013      AR5212   ?
10b7:0013      AR5212   ?
168c:0014      AR5212   ?
168c:0015      AR5212   ?
168c:0016      AR5212   ?
168c:0017      AR5212   ?
168c:0018      AR5212   ?
168c:0019      AR5212   ?
168c:001a      AR5212   ?
168c:001b      AR5212   ?
168c:001c      AR5212   Loads, but no rx

Notes on supported devices

Please note that 001c is an 802.11bg device. As you can see from above the current driver design is for 802.11a, 802.11ab, or 802.11abg. We'll probably need a new device type in the driver for this device to pass only bg initial register writes and baseband gain settings.

available devices

Please visit for a complete list of supported devices


Supports 802.11abg, depending on the chipset, and some vendor extensions such as Atheros XR and Turbo. This driver requires no firmware!


  • Station Mode

not working yet

  • Access Point mode

  • Turbo

  • XR

Get driver

This driver is currently only in the everything branch of wireless-2.6.git.

ath5k kerneldoc

We have kerneldocs available for ath5k:

  • General driver structure:
  • Main PCI and mac80211 driver interface:
  • Debug utilities:
  • Hardware access:
  • Initialization and PHY control:
  • Regulatory:
    • regdom.c (TODO, this file will eventually be replaced)

    • regdom.h (TODO, this file will eventually be replaced)

  • Hardware registers:

Project Home Page

This is a static dump of the old wiki, taken after locking it in January 2015. The new wiki is at
versions of this page: last, 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