Atheros 9k series based wireless cards are among the most commonly found wireless networking cards on laptops. While Linux Kernel 2.6 and later provide support for these cards through ath9k module/driver, madwifi is also an option for some.
Despite the card’s popularity and integrated module availability, the driver is not bug-free. Users of all flavors of Linux (to name a few: RHEL 5,6; Centos 5,6; Ubuntu 11.x,12.x; FC 12,13) seem to have had issues with this driver. The two most commonly reported issues are slow wireless connectivity and wireless network disconnecting intermittently – either due to inactivity or after coming out of suspend/hibernate. The latter issue also sometimes manifests itself as the network card refusing to “come up”.
Here is an easy fix that fixes both issues. It has been tried and tested to fix the issues on at least the above mentioned Linux distros and should also work on other distros that use ath9k module.
Run the following commands as root (or prefix sudo)
Add the option nohwcrypt for ath9k: this removes the hardware based encryption and moves it to software
echo "options ath9k nohwcrypt=1" > /etc/modprobe.d/ath9k.conf
Turn off the automatic power management for your wireless card
iwconfig wlan0 power off
Alternatively, instead of rebooting you can perform the steps below
Unload the driver and reload it again
modprobe -rv ath9k modprobe ath9k
Restart the network manager service
service NetworkManager restart
Now you are all set. Have fun!
Update: If you still continue to have a problem with the wireless card when your machine comes up back from Suspend, you may be facing issues due to poor/bad ACPI management by your BIOS. Add the following option to the kernel command in your grub config: "acpi=off" (without quotes) to solve this.