Thinkpad Fan Noise Problem: Light at the End of the Tunnel

Work/comment area for scripts and utilities like TP Fan, 2-finger scrolling, etc
Message
Author
troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#541 Post by troubadix » Thu Feb 15, 2007 1:37 pm

namezero wrote: Maybe that should be posted as v0.19 of offical tpfancontrol on sourceforge?
...may be some day :roll: (btw: on sourceforge there has always been the non service version). But for now (so far so good) I put the (cel/far)/nolog versions into the link of my signature (to update tpfcsvc while up and running, double click uninstall.bat before install.bat).

For anyone who's interested in the source code:
http://staff-www.uni-marburg.de/~schmit ... roject.zip (180 kB )

Ciao, troubadix
Last edited by troubadix on Fri Mar 02, 2007 9:55 am, edited 1 time in total.

billyrom
Posts: 16
Joined: Fri Jun 30, 2006 1:45 am
Location: EU

#542 Post by billyrom » Sat Feb 17, 2007 3:49 am

troubadix wrote:
billyrom wrote:Any chance of celsius version without logging?
fancontrol.ini:
Log2File=1 enables, Log2File=0 disables writing to fancontrol.log

http://staff-www.uni-marburg.de/~schmit ... _nolog.zip
Thank you for this version. But there is one little bug - even when there is Log2File=0, fancontrol.log file is created and locked by process. But if it is much more programming, I can live with this, because there are no writes to the log file when process is running.

Than you again

billyrom

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#543 Post by troubadix » Sat Feb 17, 2007 1:53 pm

billyrom wrote: But there is one little bug - even when there is Log2File=0, fancontrol.log file is created and locked by process.
Thnx for feedback :D , please keep on. I fixed that and added an option for changing the 3 letter code of thermal sensors (link in signature).

Ciao, troubadix

billyrom
Posts: 16
Joined: Fri Jun 30, 2006 1:45 am
Location: EU

#544 Post by billyrom » Sun Feb 18, 2007 3:41 am

Good work.

Thank you!

billyrom

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#545 Post by WPWoodJr » Mon Feb 19, 2007 12:22 am

Please can you tell me what is the difference between the T60 version and the normal version? Is it just a change to the fancontrol.ini file? Or are there code changes as well? Because I would like to use the new version with my T60p but the T60 version has not been updated recently.

How did you determine the temperature ranges for the T60 that are in fancontrol.ini?

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#546 Post by troubadix » Mon Feb 19, 2007 3:18 am

WPWoodJr wrote:Please can you tell me what is the difference between the T60 version and the normal version? ... How did you determine the temperature ranges for the T60 that are in fancontrol.ini?
No changes in code, just in temp sensor names and temperature ranges for the T60 in fancontrol.ini, data from here and:

http://thinkwiki.org
http://thinkpad-forum.de
http://thinkpad-forum.de/thread.php?pos ... #post92022

You can leave T60 version and update, keep your data and modify fancontrol.ini from last version (v021, signature link) for your needs.

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#547 Post by WPWoodJr » Mon Feb 19, 2007 5:33 pm

troubadix wrote: No changes in code, just in temp sensor names and temperature ranges for the T60 in fancontrol.ini, data from here and:
...
You can leave T60 version and update, keep your data and modify fancontrol.ini from last version (v021, signature link) for your needs.
I'm a first time user. So, should I just take the temperature ranges from the T60 version's fancontrol.ini and replace the ranges in the v021 fancontrol.ini?

The temp sensor names is a new addition to fancontrol.ini - they are not in the T60 version of fancontrol.ini. Are the sensor names the same for the T60?

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#548 Post by troubadix » Tue Feb 20, 2007 4:52 am

WPWoodJr wrote: .. should I just take the temperature ranges from the T60 version's fancontrol.ini and replace the ranges in the v021 fancontrol.ini?
Yes!
WPWoodJr wrote:The temp sensor names is a new addition to fancontrol.ini - they are not in the T60 version of fancontrol.ini. Are the sensor names the same for the T60?
As the identy of thermal sensors in different types of thinkpad is not really well known (only the location in EC storage ["EC offset"]), it's up to the user to chance the 3 letter names for his needs. This will not change to functionality of the code. Default option are the name in T43 as mentioned here:

http://www.thinkwiki.org/wiki/Thermal_Sensors

troubadix

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#549 Post by WPWoodJr » Tue Feb 20, 2007 10:12 am

So, I am going to use these sensor names as posted here for the T60:

