I’m developing a tool ,similar to CPU-Z or everest, but I don’t know how to get hardware temperature,
such as motherboard temperature,CPU temperature , videocard temperature and harddisk temperature .
I tried to get motherboard temperature from WMI,but sometimes the resultis not accurate.
Who can give me some tips or documents?
thanks!
xxxxx@gmail.com wrote:
I’m developing a tool ,similar to CPU-Z or everest, but I don’t know how to get hardware temperature,
such as motherboard temperature,CPU temperature , videocard temperature and harddisk temperature .
I tried to get motherboard temperature from WMI,but sometimes the resultis not accurate.
Who can give me some tips or documents?
What do you mean by “not accurate”? Do you mean that, on some systems,
the numbers don’t make sense? Or do you mean that, on ONE system, the
numbers are sometimes right and sometimes wrong?
CPU-Z and Everest have a long list of BIOS and motherboards, with
special instructions on how to interpret the temperature data for each
one. There basically are no universal standards.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
To Tim Roberts:
I mean on some systems, the numbers are different from the numbers of CPU-Z or everest.
“CPU-Z and Everest have a long list of BIOS and motherboards” , maybe I need to buy the sdk of CPU-Z…
CPU temp can be read by a MSR.
Disk temperature requires a SCSI command to the disk.
Motherboard temperature is wished to be supported by ACPI and thus WMI, but, since the BIOSes usually do not include this to ACPI table, usually the WMI temperature sensors do not work.
So, most such software uses PortIO driver to read the proper chip itself at ports level.
On server-grade HW, you can also use IPMI for temperatures and fan speeds.
–
Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com
wrote in message news:xxxxx@ntdev…
> I’m developing a tool ,similar to CPU-Z or everest, but I don’t know how to get hardware temperature,
> such as motherboard temperature,CPU temperature , videocard temperature and harddisk temperature .
>
> I tried to get motherboard temperature from WMI,but sometimes the resultis not accurate.
>
> Who can give me some tips or documents?
> thanks!
>
>
>
On 10-Jul-2014 06:49, xxxxx@gmail.com wrote:
I mean on some systems, the numbers are different from the numbers of CPU-Z or everest.
So maybe CPU-Z is wrong? How do you know?
– pa
You can get information for the thermal zones by accessing the ACPI tables,
although I have never done this.
For measuring CPU temperatures, all modern intel processors expose
temperature information through the IA32_THERM_STATUS MSR. On AMD it’s more
complicated and you need to access PCI config space either by using the
configuration access and data I/O ports to access the Thermtrip and CurTmp
registers. On later models you can also map to the MMIO configuration base
address and access the registers directly. Different processor families (and
sometimes different revisions too) use different registers and different
temperature scales, you need to go through all the bios and kernel
development guides (BKDG). Btw make sure you access the registers in an
atomic fashion to avoid races with the rest of the OS.
//Daniel
wrote in message news:xxxxx@ntdev…
I’m developing a tool ,similar to CPU-Z or everest, but I don’t know how to
get hardware temperature,
such as motherboard temperature,CPU temperature , videocard temperature and
harddisk temperature .
I tried to get motherboard temperature from WMI,but sometimes the resultis
not accurate.
Who can give me some tips or documents?
thanks!