Help - Search - Members - Calendar
Full Version: Monitoring With Fakesmc
Project OS X Forums > Snow Leopard Guides & Tutorials > Tools
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
blackCH
Same here

Thanks!
alphamerik
Are you guys cleaning and rebuilding? No problems here on 95...
гык-sse2
QUOTE (гык-sse2 @ May 31 2010, 10:51 PM) *
There is a chance, but if we cope with writing SMC key, 'cause now iStat or FanControl just can't write SMC keys.

SMC key writing works.

QUOTE (alphamerik @ May 31 2010, 10:57 PM) *
TC0D is CPU Die, you mean TG0D?

Ok, I got for everything to work in iStat and atMonitor, here is how:
  • Changed temperature slope/offset and calcs to same as architecture case 0x50.
  • Moved "char value[2];" declaration from .cpp to .h (variable callback scope?)
  • Added TG0P, TG0T, and TG0H FakeSMCAddKeyCallbacks identical to TG0D

Again, many many thanks! wink.gif

Oh, yeah, TG0D of course!
value is an initial value assigned to TG0D, and we don't have to care 'bout what is in this value. UpdateT function doesn't need value.
It's strange that u had to modify calculations...
'bout slope and offset, I'll try to read 'em from nvbios.
Is it a 8800GT?

QUOTE (Slice @ May 31 2010, 11:23 PM) *
Bad practice!
Headers is intended to use multiple times but you have not to declare variable twice or more!

гык-sse2 == Gyk-sse2 He is one of the developer of the project.
(как твой ник смотрится когда нет русского языка?)

In English I'm usr-sse2 'cause the word "гык" initially was a mistype in "usr003242"!
alphamerik
QUOTE (гык-sse2 @ Jun 1 2010, 05:32 AM) *
value is an initial value assigned to TG0D, and we don't have to care 'bout what is in this value. UpdateT function doesn't need value.


See I am an idiot, I thought value was passed back to updateT as data, shows that I don't know the API! wink.gif

QUOTE (гык-sse2 @ Jun 1 2010, 05:32 AM) *
It's strange that u had to modify calculations...
'bout slope and offset, I'll try to read 'em from nvbios.
Is it a 8800GT?


Yes this is a 8800GT, I googled for offset and slope and noticed a nvclock thread with people using the same values as 0x50 chip. After coming back from sleep the GPU is reporting ambient air temperature and slowly climbs up to 39c - very nice. Using the other method always read 0c.

Cheers!
THe KiNG
QUOTE (alphamerik @ Jun 1 2010, 02:30 AM) *
Are you guys cleaning and rebuilding? No problems here on 95...

Yes same here, have to manual delete kextcache...





Top job guys so far!

Only left to get are 2 Fan's some more voltages, current and power tongue.gif

Ahh I forgot:

QUOTE
Jun 1 10:11:05 THe-KiNG kernel[0]: FakeSMCLPCMonitor: found Winbond W83667HG


Thanks!
verleihnix
Hello,
could someone please make the rev 95 or 96 public?
I am not a coder and not familiar with compiling.
In the SVN not all plugins have builds inside.
Slice
QUOTE (verleihnix @ Jun 1 2010, 12:04 PM) *
Hello,
could someone please make the rev 95 or 96 public?
I am not a coder and not familiar with compiling.
In the SVN not all plugins have builds inside.

May be wait for rev99? wink.gif
blackCH
QUOTE (THe KiNG @ Jun 1 2010, 09:59 AM) *
Only left to get are 2 Fan's some more voltages, current and power tongue.gif

Hi THe KiNG, Im using your code from post #9. I have an ASUS-p5kvm, the code is very similar to yours. Also reading the onboard winbond S-IO datasheet the registers seems to be the same as the one you have, but Im only able to read CPU fan speed (FAN1) and board temperature (MBTE) - I get 0 values in the other registers. do you have any suggestions? and how do you make the fan speed to show correct (it shows about the half of what it should here)? Thanks!


EDIT:
Looks a little bit better, but still dont get it right
Click to view attachment
THe KiNG


MBTE will return the motherboard temperature in *C