Code: Select all

EC offset   Index in "thermal"   Location (estimated)
0x78        1                    CPU 0
0x79        2                    HDD
0x7A        3                    HDD
0x7B        4                    GPU
0x7C        5                    Battery
0x7D        6                    n/a
0x7E        7                    Battery
0x7F        8                    n/a
0xC0        none                 ?
0xC1        none                 ?
0xC2        none                 ?
I've updated fancontrol.ini as follows:

Code: Select all

SensorName1=CP0
SensorName2=HDD
SensorName3=HDD
SensorName4=GPU
SensorName5=BAT
SensorName6=sn6
SensorName7=BAT
SensorName8=sn8
SensorName9=sn9
SensorName10=snA
SensorName11=snB
SensorName12=snC
Does anyone have any better information on the T60 sensors?

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#550 Post by WPWoodJr » Tue Feb 20, 2007 10:41 am

Here is an updated fancontrol.ini for the T60, Fahrenheit, based on v021 fancontrol.ini:

Code: Select all

//
//  >>>> T60 Fahrenheit Edition: all temperatures in °F  <<<<
//
// -----------------------------------------------------------------
// ENGL:
// "Active=0" program just reads config. 
// "Active=1" allow program to modify fan.
// "Active=2" program will come up in smart mode.

// DE: 
// bei "Active=0" wird nur die Konfiguration ausgelesen. 
// bei "Active=1" die Veränderung des Lüfterverhaltens ist aktiviert.
// bei "Active=2" startet das Programm im "Smart"-Modus. 

Active=2

// -----------------------------------------------------------------
// ENGL: check temperatures every x seconds (default 5)
// DE: Überprüft die Temperaturen alle x Sekunden (Standard ist 5).

Cycle=5

// -----------------------------------------------------------------
// ENGL: Hide the program in the systray when minimizing (set to zero
// to minimize to taskbar with info displayed in the window title)

// DE: Versteckt das Programm unten rechts in der Windows-Taskleiste,
// wenn es minimiert wird. (bei 0 wird das Programm in die Taskbar 
// minimiert und zeigt Informationen im Fenstertitel an.)

MinimizeToSysTray=1

// -----------------------------------------------------------------
// ENGL: The close button [X] minimized the program rather than 
// ending it (End via right click in the system tray icon instead).

// DE: Der "Close"-Button minimiert das Programm, anstatt es 
// zu beenden. (stattdessen beendet man es mit einem Rechts-Klick 
// in der Taskleiste.)

MinimizeOnClose=1

// -----------------------------------------------------------------
// ENGL: Minimize (or hide to systray) immediately when starting
// DE: Minimiert es (oder versteckt es in der Taskleiste) beim Start.

StartMinimized=1

// -----------------------------------------------------------------
// ENGL: disable close function, useful when running as a service
// DE: Programm kann manuell (aus Versehen) nicht gestoppt werden

DisableClose=1

// -----------------------------------------------------------------
// ENGL: Temperature thresholds for turning the taskbar icon
// yellow orange red (Smart and Manual mode only and
// only together with MinimizeToTray=1)

// DE: Temperaturgrenzwerte, die das Symbol in der Taskbar gelb,
// orange bzw. rot färben. (Nur im "Smart"- und "Manual"-Modus 
// in Kombination mit "MinimizeToTray=1" verfügbar.) 

// T43 IconLevels=131 149 158
// T60 
IconLevels=152 158 167

// -----------------------------------------------------------------
// ENGL: Beep frequency and duration (in ms) for successful
// fan state changes. (Set either or both to zero to 
// disable)

// DE: Frequenz und Dauer des Piep-Signals (in ms), das eine erfolgreiche
// Änderung des Lüfterzustands ankündigt. (Um den Piepton abzuschalten,
// setzen Sie entweder einen oder beide Werte auf 0.)

FanBeep=0 0

// --------------------------------------------------------
// ENGL: If this max number of consecutive EC read errors occur
// program will switch fan back to bios mode and exit

// DE: Sobald die maximale Anzahl aufeinanderfolgender EC-Lesefehler
// erreicht ist, schaltet das Programm auf den BIOS-Modus um 
// und wird beendet.

MaxReadErrors= 10

// --------------------------------------------------------
// ENGL: Log2File=1 enables, Log2File=0 disables 
// writing to fancontrol.log

// DE: Log2File=1 aktiviert, Log2File=0 deaktiviert
// Schreiben nach fancontrol.log

Log2File=1

