ath5k
ath5k is a completely FOSS wireless driver for Atheros WLAN based chipsets. It is now part John's of wireless-2.6 git repository.
Hacking ath5k
ath5k is currently available through the 'everything' and 'ath5k' branches of wireless-2.6 git repository as well as the mm tree. The git repository has the latest and greatest so you should try that if you want the latest. If you don't want to work with git then try the mm tree but that will be a bit outdated. For now please use the everything branch as that has the new configure_filter API changes to mac80211.
Here is a quick primer on git you can use to start hacking on ath5k.
To get ath5k:
git-clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git cd wireless-2.6 # Create a local "branch" called 'ath5k' based on John's remote 'origin/everything' git checkout -b everything origin/everything
To get latest updates you can do:
# Go back to the local master branch git-checkout master git-pull git-checkout everything git-rebase origin/everything # To review the changes last registered: git-log # To review the changes made to ath5k, with a diff: git-log -p drivers/net/wireless/ath5k/*
To hack on stuff, you can create your own branch by doing:
git-checkout -b ath5k-fix-foo origin/everything # hack hack hack # To get a diff of your work: git-diff > my_changes.diff # Or if you just want to read them: git-diff # To revert to the original state of the branch: git-checkout -f # If instead you want to commit git-commit -a # To view local branches git-branch -l # To view all remote branches git-branch -r
Other cool git stuff:
# get the SHA of two commits git-log # Then get the diff of them, by showing the logs in between git-log -p d8a285c8f83f728be2d056e6d4b0909972789d51..9202ec15da36ca060722c363575e0e390d85fb71 # Since SHAs are pretty unique you can just give it a short version # and it will try to match what is right: git-log -p d8a28..9202e
Now say I have two local branches, and I want to merge them. If I'm on local branch ath5k-my-latest and I want to merge with local branch ath5k-fix-foo, I do:
git-pull . ath5k-fix-foo
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
caveats
This driver is VERY new and under HEAVY development. Some users have reported success, some others have haven't had luck
supported chips
Tested chipsets are AR5211
available devices
Please visit [http://madwifi.org/wiki/Compatibility] for a complete list of supported devices
features
Supports 802.11abg, depending on the chipset, and some vendor extensions such as Atheros XR and Turbo. This driver requires no firmware!
working
Station Mode
not working yet
Access Point mode
Turbo
XR
Get driver
This driver is currently only in the ath5k branch of wireless-dev.