HWF0-4 will return Fan0-4 speed ready to read, no need to touch them, do not read FAN values or you need to apply the multiplier formula and stuff, just use DSDT HWxx methods will return the good values for you..

HWV0-4 will return the voltages, dunno the formula to apply yet, or if is needed..

Also no idea how to calculate Current (A) and Power (W)

For now I use LPCMonitor plugin since it got more mature day by day(no idea why only 3 fans works for now)
I focused for ACPI one only on my notebook since IT8752TE is not supported(no datasheet avail) so only way is to use ACPI.

Hope it helps.

Tomorrow I'll play with ACPI plugin for Winbond.
гык-sse2
QUOTE (Slice @ Jun 1 2010, 03:51 PM) *
May be wait for rev99? wink.gif

No need 2 wait - it's 107 already! wink.gif
Now offset, slope and correction 're read from BIOS which is dumped. That's why kext uses 64KBytes more memory))
Trauma
QUOTE (гык-sse2 @ Jun 1 2010, 04:32 AM) *
SMC key writing works.


Great news!

smith@@
With last r93 i have the same problem of the king :
CODE

May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:53 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:54 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:00:57 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:00:57 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:00:57 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:00:57 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:00:57 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:01:01 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:01:01 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:01:01 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:01:01 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:01:01 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:01:02 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:11:46 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:11:46 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:11:46 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:11:46 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:11:46 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...
May 31 11:11:50 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Initialising...
May 31 11:11:50 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing...
May 31 11:11:50 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing ITE...
May 31 11:11:50 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Probing Winbond...
May 31 11:11:50 THe-KiNG kernel[0]: FakeSMCLPCMonitor: [Debug] Freeing...



and however i haven't fan and voltage in istat due a "little" dsdt. What must i add from original dsdt untouched for resolve this?
in a next release is there a possibility for fakesmc to take the correct value directly from bios? Or this is not correct? Or anyway need to add code in dsdt?
Sorry for bad english:(

Thanks anyway
alphamerik
QUOTE (гык-sse2 @ Jun 1 2010, 06:50 PM) *
No need 2 wait - it's 107 already! wink.gif
Now offset, slope and correction 're read from BIOS which is dumped. That's why kext uses 64KBytes more memory))


Doesn't work for arch 0x92, not listed in is4x() or is5x() to dump bios. Changed to arch 0x50 again and here is my dmesg:

CODE
PTKawainVi: started
NVDA Device ID:611
NVDA Architecture: NV50
0x1: (1060) 8 0x60
0xff: 80
0x45: 3
0x0: 0
0x2: 80
0xfe: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
0xff: 0
temperature table version: 0x23
correction: 8
offset: 0
slope: 0
PTKawainVi: Using table values
PTKawainVi: GPU frequency is 399 MHz
PTKawainVi: VRAM frequency is 399 MHz


Also would TG0H be a better key to use than TG0D? It would make my life more easier so I don't have to change anything for atMonitor anyways wink.gif.

Other thoughts:
Is it possible to change target API to 10.5 in the repository's project setup? Would this have a negative impact on SnowLeopard kexts?
Is it possible to make FakeSMC so that it can kextunload? Was going to look into seeing if I could make that work...
verleihnix
Works great with my P5Q in 64bit mode.
Temps and Fans are shown.

The builds of rev 108, 109 and 110 doesn't work in 32bit (arch=i386) mode.
Slice
QUOTE (verleihnix @ Jun 2 2010, 11:29 AM) *
Works great with my P5Q in 64bit mode.
Temps and Fans are shown.

The builds of rev 108, 109 and 110 doesn't work in 32bit (arch=i386) mode.

Try binaries from topic rev110.
iNDi
hey guys really nice work but its really hard to follow the repo.

you really shouldnt be committing the build dirs and why do you delete a folder only to commit it again the next revision ?

iNDi
Slice
QUOTE (iNDi @ Jun 2 2010, 01:34 PM) *
hey guys really nice work but its really hard to follow the repo.

you really shouldnt be committing the build dirs and why do you delete a folder only to commit it again the next revision ?

iNDi

Sorry, we are novices in svn. mellow.gif
verleihnix
QUOTE (Slice @ Jun 2 2010, 12:30 PM) *
Try binaries from topic rev110.