// --------------------------------------------------------
// ENGL: list (separated by comma) of sensors to ignore when
// determining the max. temperature.  (Use upper case,
// e.g "IgnoreSensors=XC1,BAT")

// DE: Liste der Sensoren, getrennt durch Kommata, die bei der
// Ermittlung der Maximaltemperatur ignoriert werden. (Verwenden
// Sie Großbuchstaben, z.B. "IgnoreSensors=PCI,BAT".)

IgnoreSensors=

// ---------------------------------------------------------
// ENGL: List of 3 letter sensor names (T43)
// DE: Liste von Sensorname (jeweils 3 Buchstaben)

// SensorName1=CPU
// SensorName2=APS
// SensorName3=PCM
// SensorName4=GPU
// SensorName5=BAT
// SensorName6=X7D
// SensorName7=BAT
// SensorName8=X7F
// SensorName9=BUS
// SensorName10=PCI
// SensorName11=PWR
// SensorName12=XC3

// T60 - see http://www.thinkwiki.org/wiki/Thermal_Sensors#ThinkPad_T60
SensorName1=CP0
SensorName2=HDD
SensorName3=HDD
SensorName4=GPU
SensorName5=BAT
SensorName6=sn6
SensorName7=BAT
SensorName8=sn8
SensorName9=sn9
SensorName10=snA
SensorName11=snB
SensorName12=snC

// --------------------------------------------------------
// ENGL: temperature levels with associated fan levels
// (for the fan to come back, temperature must fall
// down to previous level).  There may be more or
// less levels in this list.  The first one should
// have a fan speed of zero and is the "turn off"
// temperature.
//
// Fan speed of 64 is extreme and may be an *unsupported*
// and *damaging* mode.  A fan speed of 128 setting is
// not really a fan speed in itself but will instead switch
// fan control to BIOS mode (0x80).  The idea of this
// is to let the program get out of the way and let the
// BIOS handle extremes.(and then switch back to smart if
// the temperature is okay again)

// DE: Im Folgenden sind die Temperaturpegel samt den jeweils
// zugeordeten Lüfterstufen aufgelistet. (Sobald die Temperatur in
// den Bereich eines niedrigeren bzw. höheren Pegels wechselt, wird
// die Lüfterstufe automatisch angepasst und folglich verringert bzw.
// erhöht sich die Geschwindigkeit des Lüfters.) Diese Liste kann
// weniger oder auch mehr Stufen beinhalten. Sinngemäß sollte die
// erste Stufe die gewünschte Temperatur definieren, bei der sich
// der Lüfter ausschaltet (Lüftergeschwindigkeit 0)
//
// Die Lüftergeschwindigkeit 64 ist ein Extremwert und könnte somit
// eine von IBM nicht unterstützte und sogar schädigende Betriebsart
// darstellen.  Die Lüftergeschwindigkeit 128 ist an sich keine eigene
// Geschwindigkeitsstufe, sondern gibt stattdessen die Kontrolle
// des Lüfters an das BIOS (BIOS mode, 0x80) zurück. Der Hintergrund
// dieser Einstellung ist die Möglichkeit, das Programm auszuschließen,
// um Extemfälle wieder vom BIOS steuern zu lassen. (Sobald sich die
// Temperatur wieder im Normbereich befindet, wird erneut der Smart
// Modus aktiviert.)

// T43
// Level=122 0
// Level=131 1
// Level=149 3
// Level=158 6
// Level=167 64

// T60
Level=147 0
Level=152 1
Level=158 3
Level=163 6
Level=167 64

namezero
Posts: 42
Joined: Mon Nov 08, 2004 6:43 pm
Location: San Jose, CA

#551 Post by namezero » Tue Feb 20, 2007 4:23 pm

Notice that fancontrol.ini above is for temperature in fahrenheit.

Thanks again to troubadix for the update of tpfancontrol.

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#552 Post by troubadix » Tue Feb 20, 2007 5:54 pm

namezero wrote: Thanks again to troubadix for the update of tpfancontrol.
it was a pleasure for me :D :!:

And for all those not wanting to run the service version, here are the non service versions of v021 celsius/fahrenheit (may be helpful while running Vista):

http://staff-www.uni-marburg.de/~schmitzr/tpfc.zip

Ciao, troubadix

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#553 Post by WPWoodJr » Wed Feb 21, 2007 1:21 am

I think I may have found a bug?

My levels are set as follows in tpfancontrol.ini:

Code: Select all

