HP 2510p and Ubuntu 14.04 LTS (fan speed, suspend and more)


I’m a happy user of a HP 2510P laptop. It contains Intel(R) Core(TM)2 Duo CPU, 4 Gb, Renice KE3 pata ssd disk and some more goodies. It’s over 5 years old however running 64bit linux with the ability to run KVM guests there is nothing to complain about.

I have ran Ubuntu 12.04 LTS for a long time; since the upgrade to 14.04 LTS is announced, I have decided to migrate all systems.

apt-get update && apt-get upgrade

(30 mins later, a few clicks, reboot)
Fine! Laptop humming along, few errormessages during boot, but all to be fixed. Time for coffee!

Returning to the upgrade, I resumed the laptop and whas unhappy surprised by the loud spinning fan. Yuk! So I started to dig around on the Internet for similar complaints and – more important – how these have been fixed. I bumped into a thread on bugzilla, with fan speed problems after resume. Hmmm.

Although I had snooped around on my own system, I found a directory which contains the definitions for all thermal setpoints and the current state of the cooling device. Time for a test

In /sys/bus/acpi/drivers/fan/ there is a bunch of subdirectories in which the trippingpoints and more is stored. One of these is thermal_cooling/cur_state
which contains a 0 or 1.

That implies to me, that after a boot, these files will contain a 0 or 1 and after suspend, they should also contain the same value. It’s installed after the upgrade and I have not touched these before. (and the system is running fine during all these years)

So, just after boot:

cat /sys/bus/acpi/drivers/fan/PNP0C0B\:00/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:01/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:02/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:03/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:04/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:05/thermal_cooling/cur_state
cat /sys/bus/acpi/drivers/fan/PNP0C0B\:06/thermal_cooling/cur_state

Just after suspend, I did the same. This showed the first 2 devices, :00 and :01 had a 1 as output. Weird, could that be the case? Still after suspend, with a loud fan, I did:

echo “1” > /sys/bus/acpi/drivers/fan/PNP0C0B\:00/thermal_cooling/cur_state
echo “1” > /sys/bus/acpi/drivers/fan/PNP0C0B\:01/thermal_cooling/cur_state

And the fan noise was gone! Nice. Script to do so after resume and placed this in /etc/pm/sleep.d/99_fancontrol There are live scripts in this directory, which should point you into the proper coding for such a script. Solved.

Diskfilter writes are not supported
Running LVM on all disks, this is a known error. Harmless, however I do not like superfluous messages….

On /etc/grub.d/10_linux, I replaced the quick_boot=”1″ by quick_boot=”0″ to remove this message. Additionally, during boot I see Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported during boot too often. Since this message comes from /etc/grub.d/00_header, I checked the origin from this message – also caused by quick_boot=”1″. So, again change quick_boot to ‘0’.

Then – don’t forget – to actually update grub:


Comments are closed.