rev 110 from post #1 works fine in 32bit.
thanks
iNDi
Slice, we're all novices sometime smile.gif

i found Versions is a nice application http://versionsapp.com/

iNDi
macgirl
QUOTE (Slice @ May 23 2010, 02:40 PM) *
Plugins created:
NVidia GPU temperature and FAN


Could some kind of kext/plugin make this available on a Real Mac Pro?
youminbuluo
it is great!
THe KiNG
OK, I tried FakeSMCACPImonitor on desktop all day, this Fan thing, no matter what I tried I still get negative values sad.gif
Tried:
QUOTE
snprintf(key, 5, "SMC%d", i);
if (kIOReturnSuccess == TZDevice->evaluateInteger(key, &tmp)){
t2 = -tmp;
SMCx[i] = (int)(~t2);

Got a little better values but still they got negative on updates
Temperature reading is fine
Voltages shows empty:



Any idea?

BTW why only 3 fan works with FakeSMCLPCMonitor?
гык-sse2
QUOTE (macgirl @ Jun 2 2010, 07:32 PM) *
Could some kind of kext/plugin make this available on a Real Mac Pro?

Right this was planned initially, but I have to deal with smc.h, 'cause it is Leopard only, and it's needed 2 port it to Snow Leopard.
гык-sse2
QUOTE (alphamerik @ Jun 2 2010, 02:53 AM) *
Doesn't work for arch 0x92, not listed in is4x() or is5x() to dump bios. Changed to arch 0x50 again and here is my dmesg:

Also would TG0H be a better key to use than TG0D? It would make my life more easier so I don't have to change anything for atMonitor anyways wink.gif.

Other thoughts:
Is it possible to change target API to 10.5 in the repository's project setup? Would this have a negative impact on SnowLeopard kexts?
Is it possible to make FakeSMC so that it can kextunload? Was going to look into seeing if I could make that work...

Don't change to 0x50, just add 0x92. I'll do it soon. I forgot about G92;)
Don't know 'bout 10.5. Think I'll have to install 10.5.
Unload interested me since fakesmc 2.0
Slice
QUOTE (THe KiNG @ Jun 2 2010, 08:09 PM) *
OK, I tried FakeSMCACPImonitor on desktop all day, this Fan thing, no matter what I tried I still get negative values sad.gif
Tried:

Got a little better values but still they got negative on updates
Temperature reading is fine
Voltages shows empty:


Any idea?

BTW why only 3 fan works with FakeSMCLPCMonitor?

In theory negative speed meens counterclockwise rotation rolleyes.gif
But I think it is sign bit mistake while converting from uint8 to integer.
Another problem that I am not sure about FAN value encoding in ACPI.
Usually I have values 0, 920, 1260rpm. But once I have more speed (by sound) and no value on screen. My formulae is not good.
I have no voltage reading so I can't test.

QUOTE (macgirl @ Jun 2 2010, 07:32 PM) *
Could some kind of kext/plugin make this available on a Real Mac Pro?

FakeSMC is a replacement for SMC device in Real Mac. But there are no any impossible things in the hacks world.
I think it is possible to make FakeSMC transparent for all keys except necessary for the monitoring.

We made Hackintosh better then Real Mac?!
alphamerik
My system is showing three fans:

sensor: [F0Ac] type: [fpe2] value: [ 134.00] data: [0218]
sensor: [F1Ac] type: [fpe2] value: [ 158.00] data: [0278]
sensor: [F2Ac] type: [fp2e] value: [ 0.00] data: [0000]

Not sure if my RPMs are really that low, they are small but deep high-flow fans in a cooler-master case. There are 3 case fans + cpu + gpu? + power?, so a few are missing.
smith@@
Hi, i feel like an invisible man tongue.gif

Ok, with last from svn i have this:



Gpu diode not shown ;

Abou fan, fan 0 is correct, but i have also another fan (not shown) and also the gpu's fan..

The voltage is correct;

Spec: p5q deluxe, q 9550@3,8 GHz, air cooler zalman 9900, 9800GT G92;

