Phy0 spikes CPU and dmesg says "ath5k phy0: gain calibration timeout"
Problem
When coming out of sleep or during times of intensive processing and network activity, the following symptoms occur:
- The WiFi connection stops working.
top
shows that phy0 spikes the CPU.dmesg
shows several lines ofath5k phy0: gain calibration timeout
andath5k phy0: noise floor calibration timeout
Solution
Downgrade the kernel. This problem can be solved by using the 2.6.31 kernel. Here’s how to install it:
- Do a
sudo aptitiude search linux-image
. - Install an older kernel. For Ubuntu 10.4, I selected the 2.6.31-11-rt kernel by doing a
sudo apt-get install linux-image-2.6.31-11-rt
. - Reboot.
- When the grub menu appears select the old kernel.
- Verify that the old kernel is fully functional for your system.
Temporary Solutions
- Do a
pm-suspend-hybrid
several times until the wifi works again. - Restart the machine several times until the wifi works again.
- Do a
modprobe -r ath5k
and use a different network card. - Using a 2.6.35 kernel reduces the frequency this problem occurs.
Details
uname -r
2.6.32-26-generic
lspci|grep Wireless
shows:
14:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
dmesg |grep "ath5.*chip"
ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
modinfo ath5k
shows:
filename: /lib/modules/2.6.32-26-generic/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko version: 0.6.0 (EXPERIMENTAL) license: Dual BSD/GPL description: Support for 5xxx series of Atheros 802.11 wireless LAN cards. author: Nick Kossifidis author: Jiri Slaby srcversion: 5A81CAB958F60B02DE47E18 alias: pci:v0000168Cd0000001Dsv*sd*bc*sci alias: pci:v0000168Cd0000001Csv*sd*bc*sci alias: pci:v0000168Cd0000001Bsv*sd*bc*sci alias: pci:v0000168Cd0000001Asv*sd*bc*sci alias: pci:v0000168Cd00000019sv*sd*bc*sci alias: pci:v0000168Cd00000018sv*sd*bc*sci alias: pci:v0000168Cd00000017sv*sd*bc*sci alias: pci:v0000168Cd00000016sv*sd*bc*sci alias: pci:v0000168Cd00000015sv*sd*bc*sci alias: pci:v0000168Cd00000014sv*sd*bc*sci alias: pci:v0000168Cd00001014sv*sd*bc*sci alias: pci:v000010B7d00000013sv*sd*bc*sci alias: pci:v0000A727d00000013sv*sd*bc*sci alias: pci:v0000168Cd00000013sv*sd*bc*sci alias: pci:v0000168Cd00000012sv*sd*bc*sci alias: pci:v0000168Cd00000011sv*sd*bc*sci alias: pci:v0000168Cd00000007sv*sd*bc*sci alias: pci:v0000168Cd00000207sv*sd*bc*sci depends: mac80211,led-class,cfg80211,ath vermagic: 2.6.32-26-generic SMP mod_unload modversions parm: nohwcrypt:Disable hardware encryption. (bool) parm: all_channels:Expose all channels the device can use. (bool)