Sunday, May 6, 2012

I had a Logitech MX 5500 bluetooth mouse and keyboard that unfortunately broke. They came with a small USB dongle that can be used as a bluetooth receiver. It took me forever to figure out why the device wasn't registering as a bluetooth receiver on Debian Linux 6.0. Ultimately, the issue was with the udev rules.

Friday, April 13, 2012

My particular sound card, HDA NVidia with chip Conexant CX20549 uses the snd-hda-intel kernel module. Unfortunately, the default setting enables a power saving feature which causes the speakers to make a popping noise before and after playing sound. The fix in the past has been to edit /etc/modprobe.d/alsa-base.conf and add the line:

options snd-hda-intel power_save=0 power_save_controller=N

To verify that this is working, you should be able to reload the driver and cat the current value of the kernel module parameter (but I could not get this live reload working):

alsa force-reload
cat /sys/module/snd_hda_intel/parameters/power_save

I rebooted and sound was working. Then, I took my laptop on battery power and I experienced the popping again. Sure enough, the value of power_save had been reset. After searching Google with the right terms, I came across a post which pointed me to a script that was being run by the power management software. The script was resetting the value of power_save, making it appear as if alsa-base.conf were being ignored or that putting the computer to sleep were resetting my options. To patch the script, I set the value of a variable to false. Specifically, I edited /usr/lib/pm/power.d/intel-audio-powersave and set the line starting with "INTEL_AUDIO_POWERSAVE" to:

INTEL_AUDIO_POWERSAVE=false

I hope this helps some poor soul with popping speakers. For the record, I'm running on an HP dv6636nr dv6000 series laptop with Ubuntu 11.10 32-bit.