Go back –> Atheros Linux wireless drivers
ath5k is a completely FOSS wireless driver for Atheros WLAN based chipsets.
2010-11-30: Preparations for Turbo Mode: Big internal update of PHY code to clean up turbo modes and reset. Turbo is not enabled yet, and it's unlikely that there will be a standard API for enabling it in the near future. (first commit)
2010-10-05: Support for virtual STA and AP added: Support for up to 4 virtual APs and as many virtual STA interfaces as desired got added (commit). This feature is sometimes also called "Multi ESSID" and allows us to configure several AP and STA interfaces on top of only one physical device.
2010-09-28: 802.11e/WME/QoS support: Support for QoS/WME, using multiple hardware queues, got merged.
2010-09-16: Hardware Encryption: Hardware encryption is enabled again, by sharing code with ath9k. Before that HW encryption was disabled in AP mode due to bugs in the ath5k key handling.
2010-08-13: Disable ASPM L0s for all cards: This fixes problems with PCI-E cards, especially on Acer Aspire One.
2010-04-07: ANI: Adaptive Noise Immunity (ANI) got implemented. This greatly improves performance in noisy environments.
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.
Read this section on Atheros specifications and documentation.
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
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) AR2415 - 802.11bg (Talon) (not tested) 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
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 << AR2413 OK 168c:001b << AR5413 OK 168c:001c << AR5424 OK (*) 168c:001d << AR2417 OK
Notes on supported devices
"OK" means that card operates almost 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 RF2425 parts.
Supports 802.11abg, depending on the chipset. This driver requires no firmware or binary-only HAL!
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
* We don't plan on supporting XR mode nor dynamic 20/40MHz turbo mode supported by hw.
Atheros common module
ath5k uses the common shared ath.ko module.
We have kerneldocs available for ath5k:
- General driver structure:
- Main PCI and mac80211 driver interface:
- Debug utilities:
- Initialization and PHY control:
- Hardware registers:
PCI-E: Eliminating `ath5k: unsupported jumbo` bug
There is a hardware bug on some adapters, such as Atheros 5007EG on Acer Aspire One netbook. Connection may drop suddenly or work instable, dmesg shows: ath5k: unsupported jumbo. The reason is a result of poor hardware ASPM support. It is a hardware bug that is worked around in windows driver by disabling PCIE ASPM L0S.
There's a solution - turn ASPM L0S off manually for this device.
1. Download enable-aspm
2. Get your root complex:
$ lspci -tv 0000:00 ... +-1c.2-[0000:03]----00.0 Atheros Communications Inc. AR5001 Wireless Network Adapter ...
So root complex is 00:1c.2
3. Get your endpoint:
$ lspci ... 03:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01) ...
The endpoint is 03:00.0
4. Now you need to edit your enable-aspm
# You just need to modify these three values: ROOT_COMPLEX="00:1c.2" ENDPOINT="03:00.0" ASPM_SETTING=2
5. Now executing:
vo-one <at> acerone:~$ sudo bash enable-aspm [sudo] password for vo-one: Root complex: 00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02) 0x50 : 0x43 --> 0x42 ... [SUCCESS]] L1 only Endpoint: 03:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01) 0x70 : 0x4B --> 0x4A ... [SUCCESS]] L1 only
6. Making the script executed at system startup:
sudo chmod +x enable-aspm sudo cp enable-aspm /usr/bin
Then add a line "enable-aspm" into your /etc/rc.conf before the line "exit 0;" to make the script executed at the system startup.
UPDATE (08/08/2010): With recent wireless-testing ASPM will now automatically be disabled by the driver, so there is no need to do it manually.
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.
Please when submitting a bug report always include your card's silicon revision for MAC and PHY chips, just look at your logs for a line like this one... or dmesg |grep "ath5.*chip":
ath5k phy0: Atheros AR2413 chip found (MAC: 0x78, PHY: 0x45)
...and put it in your report. lspci information is much less useful than this.
Things ath5k developers are currently working on, and other things to do:
- Tx power support (setting tx power) (Nick/Felix -works but experiments show that the card transmits only on some standard power levels instead of a power range as expected -still debuging, any ideas are welcome)
- Power saving (Bob)
- 5210 support (EEPROM etc) (Nick)
- EAR (EEPROM Added Registers) support
- WiSoC support (Felix, Wojciech Dubowik)
- Documentation update/cleanup (Nick - added kerneldoc on all hw related functions and files, spellchecking...)
- Radar detection/DFS stuff (Nick -still reading...)
- Update ath_info