Intel® Business Client Software Development
Support for Intel® vPro™ software development and the technologies associated with Intel vPro platforms.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Mother Board (System) Temperature using C#

ibn-batuta
Beginner
264 Views
Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.
0 Kudos
3 Replies
Lance_A_Intel
Employee
264 Views

Well I was going to suggest WMI, but sounds like you didn't find what you need.

Intel has some utilities also, but I am not aware of an API or SDK for this.

Maybe someone else on the forum can provide some info.
msh84
Beginner
264 Views
Quoting - ibn-batuta
Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.
Hi,

Hopefully I am able to contribute.

I also searched for a way to retrieve CPU temperature data, (tried WMI) and almost gave up.
Until i came across :http://openlibsys.org/.
The DLL wil give you acces to the the IA32_TERM_STATUS registry in the Machine System Registry.
As far as i have been able to test it will only work on Intel Core processors and/or newer. (pentium 4 doesnt return anything). Maybe these older processors dont use Digital Thermal Sensors?
It doesnt directly retrieve youre core temperatures, but retrieves the value to the thermal Junction of your processor. (This TJ value can differ depending on Model or Stepping)
So for example if you set the Thermal Junction to 100 and you retrieved 67 out of the registry the temperature would be 100 - 67 = 33 C.
Here http://www.hardforum.com/showthread.php?t=1192840i found the required information for accessing and reading the correct HEX values.


Hope this helpes,

MSH84

jacace
Black Belt
264 Views
Quoting - ibn-batuta
Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.

Hi there,

In the SDK thereare no CIM (or AMT_XXX) classes to directlyaccess that information via WMI.
But there is a second option: PETs.
AMT supports SNMP, that means that managed machine generates some platforms events traps -PETs- that travel through the wire using the SNMP protocol.
So, from yourmanagement application you can register to listen those events; there are 33 types of events for specific actions happened in AMT machine, some of those are the ones you're looking for: OverTemperature Event, OverTemperatureWarning Event, GenericCriticalTemperature Event and so on.

Javier Andrs Cceres Alvis
Reply