ath9k
ath9k is a completely FOSS wireless driver for Atheros IEEE 802.11n WLAN based chipsets.
Contents
Mailing list
Our mailing list for this driver is:
https://lists.ath9k.org/mailman/listinfo/ath9k-devel
Get the code
ath9k is part of wireless-testing now.
To build wireless-testing, use the instructions in this page: en/users/Download
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
Type of 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
supported chipsets
- AR5418+AR5133
- AR5416+AR5133
- AR5416+AR2133
- AR9160
- AR9280
- AR9281
- AR9285
Products in the retail market containing Atheros 11n solutions
Acer
<AR9281/XB91, 1x2 SB>
- Aspire 6530
- Aspire 4530
Asus
<AR9281/XB91, 1x2 SB>
- Eee PC S101
Belkin
<AR5416+AR2133>
- N1 Wireless Notebook Card
D-Link
<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>
- Amilo Pa3515
- Amilo Pa3553
- Amilo Si3655
- Amilo Xi3450
- Amilo Xi3550
- Amilo Xi3585
<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
Station Mode
Other supported features
- LED
- RFKILL ( RFKILL subsystem has to be enabled in the kernel )
TODO
Things on our TODO list.
Being worked on
- IBSS/Mesh - IBSS should work, needs testing with WPA (any user interested to help in testing?)
- AP - This is being worked on, initial patches have been submitted.
- ANI (Adaptive Noise Immunity)
- Bluetooth Coexistence.
- 802.11d / 802.11h support.
Cleanup
- Merge ath_tx_status, ath_rx_status, ath_desc with ar5416_desc.
- HW capabilities is still too convoluted.
ChannelFlags are still a bit ugly.
- Cleanup ath_hal and ath_hal_5416.
- Rate Control cleanup ( RC should be easily swappable with other algorithms, minstrel, for example )
- Revamp aggregation, move it to mac80211 and provide a common 802.11n/aggregation infrastructure for all HT capable drivers.
- Buffer management for TX/RX is very messy, some love would make it better.
- Review locking.
- Merge struct ath_hal and struct ath_softc (probably best for 2.6.29)
- Give regulatory a good scrubbing, specially once CRDA goes in.Pending additions for CRDA are moving the call to CRDA to use udev uevent helpers and to allow drivers to pass their own built regulatory domain structure.
Minor
- Identify macros that can be moved to mac80211 ( look at ath9k.h )
- Use Bitfields wherever appropriate
- Review inline usage.
- Kerneldoc usage.
In the long run
- WDS - Already part of mac80211, probably can be added after AP
- Power management – needs work and integration on mac80211/cfg80211, see Johanne's e-mails
- A debugfs infrastructure to improve/fine tune performance. Would help in bug-fixing too.
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
ath9k design documentation
This is a full detailed implementation design analysis of on ath9k. This is work in progress.
Initialization