Level=152 0
Level=154 1
Level=158 4
Level=167 7
Yet the log says this on startup:

Code: Select all

[2/21/2007 1:07:02 AM]   Levels= 150°F -> 0,  152°F -> 1,  158°F -> 4,  167°F -> 7
The first two levels say 150 and 152, not 152 and 154 as I asked. Is this a safety feature? a bug?

One other question - is level "64" safe to use? It seemed to slowly over 30 seconds or more rev my fan up to 4500 rpm, and there were no updates to fan speed readings while it did this.

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#554 Post by troubadix » Wed Feb 21, 2007 3:12 am

WPWoodJr wrote: Is this a safety feature? a bug?

is level "64" safe to use?
It's just an implication of rounding differences calcutating fahrenheit values single precision to celsius and vice versa. For internal the code is still based on celsius. I should fix that in a later version. To set the value of Fan speed is up to the user depending on different types of thinkpads (64 is still experimental, mind the remarks at fancontrol.ini).

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#555 Post by WPWoodJr » Wed Feb 21, 2007 9:33 am

That's some rounding error! 2 parts in 150, yet the rounding is fine on the higher values of 158 and 167?

Can you give some insight as to what level 64 does?

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#556 Post by WPWoodJr » Wed Feb 21, 2007 9:40 am

WPWoodJr wrote:That's some rounding error! 2 parts in 150, yet the rounding is fine on the higher values of 158 and 167?
I see how it happens with integer truncation:

152 -> 66.66 -> 66
66 -> 150.8 -> 150

I'll just use the Centigrade version :-)

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#557 Post by troubadix » Wed Feb 21, 2007 2:12 pm

WPWoodJr wrote: I see how it happens with integer truncation
You are right of course, in correct terms it's not a rounding error but an effect of integer truncation:

read Fahrenheit integer->convert to Celsius integer (use that for fan control)->convert to Fahrenheit integer and print out.
152->66,66->66->150,8->150
this way the code is working with 66 °C, 1,2 degrees Fahrenheit less the user wants

