Manual fan control with /proc/acpi

Thus far, I have run into only two small problems with the 300Mhz Celeron I brought home a few weeks ago. The fan in the machine is rather noisy, and seems to spin a little more than is really necessary. Personally I doubt the machine would run so hot that the fan would be absolutely critical, and even if it did overheat the system would shut itself down. A noisy fan isn’t going to save it.

Shutting down the fan is fairly easy; in Arch Linux, this one-liner from a root prompt will do the trick.

echo -n 3 > /proc/acpi/fan/FAN/state

After that you can check the status of the fan by rereading that same location.

cat /proc/acpi/fan/FAN/state

echoing a 0 to the same file will cause the fan to turn on again. Rebooting reverts that setting too; in my case this is an always-on machine so I can comfortably enter that line once every two or three weeks, as luck will have it.

The only other problem I’ve had is trying to figure out why Arch Linux sometimes can’t recognize an external hard drive connected over a 1.1 port. If I restart the machine the drive appears in fdisk -l, but if I unplug it and plug it back in, it’s unable to sense it. That I will chase some more, in the future.

9 thoughts on “Manual fan control with /proc/acpi

  1. Jakob

    Probably the posibility to override fan control depends on hardware and/or BIOS, this laptop does not respond to any changes made to ‘/proc/acpi/fan/FAN/state’.

    Reply
    1. K.Mandla Post author

      It might. I’ve also noticed that the fan on this machine will start up again over time, with the state continuing to show “off.” It’s possible there is a better method than this, even though it works for a little while. I’ll see if I can find another answer. …

      Reply
    2. mulenmar

      This netbook, an Acer Aspire One 751h, doesn’t even have anything in its /proc/acpi/fan psuedo-directory — even with the fan, acer-wmi, and acerhdf modules modprobed…

      Reply
  2. Pingback: Links 7/5/2010: RHEL and CentOS 3 EoL, Fedora 13 Near | Techrights

  3. renkinjutsu

    what kernel version are you using?

    it just spits out “write error: no such device” when i redirect io to the state file.

    Reply
    1. K.Mandla Post author

      This is 2.6.33-ARCH, which I believe is the most recent Arch kernel. It’s possible that different machines or different architectures have fan states in different locations in /proc, so you might have to poke around. I know, for example, that some Thinkpads have /proc/acpi/ibm/fan.

      Reply
  4. Pingback: GoblinX Project » GoblinX Newsletter, Issue 249 (05/09/2010)

  5. Pingback: Not with a whimper but a bang « Motho ke motho ka botho

Leave a reply to K.Mandla Cancel reply