Thanks for answer,
alphamerik
QUOTE (alphamerik @ Jun 2 2010, 10:36 PM) *
sensor: [F0Ac] type: [fpe2] value: [ 134.00] data: [0218]
sensor: [F1Ac] type: [fpe2] value: [ 158.00] data: [0278]
sensor: [F2Ac] type: [fp2e] value: [ 0.00] data: [0000]


Woops, looks like a typo! fpe2 is the correct type.

Did a grep on the code... and sure enough... wink.gif
CODE
./Plug-ins/FakeSMCLPCMonitor/IT87x.cpp:    FakeSMCAddKeyCallback("VC0C", "fp2e", 2, value, &::Update);
./Plug-ins/FakeSMCLPCMonitor/Winbond.cpp:    FakeSMCAddKeyCallback("VC0C", "fp2e", 2, value, &::Update);
./Plug-ins/FakeSMCnVidiaMonitor/PTKawainVi.cpp:            FakeSMCAddKeyCallback(key, "fp2e", 2, value, &::UpdateF);

You probably have better references but in case this is helpful: http://www.parhelia.ch/blog/statics/k3_keys.html
And also maybe this: http://webcache.googleusercontent.com/sear...=clnk&gl=us
гык-sse2
QUOTE (alphamerik @ Jun 3 2010, 02:49 AM) *
Woops, looks like a typo! fpe2 is the correct type.

Did a grep on the code... and sure enough... wink.gif
CODE
./Plug-ins/FakeSMCLPCMonitor/IT87x.cpp:    FakeSMCAddKeyCallback("VC0C", "fp2e", 2, value, &::Update);
./Plug-ins/FakeSMCLPCMonitor/Winbond.cpp:    FakeSMCAddKeyCallback("VC0C", "fp2e", 2, value, &::Update);
./Plug-ins/FakeSMCnVidiaMonitor/PTKawainVi.cpp:            FakeSMCAddKeyCallback(key, "fp2e", 2, value, &::UpdateF);

You probably have better references but in case this is helpful: http://www.parhelia.ch/blog/statics/k3_keys.html
And also maybe this: http://webcache.googleusercontent.com/sear...=clnk&gl=us

We're already using ypur first link:)
fan is fpe2, voltage is fp2e
scrimpy
Hi, I have a Gigabyte GA-X58-UD7 motherboard. Have installed the fakesmc and appleacpi kext in S/L/E, removed my old fakesmc from E/E and run pfix. Getting KP on reboot. Is this something I am doing wrong or is it that this solution has not been tested or designed to work on my motherboard.
гык-sse2
QUOTE (scrimpy @ Jun 3 2010, 11:37 AM) *
Hi, I have a Gigabyte GA-X58-UD7 motherboard. Have installed the fakesmc and appleacpi kext in S/L/E, removed my old fakesmc from E/E and run pfix. Getting KP on reboot. Is this something I am doing wrong or is it that this solution has not been tested or designed to work on my motherboard.

4 ACPI kext 2 work u needna edit DSDT very much. Use LPCMonitor.
scrimpy
QUOTE (гык-sse2 @ Jun 3 2010, 07:40 AM) *
4 ACPI kext 2 work u needna edit DSDT very much. Use LPCMonitor.



OK - had a DSDT I got from a forum that was supposed to be built for the ud7 - guess I need to decompile and edit.....

Unless some kind soul has already got one for the UD7 for me..... :-)

Thanks for the quick reply
smith@@
QUOTE (гык-sse2 @ Jun 3 2010, 07:40 AM) *
4 ACPI kext 2 work u needna edit DSDT very much. Use LPCMonitor.



Ok. But with what?
In dsdt what i must add for all that ,, etc.etc.? Again,

thanks
blackCH
This is what I get with the last binaries (rev 110) from post #1 (NOT USING ACPI MONITOR):
Click to view attachment
(Winbond W83627DHG)
I have two fans connected (the board has only two fan connectors + CPU fan); Using the ACPI plugin I was able to read the one that was connected to the 'CHA_FAN1' socket (it was labeled 'System Fan' in iStat) - see post #58. Never got right RPM values though. The fan connected to 'PRW_FAN' socket is still MIA.

