Tag Archives: nhc

Fan control for Lenovo S10-3T

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

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.

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)