Fan control for Lenovo S10-3T

Posted byChristian Moser Posted on3. February 2011 Comments6

The Lenovo S10-3T is a very smart device but when it comes to noise, it is very annoying. So I decided to modify a fan control profile written in C# for Notebook Hardware Control (NHC), which was originally programmed for the Lenovo S10 netbook.

It required also some changes to make the file compatible with the newest release of NHC version 2.4.3 (32 Bit only).

click here to download the S10-3T ACPI profile and copy the files to the NHC acpi directory. (tested with s10-3T bios version: 62)

key functions

// get CPU temperature from embedded controller

return ACPI.FIELD.Read("_SB.PCI0.LPCB.EC0.RTMP", ref _TMP._tmp);

This function reads the actual cpu temperature from the field “RTMP” and stores it into the variable _tmp. This is needed to check the actual cpu temp.

// override CPU temperature with fake value

ACPI.FIELD.Write("_SB.PCI0.LPCB.EC0.RTMP", TEMPERATURE_FAN_ON.temperature_fan_on

This function does all the magic, it overwrites the current cpu temperature with a fake temperature value (temperature_fan_on). This makes the ACPI-controller believe that the CPU is still running cool so it won’t turn the fan on. The field RTMP gets refreshed automatically, so it’s essential to rewrite this fake value every 50 ms.

parameter description

In the following, I’m going to give a brief introduction to the available parameters.

CPU FAN ON Threshold

If this value is reached, the fan starts spinning

CPU FAN OFF Threshold:

If this value is reached, the fan starts idling.

Temperature Value for CPU FAN ON:

If the fan gets triggered, it will start spinning with a speed matching this temperature value. The higher this value was set, the faster and louder the fan will spin till it reaches the CPU FAN OFF Threshold value.

Temperature Value for CPU FAN OFF:

If the fan gets deactivated, it will start idling with a speed matching this temperature value. The lower this value was set, the slower and quieter the fan will idle till it reaches the CPU FAN ON Threshold value.

With the settings set as shown, it is possible to surf the web and doing office work without any disturbing fan noise.

Let me know it works for you! Credits to Carsten (the creator of the S10 ACPI profile)

Category

6 People reacted on this

  1. Thanks for the answer Christian!

    I think the main nhc app working fine on win8, no compatibility issue…..
    … maybe the Lenovo acpi files cause the real problem or god know:P

    So I waiting for and thx everything!

  2. Well, I don’t have a Windows 8 system to test, currently. I am not even sure if NHC is Win8 compatible. Will come back on this if I know more.

    Regards Christian

  3. Hi.
    I would like to use it with win 8 but the acpi files seems like wrong…
    I always get this error message:
    ACPI control system not yet configure for this system

    Any idea…?

  4. Wonderful, thank you for this tip. It’s nice to finally be able to hear myself think again. 🙂

  5. You’re welcome, I’m glad it worked for you! Regarding the spec sheet from intel an Atom N450 CPU could handle a core temperatur of 100 °C. I believe there’s also an hardware emergency shutdown in such a case. You don’t have to worry about the CPU lifetime.
    You can ignore the NHC error message.

  6. Hello from Turkey. Last week i bougth my s10 tablet and i upgraded with Win 7 Home Pre. Everything works great but the fan noise is only disturbing thing on this notebook. Your solution works perfectly. But i have a doubt about the CPU’s temp. How much degrees can CPU handle? And NHC shows an error message: “ACPI Control System problem detected.” Is is a problem or can i ignore it? Thanks by the way. This is only functional solution on the net.

Comments are closed.