Jump to content

SMC Monitor


oldnapalm
 Share

87 posts in this topic

Recommended Posts

SMC Monitor is a Java front end for the command line tool smc by devnull. The app was written by el coniglio.

 

smcmonitor.png

 

Download: SMC Monitor.zip

 

In the preferences window you can define which SMC keys should be shown in the main window, edit their descriptions and set the conversion type.

 

preferences.png

 

There's also a window with P and C states info parsed from ioreg.

 

pandcstates.png

 

You need this new version of FakeSMC and its plugins to have more keys available, such as CPU frequency and voltage (IntelCPUMonitor)

http://www.projectos...p?showforum=165

  • Like 3
Link to comment
Share on other sites

Hi oldnaplam

 

Another app by el coniglio.... He's keeping busy ;)

Annway, thanks for posting this as it's a nice quick way for reading the keys.

 

Just playing with it on my iMac but I notice the drop down list in preferences doesn't list all keys? See screenshot:

post-331032-1297271497_thumb.jpg

Is there a limit to the number it shows?

Link to comment
Share on other sites

@blackosx

 

I'm not sure if its a JVM array limitation (prob not) or a limitation of the combobox component, or something else. If you post a text file with your "smc -l" output I can check it out.

Hi el coniglio

 

Nice job with the app ;)

 

Oldnapalm was right, in that smc -l returns the same values as I see in the preferences window of SMC Monitor.