This is the SMC_util output (in case its usefull):
CODE
#KEY [ui32] 32 (bytes 00 00 00 20)
CIST [ui32] 84 (bytes 49 42 53 54)
OSK0 [ch8*] (bytes 6f 75 72 68 61 72 64 77 6f 72 6b 62 79 74 68 65 73 65 77 6f 72 64 73 67 75 61 72 64 65 64 70 6c)
$Num [ui8 ] (bytes 01)
F1ID [ch8*] (bytes 43 68 61 73 73 69 73)
BALG [ch8*] (bytes 00 00 00 00 00 00)
LSOF [ui8 ] (bytes 01)
F0ID [ch8*] (bytes 43 50 55)
LSSB [ui16] 1 (bytes 01 01)
NVPR [ch8*] (bytes 00 00 00 00 00 00)
MOST [ch8*] (bytes 00 00 00 00 00 00)
ACID [ch8*] (bytes 00 00 00 00 00 00)
REV [ch8*] (bytes 01 30 0f 00 00 03)
MSDS [ch8*] (bytes 03 00 00 00 00 00)
NATJ [ui8 ] (bytes 00)
MSSP [ui8 ] (bytes 00)
OSK1 [ch8*] (bytes 65 61 73 65 64 6f 6e 74 73 74 65 61 6c 28 63 29 41 70 70 6c 65 43 6f 6d 70 75 74 65 72 49 6e 63)
NATi [ui16] 0 (bytes 00 00)
CLKT [ui32] 131 (bytes 00 00 8a 83)
CLKH [ch8*] (bytes 00 00 70 80 00 01 19 40)
FNum [ui8 ] (bytes 02)
TC0D [sp78] (bytes 23 00)
TC1D [sp78] (bytes 21 00)
TC2D [sp78] (bytes 27 00)
TC3D [sp78] (bytes 22 00)
TN0P [sp78] (bytes 23 00)
VC0C [fp2e] (bytes 55 03)
VC0c [ui16] 167 (bytes 00 a7)
F0Ac [fpe2] 2008 (bytes 1f 60)
TG0D [sp78] (bytes 2b 00)
F1Ac [fp2e] (bytes 00 00)
NTOK [ui8 ] (bytes 01)


I got a couple of questions,
It is possible to change the names of the sensors (for instance 'CPU A' to 'CORE 1') by plist modification, or I need to mod the fakesmc source?
Would be possible to add fan control in the future?

Thanks guys! Top job!!
Slice
QUOTE (scrimpy @ Jun 3 2010, 10:37 AM) *
Hi, I have a Gigabyte GA-X58-UD7 motherboard. Have installed the fakesmc and appleacpi kext in S/L/E, removed my old fakesmc from E/E and run pfix. Getting KP on reboot. Is this something I am doing wrong or is it that this solution has not been tested or designed to work on my motherboard.

