One of the most important, albeit annoying, parts of setting up a new laptop is getting your wireless card to work properly. Let's face it, the Internet is key these days, and when using a laptop the whole point is to not have to be tied down by a wire. Many wireless controllers have drivers built into the Linux kernel, but sometimes it can be a little complicated if that is not the case.

The Atheros cards in particular have three methods of support:

ath5k/ath9k drivers
madwifi drivers

The best choice is always going to be the ath5k/ath9k drivers. These are built into the Linux kernel, so you won't have to do much of anything.
The ath5k driver has been available since kernel 2.6.24 and ath9k has been available since 2.6.27.

If you don't feel like back-porting a newer kernel, there are alternative options.

Your next choice becomes installing the Multiband Atheros Driver for Wifi (madwifi). Madwifi is one of the most advanced WLAN drivers available for Linux today. It is an open source driver that depends on the proprietary and binary-only HAL.

Luckily, this is still pretty straight forward to set. All you need is to install module-assistant and have it build the module for you.

Building the module:

First make sure you prepare the environment for building
m-a prepare

Then build the module
m-a a-i madwifi

Now, before loading the madwifi driver, you will need to uninstall the ath5k/ath9k driver on your machine.
modprobe -r ath5k

Finally, just load the madwifi module into the kernel
modprobe ath_pci

From here on out you should be all set, the module should auto-load itself properly in the future.

Well, your final option is the ndiswrapper. The ndiswrapper  implements a form of the Windows kernel API and NDIS API within the Linux kernel. This will allow you to run many drivers natively, without binary emulation. Since this is a closed-source and far less supported method I will not go into the details here, but it is mentioned just so that you may be aware of all of your available options.

That's it! At this point you should have enough information for getting your wireless up and running, or at least a good jumping-off point for researching exactly what you need in order to finish getting your wireless running.

If you have any questions, feel free to email me here at unix-ninja and I will try to help you out if I can!