$ ./smc -l
 #KEY  [ui32]  41 (bytes 00 00 01 29)
 $Adr  [ui32]  0 (bytes 00 00 03 00)
 $Num  [ui8 ]  1 (bytes 01)
 +LKS  [flag]  (bytes 07)
 AL!   [ui8 ]  0 (bytes 00)
 ALA0  [{ala]  (bytes 7a 04 00 34 00 90)
 ALA1  [{ala]  (bytes 1d c9 00 7a 00 c4)
 ALA2  [{ala]  (bytes 09 d6 00 ac 01 24)
 ALA3  [{ala]  (bytes 03 a9 00 f7 01 85)
 ALA4  [{ala]  (bytes 01 d3 01 3e 04 00)
 ALA5  [{ala]  (bytes 00 01 00 01 04 00)
 ALAT  [{alt]  (bytes 00 00 00 00)
 ALI0  [{ali]  (bytes 03 01 01)
 ALI1  [{ali]  (bytes 00 00 00)
 ALRV  [ui16]  0 (bytes 00 00)
 ALSC  [{alc]  (bytes 01 92 00 96 00 c8 00 02 00 01 01 5e 14 ea 01 00)
 ALSF  [fp1f]  (bytes 01 48)
 ALSL  [ui16]  0 (bytes 00 00)
 ALT0  [ui16]  0 (bytes 00 00)
 ALT1  [ui16]  0 (bytes 00 00)
 ALTH  [{alr]  (bytes 00 00 00 00 00 00 00 00 00 00)
 ALV0  [{alv]  (bytes 01 00 00 00 00 00)
 ALV1  [{alv]  (bytes 00 01 00 00 00 00)
 AUPO  [ui8 ]  0 (bytes 00)
 BATP  [flag]  (bytes 00)
 BEMB  [flag]  (bytes 00)
 BNum  [ui8 ]  0 (bytes 00)
 BSIn  [ui8 ]  66 (bytes 42)
 CLKT  [ui32]  213 (bytes 00 00 fb d5)
 CLSD  [ui16]  0 (bytes 00 00)
 CLWK  [ui16]  0 (bytes 00 00)
 CRCB  [ui32]  166 (bytes a3 da 51 a6)
 CRCU  [ui32]  114 (bytes 50 d6 c5 72)
 DPLM  [{lim]  (bytes 00 00 00)
 EPCA  [ui32]  0 (bytes 00 00 70 00)
 EPCF  [flag]  (bytes 01)
 EPCI  [ui32]  0 (bytes 05 80 07 00)
 EPCV  [ui16]  1 (bytes 00 01)
 EPMA  [ch8*]  (bytes 00 00 60 80)
 EPMI  [ui8 ]  0 (bytes 00)
 EPUA  [ui32]  0 (bytes 00 00 60 00)

 

So your app is working correctly.

 

I just wonder why the smc binary is only returning those keys when I know for example that the temperature data can be found in keys beginning with T i.e TCAH, TC0C etc. But then I know those keys from a MacPro3,1, maybe my iMac 11,3 that I'm using right now uses different keys?

 

Anyway, no problem. I'll test this again tonight on my hack.

Link to comment
Share on other sites

@blackosx

 

I don't know if these keys are 'default' or injected as additional features by fakesmc (or plugin). In apple hardware I don't know if these keys aren't present or the "smc" command just can't access them.

 

I tested on a macbook air and I got only 10 keys in the command line output, 8 of them start with A (ACEN, ACFP, etc).

Link to comment
Share on other sites

I don't know if these keys are 'default' or injected as additional features by fakesmc (or plugin). In apple hardware I don't know if these keys aren't present or the "smc" command just can't access them.

I think the keys are present on genuine macs and it's just that the smc binary doesn't access them.

 

smc-0.01 is not very recent (2006-2008), maybe it needs to be fixed to read keys present on newer Macs?

 

The source is inside smcFanControl app, if someone wants to give a shot :D

http://www.eidac.de/?p=134

Could be worth look but then I guess this will mostly be used with hacks and not real macs?

 

It's working fine with FakeSMC.

Yes. I agree - it works fine on my hack.

post-331032-1297277825_thumb.png

Link to comment
Share on other sites

single slot cooler no wonder...

 

and for your fan readings I'm assuming you did a DSDT edit to show another fan because fakesmc only pics up one of my fans the same goes for the smc monitor.

Thermaltake ^_^

4700 RPM

Link to comment
Share on other sites

THank you so much for such a useful utility!

I do have some questions relating to the CPU frequency.

I have an i5-750 CPU on 10.6.6 in 64bit.

I can see that speedstep is working, but the frequencies are "different" from the actual ones.

The are just not the ones from the C/P-state table accessed from the menu. So what exactly does the values in the main window mean?

post-183258-1297316101_thumb.png

post-183258-1297316061_thumb.png

Plus I should have the turbo boost thing for my processor, but from the tables I can't find cant freq higher than the non-turbo max (2.67 GHz)

Link to comment
Share on other sites

Values in "P & C states" window are extracted from ioreg (PerformanceStateArray and CSTInfo), while the ones in main window are read from SMC (FakeSMC in hackintoshes).

 

I really don't understand why the frequency values are different. In my Core 2 Duo laptop the lowest P-state is 800 MHz in ioreg and 720 MHz in FakeSMC. Maybe we can have an explanation for this in FakeSMC forum (link in first post), more precisely in IntelCPUMonitor subforum. Of course if someone can and want to reply this here, we'll be grateful.

Link to comment
Share on other sites

THank you so much for such a useful utility!

I do have some questions relating to the CPU frequency.

I have an i5-750 CPU on 10.6.6 in 64bit.

I can see that speedstep is working, but the frequencies are "different" from the actual ones.

The are just not the ones from the C/P-state table accessed from the menu. So what exactly does the values in the main window mean?

post-183258-1297316101_thumb.png

post-183258-1297316061_thumb.png

Plus I should have the turbo boost thing for my processor, but from the tables I can't find cant freq higher than the non-turbo max (2.67 GHz)

 

similar Problem here with my i5 750

 

Frequenzies in SMC Monitor are not correct. It shows 1011 Mhz in Idle where 1350Mhz is correct .

And under Load the Monitor output only 2359Mhz where 3200 Mhz should be correct( with Turbo on 150MHZ FSB)

 

The "real" Frequenzies is correct( based on Bios Settings), only the IntelCPUMonitorValues are wrong

Link to comment
Share on other sites

On my system SMC Monitor shows only max CPU frequency when idle and under load althought there are proper values in "P & C states" window. I have latest Fakesmc.kext and IntelCPUMonitor.kext from projectosx forums.

Link to comment
Share on other sites

REQ: were to DL that P&C States tool (shown 3 posts above) ?

Thanks

 

From the first post: "There's also a window with P and C states info parsed from ioreg."

 

To view the P & C States window within the SMC Monitor.app, go to the File menu, then select the P & C States option.

Link to comment
Share on other sites

About smc-0.01 which comes with smcFanControl (http://www.eidac.de/?p=134), I guess it was compiled on Tiger. Trying to compile it on Snow Leopard I get this error

Undefined symbols:
 "_IOConnectMethodStructureIStructureO", referenced from:
  _SMCCall in smc.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

"Intel Sensors Module" from iStat (http://www.islayer.com/help/istatmenus-intel/) uses IOConnectCallStructMethod instead of IOConnectMethodStructureIStructureO, this way it compiles fine on Snow, but the "list all keys and values" option doesn't work. SMCReadIndexCount returns correct value, but SMCCall return is != kIOReturnSuccess in SMCPrintAll. Any ideas on this?

 

@blackosx, can you read the keys you know exist, even if they are not listed, using smc binary?

./smc -k TCAH -r

Link to comment
Share on other sites

I can read a key that is not listed in 'smc -l'.

 

I got these results after reading the TC0D key with 3-4s interval on a macbook air.

 

TC0D [sp78] (bytes 32 60)

TC0D [sp78] (bytes 32 90)

TC0D [sp78] (bytes 33 10)

 

I'm not sure about its format, but I'd guess its the temp in celcius * 0xFF.

Link to comment
Share on other sites

 Share

×
×
  • Create New...