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

Go back –> Atheros Linux wireless drivers

ath5k

ath5k is a completely FOSS wireless driver for Atheros WLAN based chipsets.

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.

Documentation available

Read this section on Atheros specifications and documentation.

Enabling ath5k

To enable ath5k in the kernel configuration, 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

supported chips

AR5210   - 802.11a   (Crete/fez)
AR5211   - 802.11ab  (Oahu) (draft g -OFDM only- supported by hw but not by ath5k)
AR5212   - 802.11abg (Venice)
AR5213   - 802.11abg (Hainan)
AR2413/4 - 802.11bg  (Griffin)
AR5413/4 - 802.11abg (Eagle)
AR5423/4 - 802.11abg (Condor) (PCI-E)
AR2425   - 802.11bg  (Swan) (PCI-E)
AR2417   - 802.11bg  (Nala) (PCI-E)

To try 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    Name    Basic-testing
168c:0207       AR5210  AR5210  No tx - working on it
168c:0007       <<      <<      No tx - working on it

168c:0011       AR5211  AR5211  Should work
168c:0012       <<      <<      OK

168c:0013       AR5212  AR5212  OK (*)
a727:0013       <<      <<      Should work
10b7:0013       <<      <<      <<
168c:0014       <<      <<      <<
168c:0015       <<      <<      <<
168c:0016       <<      <<      <<
168c:0017       <<      <<      <<
168c:0018       <<      <<      <<
168c:0019       <<      <<      <<
168c:001a       <<      RF2413  OK
168c:001b       <<      RF5413  OK
168c:001c       <<      AR5424  OK (**)

Notes on supported devices

"OK" means that card operates almost as good as with binary drivers (performance is around 25Mbits max depending on environment -that's because we still don't support ANI or tx power calibration)

"Should work" means that card hasn't been tested (we haven't received any reports) but since chipset is the same with a tested, working card, it should work as well.

(**) 001c is used also for RF2425 parts.

  • Devices with newer radios (RF2413 and up) have a different way to handle tx power control and because we don't support tx power calibration yet, they have problems transmitting on rates above 18M. On these cards try to manually set 11M to get better results.
  • MadWifi and ndis drivers perform better on noisy environments than ath5k because we don't support Adaptive Noise Immunity (ANI) yet.

Available devices

See the ath5k device list. A longer but less reliable list can be found at http://madwifi-project.org/wiki/Compatibility

features

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

working

  • Station Mode

  • Ad-Hoc Mode

  • Mesh Point Mode

  • Access Point Mode (enabled in Linux 2.6.31 and newer and in compat-wireless, can also be enabled by patching an older kernel.)

not working yet

  • Turbo

  • XR

  • SuperA/G

Atheros common module

ath5k uses the common shared ath.ko module.

ath5k kerneldoc

We have kerneldocs available for ath5k:

Reported bugs on ath5k

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.

ath5k TODO

Things ath5k developers are currently working on.

  • Automatic Noise Immunity (Nick -code needs review)
  • Tx power support (setting tx power) (Nick/Felix -under work + needs regulatory work, some basic CTL stuff done.
    • Update: Regulatory work done by Bob, a few fixes remain for correctly setting txpower, patches on the way)
  • EEPROM helper to get various eeprom infos + caps directly (Nick)
  • Spur mitigation (Nick -patches on the way)
  • Rework phy calibration (I/Q, noise floor etc) (Nick)
  • AP mode (reported to work, we just need some further tests on all cards to be sure) (Nick -patches on the way)
  • 802.11d/Regulatory enhancements (Bob)
  • 802.11e/WME/QoS support - see Notes on QoS

  • Rfkill (pending patch by Tobias Doerffel)
  • Jumbo frame processing (these appear to just be errors)

  • CCMP hardware support (Bob - have a patch, but it's broken)

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, 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