About Ath5k#
Ath5k is a completely FOSS wireless driver for Atheros based wirelesschipset versions AR5xxx in the Linux Kernel. It has evolved out ofMadWiFi,OpenHAL, and theopen-sourced HALcode of Atheros andSam Leffler.
News#
2010-12-03#
AHB Bus support: Support for the AHB bus got merged. Now ath5k canbe used on AR231X and AR5312 embedded devices (WiSoC). (commit)
2010-11-30#
Preparations for Turbo Mode and half/quarter rate support: Biginternal update of PHY code to clean up turbo modes and reset and addhalf/quarter rate support (50/10MHz channel widths). These new modes arenot enabled yet, and it’s unlikely that there will be a standard API forenabling them in the near future, however developers/researchers can usethem for various projects like 802.11p support. (first commit)
Synthesizer-only channel change for newer chips: On AR2413/AR5413 wenow support faster channel switching by skipping normal reset anddirectly setting the channel on PHY while it’s still active (commit).
2010-10-05#
Support for virtual STA and AP added: Support for up to 4 virtualAPs and as many virtual STA interfaces as desired got added (commit).This feature is sometimes also called “Multi ESSID” and allows us toconfigure several AP and STA interfaces on top of only one physicaldevice.
2010-09-28#
802.11e/WME/QoS support: Support for QoS/WME, using multiplehardware queues, got merged. (commit)
2010-09-16#
Hardware Encryption: Hardware encryption is enabled again, bysharing code with ath9k. Before that HW encryption was disabled in APmode due to bugs in the ath5k key handling. (commit)
2010-08-13#
Disable ASPM L0s for all cards: This fixes problems with PCI-Ecards, especially on Acer Aspire One. (commit)
2010-04-07#
ANI implementation added: Adaptive Noise Immunity (ANI) gotimplemented. This greatly improves performance in noisy environments.(commit)
Mailing list#
linux-wireless is the recommended mailing list to use.
The archives for the old ath5k-devel list, which was closed in 2017, areavailablehere.
Getting ath5k#
The driver is pre-installed in most current Linux distributions. ath5kis available through different places:
Thewireless-testing tree - this is where the latest code can be found and what the develpers work with.
TheLinux wireless compatibility package - the most easy way to get and install the latest versions on all stable kernels.
The Linux kernel from version2.6.25 and up. However, we recommend to use at least2.6.31.
The Linux kernel2.6.38 has some bugs in ath5k. We recommend to install theLinux wireless compatibility package if you are running this kernel and your internet connection is slow or unreliable.
Enabling ath5k#
To enable ath5k in the kernel configuration, you must first enablemac80211:
Networking support ---> Wireless ---> <M> cfg80211 - wireless configuration API <M> Generic IEEE 802.11 Networking Stack (mac80211)
Please note that in older kernels there was another 802.11 networkingstack:<>GenericIEEE802.11NetworkingStack. You do not needthis. This option enables the old SoftMAC which is already removed fromnewer kernels. 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 Wireless Cards ---> <M> Atheros 5xxx wireless cards support
To try the driver you can do something like this:
modprobe ath5ksudo ip link set wlan%d upsudo 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 DHCPping gw
Supported Devices#
See theath5k device list. This list is stillvery much incomplete - please add your device/card if it works! A longerbut less reliable list can be found athttp://madwifi-project.org/wiki/Compatibility. It’s worth trying yourcard with ath5k even though it is not in the list above, if it has oneof the following chips:
Supported Chips#
MAC/Single chip solutions-------------------------AR5210 - 802.11a (Crete)AR5211 - 802.11ab (Oahu)*AR5212 - 802.11abg (Venice)AR5213 - 802.11abg (Hainan)AR2413 - 802.11bg (Griffin Lite)AR2414 - 802.11bg (Griffin)AR2415 - 802.11bg (Talon)**AR5413 - 802.11abg (Eagle Lite)AR5414 - 802.11abg (Eagle)AR5423/4 - 802.11abg (Condor)***AR2423/4 - 802.11bg (Condor)***AR2425 - 802.11bg (Swan)***AR2417 - 802.11bg (Nala)PHY----RF5110 (Fez)RF5111 (Sombrero)RF5112/2112 (Derby)RF5112a/2112a (Derby2)
* = AR5211 supports draft-g mode (OFDM only) but it’s not supported by ath5k ** = We still can’t find an AR2415 to test so we are not sure if it works as it should *** = PCI-E Lite = No SuperA/G
Supported PCI IDs#
Currently supported PCI ID list with respective status report on basic-testing as defined above.
Vendor:device Type Name Basic-testing168c:0207 AR5210 AR5210 No tx - working on it168c:0007 << << No tx - working on it168c:0011 AR5211 AR5211 Should work168c:0012 << << OK168c:0013 AR5212 AR521/3 OKa727:0013 << << Should Work10b7:0013 << << <<168c:0014 << << <<168c:0015 << << <<168c:0016 << << <<168c:0017 << << <<168c:0018 << << <<168c:0019 << << <<168c:001a << AR2413/4 OK168c:001b << AR5413/4 OK168c:001c << Condor OK (*)168c:001d << AR2417 OK
Notes on supported devices#
“OK” means that card operates as good as with binary drivers.
“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 AR2425 parts.
Features#
Supports 802.11abg, depending on the chipset. 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 incompat-wireless, can also be enabled by[[http://madwifi-project.org/wiki/UserDocs/ath5kAccessPoint|patchingan older kernel]].)
//5/10MHz channels//
//Turbo (*)//
not working yet#
//XR (*)//
//SuperA/G (*)//
* We don’t plan on supporting XR mode nor dynamic 20/40MHz turbo mode supported by hw.
Hacking ath5k#
Developers are encouraged to work using the git repository. If you arenot familiar with git please check out ourLinux wirelessgit-guide and thedescription of thedevelopment process. Alternatively you can use theLinuxwireless compatibility package but please be sure to postpatches in unified diff format (diff -u). To learn how to submit patchesplease read ourSubmitting patches guideline.
Documentation available#
Read this section onAtheros specifications and documentation.
Atheros common module#
ath5k uses the common sharedath.ko module.
Reported bugs on ath5k#
This is a collection of bug reports both unresolved and resolved to helpusers track issues and to find patches for fixes which have not yet beenmerged.
Please when submitting a bug reportalways include your card’ssilicon revision for MAC and PHY chips, just look at your kernel log fora line like this one… ordmesg|grep"ath5.*chip":
ath5k phy0: Atheros AR2413 chip found (MAC: 0x78, PHY: 0x45)
…and put it in your report.lspci information is much less usefulthan this.
ath5k TODO List#
Things ath5k developers are currently working on, and other things to do:
Tx power support (setting tx power) (Nick/Felix -works but experimentsshow that the card transmits only on some standard power levelsinstead of a power range as expected -still debuging, any ideas arewelcome)
Power saving (Bob)
AR5210 support (EEPROM etc) (Nick)
EAR (EEPROM Added Registers) support
Documentation update/cleanup (Nick - added kerneldoc on all hw relatedfunctions and files, need to do some more reading)
Radar detection/DFS stuff
Update ath_info