using a rounding function:
152->66,66 round to 67-> 152,6 round to 153 (in printout)
this way the code is working with 67 °C and 0,6 degrees fahrenheit more than the user wants :shock: ...that would not be a safety feature...:(

OK :idea:, we use a combination: first truncation (save!) then rounding (result will look fine!)
152->66,66->66->150,8 rounding 151 :shock: ...never get the 152 back :( (->keep it, show it!).

troubadix

WPWoodJr
Junior Member
Junior Member
Posts: 393
Joined: Wed Nov 08, 2006 7:45 pm
Contact:

#558 Post by WPWoodJr » Wed Feb 21, 2007 6:02 pm

On my T60p 2.33GHz w/ATI FireGL 5250, using BIOS control mode, the fan never goes above level 3/4/5 (about 3500 RPM) even when the GPU gets up to 95 deg C from running one of the ATI demos. I confirmed the same behavior on a Z61p.

I've never seen the fan above 3500 or so when in BIOS mode. Is this normal? I can set it up to 4500 or so with TPFanControl in Smart or Manual modes.

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#559 Post by troubadix » Thu Feb 22, 2007 9:07 am

WPWoodJr wrote:Can you give some insight as to what level 64 does?
in tpfc it's written to embedded controller register 0x2f and the assumption is this means "full power" .
For most information about managing thinkpad fan speed comes out of linux to get more go to:
http://ibm-acpi.sourceforge.net/
http://ibm-acpi.sourceforge.net/README
download and unzip this and open with text editor (i.e.wordpad) to read the comments.

troubadix

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#560 Post by troubadix » Thu Feb 22, 2007 5:40 pm

troubadix wrote: read Fahrenheit integer(->convert to Celsius integer for calculation) ->keep it, show it!
that's the way I updated the code for fahrenheit version of tpfcserv (download link in signature).

troubadix

skanky
Senior Member
Senior Member
Posts: 517
Joined: Fri Oct 15, 2004 11:25 am
Location: London, UK

#561 Post by skanky » Fri Feb 23, 2007 1:29 am

is this working in vista yet? (as a service)

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#562 Post by troubadix » Fri Feb 23, 2007 2:31 am

skanky wrote:is this working in vista yet? (as a service)
running ,yes (look at the logfile), showing no taskbaricon and main window only with this advice:
http://forum.thinkpads.com/viewtopic.ph ... 051#247051

vinceg84
Posts: 17
Joined: Sat Feb 24, 2007 1:43 pm
Location: Trenton, MI

#563 Post by vinceg84 » Sat Feb 24, 2007 5:35 pm

Hi, excuse me for not being very knowledgeable about programming but I downloaded the T60 version of fancontrol to try and quiet the fan on my T60 Widescreen which seems to run at medium speed ALL the time. When I installed it the fan instantly quieted down but I wasn't able to find any application to control the program through. Is there something I'm missing here? Isn't there a way I can control the fan speed or monitor the temp of my system with tpfancontrol? Thanks in advance!

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#564 Post by troubadix » Sun Feb 25, 2007 3:30 am

Hi!
vinceg84 wrote:Isn't there a way I can control the fan speed or monitor the temp of my system with tpfancontrol?
If you are running WinXP you should have the taskbaricon with a "T" to click on for control. But you're running Vista I guess. There are two ways of controlling. 1st look at c:\tpfancontrol\fancontrol.log (open with texteditor) or 2nd follow this advice:

http://channel9.msdn.com/Showpost.aspx?postid=263925

for tpfc_service running in session 0 to interact with Desktop session 1

There is a 3rd way for Vista: keep your temp settings in mind from fancontrol.ini, i.e.:
IconLevels=67 70 75
Level=64 0
Level=67 1
Level=70 3
Level=73 6
Level=75 64
a bit higher for T60 than default

uninstall tpfancontrol as service (c:\tpfancontrol\uninstall.bat), download the nonservice version:

http://staff-www.uni-marburg.de/~schmitzr/tpfc.zip

and run it with admin rights as local application with the "old" T60 settings.

Ciao, troubadix

vinceg84
Posts: 17
Joined: Sat Feb 24, 2007 1:43 pm
Location: Trenton, MI

#565 Post by vinceg84 » Sun Feb 25, 2007 1:58 pm

Hi, thank you for the help! I do have XP Pro, but when I click on the "fancontrol_service" icon that look like a "T" nothing happens. Why is this? And yes, I have installed the program. It's just that when I click on the application icon that looks like a "T" nothing happens.

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#566 Post by troubadix » Sun Feb 25, 2007 4:44 pm

@vinceg84: just take the RIGHT mouse button to click on taskbaricon and then from the menu "SHOW WINDOW" or double click LEFT mouse button on taskbaricon.

vinceg84
Posts: 17
Joined: Sat Feb 24, 2007 1:43 pm
Location: Trenton, MI

#567 Post by vinceg84 » Sun Feb 25, 2007 6:36 pm

Edit: Nevermind I found it, thanks!

sparta.rising
Senior Member
Senior Member
Posts: 886
Joined: Tue Nov 29, 2005 1:27 pm
Location: Boston, MA

#568 Post by sparta.rising » Fri Mar 02, 2007 2:15 am

How do I turn off the "Could not set fan state" sound alarm?

troubadix
Junior Member
Junior Member
Posts: 281
Joined: Wed Sep 14, 2005 1:33 pm
Location: Marburg, Germany
Contact:

#569 Post by troubadix » Fri Mar 02, 2007 9:25 am

@sparta.rising: as it is a security feature i don't like to make it switchable at all :( , but just for you :D .exe-files without that sound:

http://staff-www.uni-marburg.de/~schmitzr/tpfc_4u.zip

rename original C:\tpfancontrol\fancontrol_service.exe to i.e. C:\tpfancontrol\fancontrol_service_bak.exe,
copy new fancontrol_service.exe to C:\tpfancontrol\,
double click restart.bat

ttk_2k
Posts: 6
Joined: Tue Sep 26, 2006 1:01 pm
Location: Greece & China

#570 Post by ttk_2k » Sun Mar 04, 2007 8:21 pm

I'm having XP pro, it seems the program doesn't really controls the fan after every system reboot.

I have following settings:

Code: Select all

Level=52 0
Level=55 1
Level=62 4
Level=70 7
Level=75 64
but the fan still runs at "4" even the CPU temp is 53 C. But it works fine if I "restart" the program.

Yes I double checked the installation and am sure I did followed the whole instruction, I'm using the v0.21 svc.

Any help? Thanks for the program!! And thank you for any help!!

EDIT:

OK, so I noticed this in fancontrol.ini:
for the fan to come back, temperature must fall down to previous level
And I also see the temp isn't associating only with the CPU's temp. So understoood, thanks all the same!

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “ThinkPad Utility Work Area”

Who is online

Users browsing this forum: No registered users and 3 guests