05-05-2009 04:34 PM - edited 05-05-2009 04:40 PM
The values should NOT be the same.
CPU_FAN_ON_temperature and CPU_FAN_OFF_TEMPERATURE are the values where you want the fan to start and to stop.
Temperature_Value_for_FAN_ON is the value NHC writes back when the fan should be on. A high value results in a fast running fan and a fast cooling of the system, with a low value the fan runs slower and cooling takes longer.
Temperature_Value_for_FAN_OFF is the value NHC writes back when the fan should be off.
I've made these values user editable because it's a litte bit playing around to find proper values for your system.
The guys from the netbooknews.de forum found out that top-down
is a good setting for them.
05-07-2009 06:53 AM
So, Carsten, this is the way that ACPI of the NHC should look?
CPU FAN ON: 59
CPU FAN OFF: 30
Temperature Value for CPU FAN ON: 70
Temperature Value for CPU FAN OFF: 60
05-07-2009 07:08 AM - edited 05-07-2009 07:08 AM
No, exactly the other way around.
CPU_FAN_ON: 70°C / 75°C => depends on read value
CPU_FAN_OFF: 58°C / 65°C => depends on read value
Temperature_Value_for_CPU_FAN_ON: 59°C / 55°C => written value that replaces original temperature
Temperature_Value_for_CPU_FAN_OFF: 30°C / 35°C => written value that replaces original temperature
Did anybody had a look at the S10FanControl source and has an idea where the problem with the battery issue might be?
05-08-2009 01:38 PM
I tested the fan control with the 67 bios on a S10e. The battery problem seems to be gone but I only tested for about half an hour. What happend was that after a while the reported heat would go to 80°C (displayed by fan control coretemp gave normal readings) the fan would go to level three for 5 to 10 seconds and the return to normal.
05-08-2009 05:10 PM
Tested the S10 67 on S10e all is working, S10 Fan Controll ..un...till you restart... so stop the SFC prog and restart...
no battery think its on ac power ....
but not only in xp
in quickstart(little linux), w7rc1 and ubuntu 9.04 ...(thx, to quad boot i can do a fast check on all sys')
no battery think its on ac power.... hmmm... all systems influenced ? doe a little xp prog hmmm.
swap battery on ac ...
out and in ...
on every system battery is showed... magic wand
i think that this is not a S10 Fan Control fault....
now i switch back to the normal latest bios for s10e 66 and nhc with modprofile that works...
05-10-2009 12:25 PM
I haven't tested the S10 67 yet, but I do not think that this battery thing is a BIOS issue. For me (S10e 66), I only have this problem when S10FanControl is running (next to flickering backlight) and there is absolutely no problem using NHC or no fan control.
The values in the embedded controller are independent from any OS. So if the battery detection fails it fails under every OS and will not come back until the battery is re-initialized by removing it and putting it back (or perhaps by a cold restart, not tested).
Of course it's only a guess.
I also guess the problem is that S10FanControl has no exclusive access to the embedded controller. I've tested the read-procedure with a timer interval of 50ms. What I got was not good. If there is a coincidence that two applications try to access the interface at the same time, it is possible that the pointer to the 0x50 jumps away and the value is read at a wrong location. So if this happens while writing to the embedded controller everybody can assume what will happen. Setting the embedded controller to burst mode does not help and it looks like there is no way to set the global lock using VB and WinIo.
I'd really like to know how NHC works internally...
05-16-2009 03:14 AM - edited 05-25-2009 06:55 AM
Well it looks like Lenovo dropped this matter after all. Anyway, I have here another fan controller to add to the bunch. I have been using it for some time now without any problems. It is for both S10 and S10e.
What the program does is basically the same as others. The S10's fan speed is controlled according to the ACPI thermal zone temperature. By over writing the values which resides at offset 50h of the EC register at an appropriate timing, the ACPI thermal zone temperature is over ridden. The program is written in C and uses WinIo created by Sysinternals. The GUI version is available now.
It should be noted that the fan speed temperature thresholds differs with BIOS version. For 14CN67WW and 14CW90WW the fan changes speed at temperatures 60c, 65c, 70c, and 80c. Furthermore, the BIOS will automatically shutdown the S10 if the temperature reaches 90c.
The program has a fail safe mechanism that automatically disables itself if the actual ACPI thermal zone temperature goes above 85c. This allows the BIOS to regain control and the fan will work as intended by Lenovo. If the temperature drops below 85c the program will take over control again.
To run the program, you will need administrative privileges.
Known working BIOS versions: 14cn58ww, 14cn60ww, 14cn67ww, 14cn90ww
The program will work with any BIOS version as long as the BIOS uses the 50h EC register readouts to control the fan.
Higher priorities for EC commands.
Usage: The program will run in the system tray. Double click or right click and use the menu to open the program. To determine the BIOS temperature thresholds, use the 'Setup' button. To run at boot time, place a short cut in the startup folder.
Usage: S10Fan.exe 60 65 70 80 70 75 80 85
The first 4 values are the BIOS temperature thresholds, the latter 4 are new thresholds that we want to over ride with. To determine the BIOS temperature thresholds, use the 'test' option.
Usage: S10Fan.exe 70 75 80 85
05-16-2009 04:38 AM - edited 05-16-2009 04:47 AM
As you say you use C, perhaps you can have a look at this description:
This might be the commands NHC uses as they look very similar, but I'm too stupid to get a .dll from the winbase.h to use - or say: to test - it in VB.
I still suspect that the communication with WinIo over ports 0x62 and 0x66 causes this battery issue...
05-16-2009 05:08 AM - edited 05-16-2009 05:11 AM
My program does use the standard ports to r/w the EC registers. However, I have not had any battery issues. Everything works properly. This is with S10 BIOS version 14CN67WW.