Page 1 of 2

Getting CPU and Fan stats without MBM or Everest

Posted: Sat Aug 09, 2008 8:35 am
by PureSpider
Hi guys!
I've been searching for the whole day for any clues on how to do this now, but wasn't able to find anything.
So I'm asking here...
How can I get the CPU Temp and Fan RPM stats without using Motherboard Monitor or something similar?
How do they do it?
I've tried with the GiveIO.sys but I only get rubbish for the adresses/don't know which addresses I should read from...
Any help would be greatly apreciated!

€dit: TO get this clear... I can access any address using GiveIO.sys, I just can't figure out the right ones.

Posted: Sat Aug 09, 2008 9:44 am
by jurasek
install linux and type sensors;)

greetz,
jur

Posted: Sat Aug 09, 2008 10:08 am
by PureSpider
Huh? And then?
Does this work with cygwin, too?

Posted: Mon Aug 11, 2008 2:24 am
by dougal2
PureSpider
SpeedFan ?

Posted: Mon Aug 11, 2008 7:34 am
by PureSpider
... without MBM or Everest or Speedfan or any similar...
I need my own code for doing this as I don't want to display the results but do something different with it!

Posted: Mon Aug 11, 2008 9:42 am
by eman7613
that information is gotten from the mb, so your going to need a way to talk/listen to it. c++ does not inherently have this ability, so it depends on whether or not you want to do this for windows, linux, or os x.

for m$, somewher ein that big heep of api & visual studio there is probably an api to do it that may or may not be useful.

for linux, there are probably several diffrent packages that provide acess to get that information

for mac, well good luck i have no clue :P

but all in all, your"own code" for this will be different for each platform you are writing it for.

Posted: Mon Aug 11, 2008 1:13 pm
by zsouthboy
Pure you're going to have to use SMBUS information to get those, and the addresses and information vary by implementation.

Posted: Tue Aug 12, 2008 4:03 am
by PureSpider
eman7613
There is an API for it, called WMI; Which needs to be supported by the mainboard drivers... and in 90% it isn't... that's the case for me, too =/

zsouthboy
That's right, I just dont know how to get or use them...
€dit: My SMBus is at address 0290 (hex)... now, how to use this?

Posted: Thu Aug 14, 2008 7:45 am
by Lord of the Rings Junkie
Restart your computer and go into BIOS. CPU and fan stats are usually somewhere in there.

I imagine that's not the solution you want, though.

Posted: Thu Aug 14, 2008 8:38 am
by PureSpider
I cant use the stats in my BIOS within my own code, and thats what I want to ;)
But thx for the reply

Posted: Thu Aug 14, 2008 10:06 am
by zsouthboy
Couldn't tell you how to get the information you want - perhaps a perusal of the manufacturer of the SMBUS chip's website would help? (It's possible they don't even tell you and instead want you to call their own DLL to get the information)

Posted: Thu Aug 14, 2008 10:31 am
by dougal2
PureSpider
Do you have to be doing this under windows ?
There's libsensors for linux (from which the 'sensors' program reads it's data).

sample output:

Code: Select all

doug@quadUBUNTU:~$ sensors
it8718-isa-0290
Adapter: ISA adapter
in0:         +1.10 V  (min =  +0.00 V, max =  +4.08 V)
in1:         +1.30 V  (min =  +0.00 V, max =  +4.08 V)
in2:         +3.31 V  (min =  +0.00 V, max =  +4.08 V)
in3:         +2.96 V  (min =  +0.00 V, max =  +4.08 V)
in4:         +3.06 V  (min =  +0.00 V, max =  +4.08 V)
in5:         +0.85 V  (min =  +0.00 V, max =  +4.08 V)
in6:         +1.87 V  (min =  +0.00 V, max =  +4.08 V)
in7:         +2.94 V  (min =  +0.00 V, max =  +4.08 V)
in8:         +3.23 V
fan1:       1427 RPM  (min =    0 RPM)
fan2:       1558 RPM  (min =    0 RPM)
fan3:       1839 RPM  (min =    0 RPM)
fan4:          0 RPM  (min =   -1 RPM)
temp1:       +46.0°C  (low  =  -1.0°C, high = +127.0°C)  sensor = transistor
temp2:       +60.0°C  (low  =  -1.0°C, high = +127.0°C)  sensor = thermal diode
temp3:       -53.0°C  (low  =  -9.0°C, high = +127.0°C)  sensor = transistor
cpu0_vid:   +0.000 V

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +52.0°C  (crit = +100.0°C)                  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +48.0°C  (crit = +100.0°C)                  

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +49.0°C  (crit = +100.0°C)                  

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +51.0°C  (crit = +100.0°C)

Posted: Thu Aug 14, 2008 10:46 am
by PureSpider
Yes unfortunately I need to do this under windows =/

Posted: Thu Aug 14, 2008 10:55 am
by zsouthboy
Man, that's a lot of ISA adapters you got there dougal, you must be rockin that new VGA card with 512(!) kb of ram (1024x768?! amazing!)

:D

Posted: Thu Aug 14, 2008 11:06 am
by dougal2
lol yeah, most sensors still work over an ISA bus. crazy.