rm -r -v /System/Library/Caches/com.apple.kext.caches/*
гык-sse2
QUOTE (blackCH @ Jun 3 2010, 12:12 PM) *
This is what I get with the last binaries (rev 110) from post #1 (NOT USING ACPI MONITOR):
Click to view attachment
(Winbond W83627DHG)
I got a couple of questions,
It is possible to change the names of the sensors (for instance 'CPU A' to 'CORE 1') by plist modification, or I need to mod the fakesmc source?
Would be possible to add fan control in the future?

Thanks guys! Top job!!

You need to modify the source of iStat Menuswink.gif
It'll be possible to add fan control. I'll work on IT8718.
гык-sse2
QUOTE (Slice @ Jun 3 2010, 03:14 PM) *
rm -r -v /System/Library/Caches/com.apple.kext.caches/*

he is about ACPIMonitor i think
THe KiNG




This is my notebook using ACPI one plus nvidia gpu stuff. smile.gif

@ Slice this fan bug is still mystery to me, any new idea?

BTW I think we can read battery stuff also from ACPI, this is so fun biggrin.gif
scrimpy
QUOTE (гык-sse2 @ Jun 3 2010, 12:53 PM) *
he is about ACPIMonitor i think


Hi back again - before I go breaking my system again. I found a kext in the plugins directory of fakesmc.kext called FakeSMCLPCMonitor.kext. Do I need to install this kext into the S/L/E ? Or is the reference to LPCMonitor some other kext ?

Slice
QUOTE (гык-sse2 @ Jun 3 2010, 02:53 PM) *
he is about ACPIMonitor i think

ACPIMonitor be never KP. It is loaded or no. It shows values or bad values. wink.gif

THe KiNG
Without datasheet we can only try different formulas.
Did you have iStat sources?
THe KiNG
QUOTE (Slice @ Jun 3 2010, 05:02 PM) *
Did you have iStat sources?

No, sorry sad.gif

Yeah but what formulas?
Even Everest seems to be wrong, it stuck on me @ 2400 rpm and from time to time it kicks to 2600, SpeedFan fails too or other apps sad.gif
Slice
QUOTE (THe KiNG @ Jun 3 2010, 08:14 PM) *
No, sorry sad.gif

Yeah but what formulas?
Even Everest seems to be wrong, it stuck on me @ 2400 rpm and from time to time it kicks to 2600, SpeedFan fails too or other apps sad.gif

Look, please. May be you better understand what is what.
CODE
    NSMutableDictionary *fans = [[NSMutableDictionary alloc] init];
    for (i = 0; i < totalFans; i++) {
        sprintf(key, "F%dAc", i);
        SMCReadKey(key, &val);
        [fans setValue:[NSString stringWithFormat:@"%@rpm",[NSNumber numberWithInt:_strtof(val.bytes, val.dataSize, 2)]] forKey:[self getFanName:i]];
    }

float _strtof(char *str, int size, int e)
{
    float total = 0;
    int i;

    for (i = 0; i < size; i++)
    {
        if (i == (size - 1))
           total += (str[i] & 0xff) >> e;
        else
           total += str[i] << (size - 1 - i) * (8 - e);
    }

    return total;
}
boombeng
Still no luck with rev110 and fintek chip sad.gif

CODE
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Initialising...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing ITE...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing Winbond...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Freeing...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Initialising...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing ITE...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Probing Winbond...
03/06/10 19:31:05    kernel    FakeSMCLPCMonitor: [Debug] Freeing...
гык-sse2
QUOTE (boombeng @ Jun 3 2010, 10:02 PM) *
Still no luck with rev110 and fintek chip sad.gif

In revisions 110 and 112 there is no probe for Fintek, although there is a class Fintek.
гык-sse2
QUOTE (THe KiNG @ Jun 3 2010, 04:09 PM) *
@ Slice this fan bug is still mystery to me, any new idea?

I previously in my ITESMC_2.1 (which is now discontinued as it has been succeeded by LPCMonitor) had a fan bug, and the speed changed, as it seemed, non-linearly, but if I slowed down my fan, the value really decreased, but value was wrong. And what was it? I have pereputal higher and lower byte!:)
*mix up

And, please, stop using atMonitor! It seems that it doesn't use SMC keys for GPU temperature, 'cause my iStat Pro shows 42 Celsius, and atMonitor shows 0.
rus
THe KiNG
If at you discrepancy in indications 240 (2400 rpm), correct code in FakeSMCACPImonitor source.
CODE
// FANs
    if(CompareKeys(key, "F0Ac") || CompareKeys(key, "F1Ac") || CompareKeys(key, "F2Ac") || CompareKeys(key, "F3Ac") || CompareKeys(key, "F4Ac") || CompareKeys(key, "F5Ac"))
    {
        UInt8 num = key[1] - 48;
        
      value = SMCx[num] * 100;
        
        data[0] = (value >> 6) & 0xff;
        data[1] = (value << 2) & 0xff;
    } else
THe KiNG
QUOTE (гык-sse2 @ Jun 3 2010, 09:37 PM) *
I previously in my ITESMC_2.1 (which is now discontinued as it has been succeeded by LPCMonitor) had a fan bug, and the speed changed, as it seemed, non-linearly, but if I slowed down my fan, the value really decreased, but value was wrong. And what was it? I have pereputal higher and lower byte!:)

And, please, stop using atMonitor! It seems that it doesn't use SMC keys for GPU temperature, 'cause my iStat Pro shows 42 Celsius, and atMonitor shows 0.

For my notebook I can't use LPCMonitor since my Super I/O and EC Controller ITE IT8752TE is not supported and guess never will(since no datasheet avail) so only way to do it is using ACPIMonitor, all registers are on EC Device:
CODE
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_CRS, ResourceTemplate ()
......................
OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
Field (ECOR, ByteAcc, Lock, Preserve)
{
Offset (0x04),
CMD1, 8,
CDT1, 8,
CDT2, 8,
CDT3, 8,
Offset (0x80),
EPWS, 8,
EB0S, 8,
EB1S, 8,
EB0R, 8,
EB1R, 8,
EPWF, 8,
Offset (0x87),
EB0T, 8,
EB1T, 8,
Offset (0x8A),
HKEN, 1,
Offset (0x93),
TAH0, 16, // Fan0 Tachometer
TAH1, 16, // Fan1 Tachometer
TSTP, 8,
Offset (0x9C),
CDT4, 8,
CDT5, 8,
Offset (0xA0),
ECPU, 8, // CPU Current Temperature
ECRT, 8, // CPU Critical Temperature (Tj Max)
EPSV, 8, // CPU Passive Cooling Temperature
EACT, 8, // CPU Active Cooling Temperature
TH1R, 8,
TH1L, 8,
TH0R, 8,
TH0L, 8,
Offset (0xB0),
B0PN, 16,
B0VL, 16,
B0RC, 16,
B0FC, 16,
B0MD, 16,
B0ST, 16,
B0CC, 16,
B0TM, 16,
B0C1, 16,
B0C2, 16,
B0C3, 16,
B0C4, 16,
Offset (0xD0),
B1PN, 16,
B1VL, 16,
B1RC, 16,
B1FC, 16,
B1MD, 16,
B1ST, 16,
B1CC, 16,
B1TM, 16,
B1C1, 16,
B1C2, 16,
B1C3, 16,
B1C4, 16,
Offset (0xF0),
B0DC, 16,
B0DV, 16,
B0SN, 16,
Offset (0xF8),
B1DC, 16,
B1DV, 16,
B1SN, 16
}


I Identified some of the registers and got the results you saw earlier, only left so far is this Fan rpm thing...

"atMonitor" Sorry but I didn't understand that part smile.gif
alphamerik
QUOTE (гык-sse2 @ Jun 3 2010, 07:37 PM) *
And, please, stop using atMonitor! It seems that it doesn't use SMC keys for GPU temperature, 'cause my iStat Pro shows 42 Celsius, and atMonitor shows 0.


This is not true, atMonitor is a fantastic utility and has great SMC support.
If you select Utilities -> System Info -> Smc Sensors it will list all of the sensors on the system for you.
The problem is that for graphing atMonitor does not look for TG0D, it looks for everything but TG0D actually (check debug messages!), this is why I suggested using TG0H instead.
Such is life, but I don't think using TG0D as the key should be hard-coded at any rate.
alphamerik
QUOTE (гык-sse2 @ Jun 2 2010, 05:16 PM) *
Don't change to 0x50, just add 0x92. I'll do it soon. I forgot about G92;)


This doesn't work, whatever function is being called for 0x92 temperature reading just returns 0.
I think the correction value that is read from bios is good, but I still have to use 0x50 calculation methods (plus hard-coded slope and offset).
Also I have the GPU fan show up in SMC list but it doesn't show RPM using any of the three methods either.
Slice
QUOTE (alphamerik @ Jun 4 2010, 01:07 AM) *
This is not true, atMonitor is a fantastic utility and has great SMC support.
If you select Utilities -> System Info -> Smc Sensors it will list all of the sensors on the system for you.
The problem is that for graphing atMonitor does not look for TG0D, it looks for everything but TG0D actually (check debug messages!), this is why I suggested using TG0H instead.
Such is life, but I don't think using TG0D as the key should be hard-coded at any rate.

There is interesting question. Why does Apple hardcoded different SMC keys but not uses its? Where is full description?

About FAN value in DSDT. In my case it is not a sensor, it is a command to rotate faster or slower that I can consider as a speed. That's why I got strange values.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.