With a recent kernel update (to linux-image-22.214.171.124), I suddenly found my speakers clicking almost every second. It was a small clicking noise, but a big annoyance.
In a Google search, I found several answers to this problem, all pointing to the power save option of the snd-hda-intel driver.
The proposed solution was to comment out the line “power_save=10″ in the file /etc/modprobe.d/alsa-base.conf. However, this did nothing for me, running Ubuntu 12.04 (Precise Pangolin) as the alsa-base.conf file did not have any lines dealing with power_save, so there was nothing to comment out.
I found the solution for 12.04 in another file.
gksu gedit /usr/lib/pm-utils/power.d/intel-audio-powersave
Find the line:
Comment it out (using #) and add the line:
Reboot and the clicking should be gone.
UPDATE 1… As pointed out in the comments, the above solution may not work for everyone. The following is specific to those w/ Intel HDA sound cards.
You can use the following to turn off power_save on your sound card:
sudo echo 0 > /sys/module/snd_hda_intel/parameters/power_save sudo echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
UPDATE 2… As reported in the comments by Ariel, this change can be made permanent by removing write permissions on these files. I have not tested this myself to confirm.
sudo chmod 550 /sys/module/snd_hda_intel/parameters/power_save sudo chmod 550 /sys/module/snd_hda_intel/parameters/power_save_controller
The content below is the originally posted solution ….
You’ll have to type this in every time you reboot.
To avoid typing this in every time, you could try the follow (see warning at the bottom):
Create a file to store the script:
sudo gedit stopClicking.sh
Add the following text to this file:
#!/bin/bash echo "yourPassword" | sudo -S echo 0 > /sys/module/snd_hda_intel/parameters/power_save echo "yourPassword" | sudo -S echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
Now go to your Dash (press the Windows / Super key) and search for Startup Applications. Click Add and give the path to your script.
Now, make sure your script is executable.
chmod 700 stopClicking.sh
WARNING: Unfortunately, this solution requires you to save your password in plain text in the script. Because of that alone, I recommend that you do not use this method. But, if you are a risk taker and you REALLY hate that clicking noise, this might be the route for you.
Let me know in the comments if you have success or troubles with this.