We try to develop (with great succes so far) an aplication that controls the fan on many modern HP notebooks. This is the thread that led to the tool, the good stuff starts from this post.
The issue we've run into is this:
- At cold boots and after a standby the EC seems "stuck", as the CPU and GPU temp bytes are locked. The solution is to open aida at sensors page, or any other monitoring tool that reads ACPI info. This operation "wakes" the EC in 0.01 seconds and both cpu/gpu temp bytes show the real temp and can be manipulated/used as reference for threshold levels. http://img10.imagesh...sensorsinai.jpg
The tool works like this:
- At start it fakes the cpu temp byte (38 (26hex)) at a low, user selectable value.
- Uses GPU temp byte (50 (32hex)) as refference for when to turn the fan on/faster/lower/off etc.
- Byte 47 controls the fan. 0-254 (dec) range sets the fan from max to lowest speed. As the cpu temp is faked at the low value, the reset command (255 dec, FF hex) turns the fan off at any time.
- When the program closes, the real cpu temp is reset by sending 00 to byte 38 and FF to byte 47.
We seek help in implementing some acpi commands that aida uses when it fingers the EC on sensors page. This is the temporary fix, but some users might not enjoy so many tray icons and the constant use of aida.
Some hints, info etc would be appreciated. Thanks in advance.