Jump to content

HWSensors project


kozlek
 Share

286 posts in this topic

Recommended Posts

NVClockX: started

NVClockX: [Warning] no nVidia graphics adapters found

NVClockX: Error:

 

then:

 

NVClockX: startedNVClockX: Vendor ID: 10de, Device ID: 407

NVClockX: Architecture: 40000

NVClockX: G84 [GeForce 8600M GT]

Error reading BIOS

 

Also, TjMax override via plist refuses to implement!

 

 

 

And yet: IntelThermal: CPU Tjmax 105

Link to comment
Share on other sites

NVClockX: started

NVClockX: [Warning] no nVidia graphics adapters found

NVClockX: Error:

 

then:

 

NVClockX: startedNVClockX: Vendor ID: 10de, Device ID: 407

NVClockX: Architecture: 40000

NVClockX: G84 [GeForce 8600M GT]

Error reading BIOS

 

Also, TjMax override via plist refuses to implement!

 

 

 

And yet: IntelThermal: CPU Tjmax 105

 

I did not compiled yet Intelthermal with Tjmax fix.

Link to comment
Share on other sites

MacKonsti, 200 degrees for your chipset sensor. Try to play with Sensors Configuration in info.plist.

Mate, I have completely no idea what you are saying. Obviously, you want me to tamper with the Info.plist of FakeSMC but I honestly don't know how. According to my iStat 2.0 and SMC keys of atMonitor:

sensor: [TC0D]  type: [sp78]  value: [			   49.00]  data: [3100] < CPU A
sensor: [TC1D]  type: [sp78]  value: [			   39.00]  data: [2700] < CPU B
sensor: [TC2D]  type: [sp78]  value: [			   41.00]  data: [2900] < CPU C
sensor: [TC3D]  type: [sp78]  value: [			   42.00]  data: [2a00] < CPU D
sensor: [TG0D]  type: [sp78]  value: [			   49.00]  data: [3100] < GPU
sensor: [TN0P]  type: [sp78]  value: [			  201.00]  data: [c900] < ???
sensor: [Th0H]  type: [sp78]  value: [			   36.00]  data: [2400] < HEAT
sensor: [VC0C]  type: [fp2e]  value: [			   70.50]  data: [4680] < ???
sensor: [F0Ac]  type: [fpe2]  value: [			 1193.00]  data: [12a4] < FAN Revs
sensor: [F0ID]  type: [ch8*]  value: [			 Chassis]  data: [43686173736973]
sensor: [NATi]  type: [ui16]  value: [				   0]  data: [0000]

The first 4 sensors are the CPU Cores; the next is GPU Diode.

I don't know what sensor reports 201.00. The next sensor is CPU Heatsink. Others unknown.

Can you please direct us to a guide how to read/insert/modify FakeSMC's Info.plist?

Am I supposed to ADD the sensor TN0P to the list? With what value? --Thanks

Link to comment
Share on other sites

Mate, I have completely no idea what you are saying. Obviously, you want me to tamper with the Info.plist of FakeSMC but I honestly don't know how. According to my iStat 2.0 and SMC keys of atMonitor:

sensor: [TC0D]  type: [sp78]  value: [			   49.00]  data: [3100] < CPU A
sensor: [TC1D]  type: [sp78]  value: [			   39.00]  data: [2700] < CPU B
sensor: [TC2D]  type: [sp78]  value: [			   41.00]  data: [2900] < CPU C
sensor: [TC3D]  type: [sp78]  value: [			   42.00]  data: [2a00] < CPU D
sensor: [TG0D]  type: [sp78]  value: [			   49.00]  data: [3100] < GPU
sensor: [TN0P]  type: [sp78]  value: [			  201.00]  data: [c900] < ???
sensor: [Th0H]  type: [sp78]  value: [			   36.00]  data: [2400] < HEAT
sensor: [VC0C]  type: [fp2e]  value: [			   70.50]  data: [4680] < ???
sensor: [F0Ac]  type: [fpe2]  value: [			 1193.00]  data: [12a4] < FAN Revs
sensor: [F0ID]  type: [ch8*]  value: [			 Chassis]  data: [43686173736973]
sensor: [NATi]  type: [ui16]  value: [				   0]  data: [0000]

The first 4 sensors are the CPU Cores; the next is GPU Diode.

I don't know what sensor reports 201.00. The next sensor is CPU Heatsink. Others unknown.

Can you please direct us to a guide how to read/insert/modify FakeSMC's Info.plist?

Am I supposed to ADD the sensor TN0P to the list? With what value? --Thanks

 

You need to edit info.plist of IT87x.kext Like TjMax on the screnshot, you need to play with "Sensors Configuration". There is 3 temperature inputs for ITE chip. By default first is the CPU, and 3-rd is the chipset or simular.

Link to comment
Share on other sites

mozodojo thanks for this mods.. but only minor problems, i got hd temp, and nv temp reading only. cpu temp doesnt show as i expected. tested using istat menu 3.10, temp.monitor same result.

 

since i using amd phenom x2 b55 processor (unlocked -> 4cores) and msi gts 250, i use instruction to remove intelthermal, intel x3000..

 

are this mods compatible with amd processor? or it has limitation to intel processor only. oo btw my gpu temp reading seems weird tho.. 20'c while in nvclock show 39-42'. what do i have to play with to get the correct value

Link to comment
Share on other sites

Thanks for the new fakesmc ... my boottime is really faster now. But it doesn't load the superio kext ... i allways get the following error when trying to insert it with kextload:

 

/Extra/Extensions/SuperIOFamily.kext - no dependency found for org.netkas.FakeSMC.
Can't load /Extra/Extensions/SuperIOFamily.kext - failed to resolve dependencies.

 

FakeSMC is loaded and all other sensors are working (intelterm + nvidiagpu).

 

Any suggestion here?

Link to comment
Share on other sites

Because the other FakeSMC fork by Slice was causing some stability problems I decided to give this one a go, but it's giving me problems with my power management.

 

On my rig I normally get a message from AppleIntelCPUPowerManagement about Turbo Ratios for my Core i7, but since using this FakeSMC that's gone, and I've been having some weird performance issues. Everything feels a lot slower than normal.

 

I'm using the binaries from the 18th, and don't use the nvClock kext as I have a Radeon 5770.

Any clue why this might be happening, or is there any way I can help to find the problem?

Link to comment
Share on other sites

Mozo,

 

Thanks for your hard work, great results on my rig apart from NVClockX.kext causing blue screen (desktop does not load).. I've got absolutely no idea why this is happening

 

 

Same here

 

 

Same here!

 

With my video card NVClock panics. NVClock is only port from linux, don't know how to fix it or something else. Also I have not developed this plugin, just ported to new FakeSMC_plugins_working_from_extra version.

 

Because the other FakeSMC fork by Slice was causing some stability problems I decided to give this one a go, but it's giving me problems with my power management.

 

On my rig I normally get a message from AppleIntelCPUPowerManagement about Turbo Ratios for my Core i7, but since using this FakeSMC that's gone, and I've been having some weird performance issues. Everything feels a lot slower than normal.

 

I'm using the binaries from the 18th, and don't use the nvClock kext as I have a Radeon 5770.

Any clue why this might be happening, or is there any way I can help to find the problem?

 

Try to delete some predefined SMC keys. Only OSK0 and OSK1 are required, I think but not sure about other keys. They could influence on your system confioguration or could not. Try and tell us. FakeSMC + plugins always working stable on my config, can't imaging what the problem could be.

Link to comment
Share on other sites

Slice's FakeSMC iStat 3.10:

 

 

Why don't you say me that you're using IntelMonitor? There is no voltage support in NSC code, but IntelMonitor could calculate "voltage" from P-States information and provide voltage reading.

 

If you don't believe, check the code from assembla:

void NSC::Start()
{
	IOMemoryDescriptor *			theDescriptor;
	UInt32 adr = (ListenPortByte(NSC_MEM)&0xff)+((ListenPortByte(NSC_MEM+1)<<8)&0xff00)+
			((ListenPortByte(NSC_MEM+2)&0xff)<<16)+((ListenPortByte(NSC_MEM+3)&0xff)<<24);

	IOPhysicalAddress bar = (IOPhysicalAddress)(adr & ~0xf);
	//			  IOLog("Fx3100: register space=%08lx\n", (long unsigned int)bar);
	theDescriptor = IOMemoryDescriptor::withPhysicalAddress (bar, 0x200, kIODirectionOutIn); // | kIOMapInhibitCache);
	if(theDescriptor != NULL)
	{
			mmio = theDescriptor->map ();
			if(mmio != NULL)
			{
					//			  UInt32 addr = map->getPhysicalAddress();
					mmio_base = (volatile UInt8 *)mmio->getVirtualAddress();
#if 0						   
					UInt32 base_phys = (UInt32)mmio->getPhysicalAddress();
					InfoLog(" Memory mapped at address %08lx\n", (long unsigned int)base_phys);
					for (int i=0; i<0x2f; i +=16) {
							IOLog("%04lx: ", (long unsigned int)i);
							for (int j=0; j<16; j += 1) {
									IOLog("%02lx ", (long unsigned int)mmio_base[i+j]);
							}
							IOLog("\n");
					}
					//mmio->release();
#endif						  
			}
			else
			{
					InfoLog(" MCHBAR failed to map\n");
					return;
			}					   
	}	   


	// Heatsink
	AddSensor(new NSCTemperatureSensor(this, 2, KEY_CPU_HEATSINK_TEMPERATURE, TYPE_SP78, 2));
	// Northbridge
	AddSensor(new NSCTemperatureSensor(this, 0, KEY_NORTHBRIDGE_TEMPERATURE, TYPE_SP78, 2));
	// Heatsink
	AddSensor(new NSCTemperatureSensor(this, 1, KEY_DIMM_TEMPERATURE, TYPE_SP78, 2));
	// Northbridge
	AddSensor(new NSCTemperatureSensor(this, 3, KEY_AUX_TEMPERATURE, TYPE_SP78, 2));

	char key[5];
	int id=GetNextUnusedKey(KEY_FORMAT_FAN_ID, key);
	int ac=GetNextUnusedKey(KEY_FORMAT_FAN_SPEED, key);
	if (id!=-1 || ac!=-1) {
			int no=id>ac ? id : ac;
			char name[] = "System Fan"; 
			int lname = sizeof(name);
//			  snprintf (name, 10, "System Fan");
			snprintf(key, 5, KEY_FORMAT_FAN_ID, no);
			FakeSMCAddKey(key, TYPE_CH8, lname, name);					  
			snprintf(key, 5, KEY_FORMAT_FAN_SPEED, no);
			AddSensor(new NSCTachometerSensor(this, 4, key, TYPE_FP2E, 2));
			UpdateFNum();
			FanCount = 1;
	}

 

Even the NSCVoltageSensor class not present in NSC part of FakeSMCSuperIO plugin.

Link to comment
Share on other sites

You need to edit info.plist of IT87x.kext Like TjMax on the screnshot, you need to play with "Sensors Configuration". There is 3 temperature inputs for ITE chip. By default first is the CPU, and 3-rd is the chipset or simular.
Hello mozodojo and thanks for your tip. I checked the Info.plist of your work over at ProjectOSX (FakeSMCSuperIO.kext) and the entries are exactly the same as the ones in your new plugin, here in this thread:

			<key>Sensors Configuration</key>
		<dict>
			<key>FANIN0</key>
			<string>Chassis</string>  <--mine
			<key>FANIN1</key>
			<string></string>
			<key>FANIN2</key>
			<string></string>
			<key>FANIN3</key>
			<string></string>
			<key>FANIN4</key>
			<string></string>
			<key>TEMPIN0</key>
			<string>System</string>  <-- same
			<key>TEMPIN1</key>
			<string></string>
			<key>TEMPIN2</key>
			<string>Processor</string>  <-- same
		</dict>

...with the only difference that (from /S/L/E/) I do get an extra reading for the Northbridge chip (or whatever).

 

So, could it be a different implementation of this new kext? Or the fact it's loading from /E/E?

Could the second sensor be the HDD temperatures of the system?

 

Sorry if I may get on your nerves and request more info :( What other options except System and Processor do we have as strings in the section above of Info.plist?

 

Thank you again! In the meantime, I will reboot a few times and change the order of the System and Processor entries and see what happens (hope I don't get KP otherwise I am screwed!)

 

 

SERIOUS EDIT: I get Kernel Panics if I change the sequence of System and Processor to anything else than the original list in your Info.plist. Sorry.... I had a hard time reverting to a stable system!

Link to comment
Share on other sites

Why don't you say me that you're using IntelMonitor? There is no voltage support in NSC code, but IntelMonitor could calculate "voltage" from P-States information and provide voltage reading.

 

If you don't believe, check the code from assembla:

 

Even the NSCVoltageSensor class not present in NSC part of FakeSMCSuperIO plugin.

 

Why wouldn't I believe you, you're the expert?! I had erroneously assumed that the SuperIO was responsible for the CPU voltage.

So, how do I get the CPU voltage then?

Link to comment
Share on other sites

Hello mozodojo and thanks for your tip. I checked the Info.plist of your work over at ProjectOSX (FakeSMCSuperIO.kext) and the entries are exactly the same as the ones in your new plugin, here in this thread:

			<key>Sensors Configuration</key>
		<dict>
			<key>FANIN0</key>
			<string>Chassis</string>  <--mine
			<key>FANIN1</key>
			<string></string>
			<key>FANIN2</key>
			<string></string>
			<key>FANIN3</key>
			<string></string>
			<key>FANIN4</key>
			<string></string>
			<key>TEMPIN0</key>
			<string>System</string>  <-- same
			<key>TEMPIN1</key>
			<string></string>
			<key>TEMPIN2</key>
			<string>Processor</string>  <-- same
		</dict>

...with the only difference that (from /S/L/E/) I do get an extra reading for the Northbridge chip (or whatever).

 

So, could it be a different implementation of this new kext? Or the fact it's loading from /E/E?

Could the second sensor be the HDD temperatures of the system?

 

Sorry if I may get on your nerves and request more info :unsure: What other options except System and Processor do we have as strings in the section above of Info.plist?

 

Thank you again! In the meantime, I will reboot a few times and change the order of the System and Processor entries and see what happens (hope I don't get KP otherwise I am screwed!)

 

 

SERIOUS EDIT: I get Kernel Panics if I change the sequence of System and Processor to anything else than the original list in your Info.plist. Sorry.... I had a hard time reverting to a stable system!

 

So, kext working from E/E/ and S/L/E for me and other people. I'll try to change sensors. If it'll be work without KP, so 99% the problem is in your system, Mac OS X.

 

Why wouldn't I believe you, you're the expert?! I had erroneously assumed that the SuperIO was responsible for the CPU voltage.

So, how do I get the CPU voltage then?

 

You couldn't before I'll port IntelMonitor.

Link to comment
Share on other sites

Try to delete some predefined SMC keys. Only OSK0 and OSK1 are required, I think but not sure about other keys. They could influence on your system confioguration or could not. Try and tell us. FakeSMC + plugins always working stable on my config, can't imaging what the problem could be.

I found that deleting all plugins solved the problem, so FakeSMC itself is not causing the problem, but IntelThermal or the SuperIO bundle. So I'll fiddle with those a bit tonight.

 

After having removed those plugins and getting my turbo ratios back, I can confirm performance was suffering. Everything is a lot faster again, also in Xbench. I don't have any numbers with me here, but it's just for information.

Link to comment
Share on other sites

Hello mozodojo and thanks for your tip. I checked the Info.plist of your work over at ProjectOSX (FakeSMCSuperIO.kext) and the entries are exactly the same as the ones in your new plugin, here in this thread:

			<key>Sensors Configuration</key>
		<dict>
			<key>FANIN0</key>
			<string>Chassis</string>  <--mine
			<key>FANIN1</key>
			<string></string>
			<key>FANIN2</key>
			<string></string>
			<key>FANIN3</key>
			<string></string>
			<key>FANIN4</key>
			<string></string>
			<key>TEMPIN0</key>
			<string>System</string>  <-- same
			<key>TEMPIN1</key>
			<string></string>
			<key>TEMPIN2</key>
			<string>Processor</string>  <-- same
		</dict>

...with the only difference that (from /S/L/E/) I do get an extra reading for the Northbridge chip (or whatever).

 

So, could it be a different implementation of this new kext? Or the fact it's loading from /E/E?

Could the second sensor be the HDD temperatures of the system?

 

Sorry if I may get on your nerves and request more info :( What other options except System and Processor do we have as strings in the section above of Info.plist?

 

Thank you again! In the meantime, I will reboot a few times and change the order of the System and Processor entries and see what happens (hope I don't get KP otherwise I am screwed!)

 

 

SERIOUS EDIT: I get Kernel Panics if I change the sequence of System and Processor to anything else than the original list in your Info.plist. Sorry.... I had a hard time reverting to a stable system!

 

 

Reverted System and Processor, added Auxiliary and removed = working without any issue.

 

post-258361-1287630008_thumb.png

post-258361-1287630015_thumb.png

 

P.S. still weird stuff happens for some users when they loading plugins from extra.

Link to comment
Share on other sites

hello, now i use your new upload from 20.10. with:

FakeSMC.kext, NVClockX.kext, IntelThermal.kext, SuperIOFamily.kext in E/E

 

NVClockX works great now without any modification

 

but i get:

 

FakeSMC: Opensource SMC device emulator by netkas © 2009

FakeSMC: Modified for plugins support by mozodojo © 2010

FakeSMC: Idea of FakeSMC plugins and code sample by usr-sse2

FakeSMC: Thanks to slice for help with hardware support code and plugins

FakeSMCDevice: 16 keys added

NullCPUPowerManagement::start

IntelThermal: CPU family 0x6, model 0x17, stepping 0xa, cores 2, threads 0

IntelThermal: CPU Tjmax 100

FakeSMC: Adding key TC0D with handler, type sp78, size 2

FakeSMC: Adding key TC1D with handler, type sp78, size 2

NVClockX: started

NVClockX: Vendor ID: 10de, Device ID: 606

NVClockX: Architecture: 20000

NVClockX: G92 [GeForce 8800 GS]

BIOS successfully read

FakeSMC: Adding key TG0D with handler, type sp78, size 2

W836x: found Winbond W83627DHG

FakeSMC: Adding key TN0P with handler, type sp78, size 2

FakeSMC: Adding key VC0C with handler, type fp2e, size 2

FakeSMC: Adding key F0Ac with handler, type fpe2, size 2

F718x: Fintek: Found unsupported chip ID=0xa0 REVISION=0x23

mbinit: done (64 MB memory set for mbuf pool)

F718x: Fintek: Found unsupported chip ID=0xa0 REVISION=0x23

 

could i disable the Fintek check?

if i delete the unused plugins inside the SuperIO, my System stops booting behind Chameleon with -f

 

would you port FakeSMCIntelMonitor with MHz too ?

 

another question, i don´t know if it is ot: is fakesmc the reason for kernel panic when i don´t use NullCPUPowerManagement.kext ?

 

thx as allway´s

post-282470-1287643220_thumb.png

Link to comment
Share on other sites

hello, now i use your new upload from 20.10. with:

FakeSMC.kext, NVClockX.kext, IntelThermal.kext, SuperIOFamily.kext in E/E

 

NVClockX works great now without any modification

 

but i get:

 

FakeSMC: Opensource SMC device emulator by netkas © 2009

FakeSMC: Modified for plugins support by mozodojo © 2010

FakeSMC: Idea of FakeSMC plugins and code sample by usr-sse2

FakeSMC: Thanks to slice for help with hardware support code and plugins

FakeSMCDevice: 16 keys added

NullCPUPowerManagement::start

IntelThermal: CPU family 0x6, model 0x17, stepping 0xa, cores 2, threads 0

IntelThermal: CPU Tjmax 100

FakeSMC: Adding key TC0D with handler, type sp78, size 2

FakeSMC: Adding key TC1D with handler, type sp78, size 2

NVClockX: started

NVClockX: Vendor ID: 10de, Device ID: 606

NVClockX: Architecture: 20000

NVClockX: G92 [GeForce 8800 GS]

BIOS successfully read

FakeSMC: Adding key TG0D with handler, type sp78, size 2

W836x: found Winbond W83627DHG

FakeSMC: Adding key TN0P with handler, type sp78, size 2

FakeSMC: Adding key VC0C with handler, type fp2e, size 2

FakeSMC: Adding key F0Ac with handler, type fpe2, size 2

F718x: Fintek: Found unsupported chip ID=0xa0 REVISION=0x23

mbinit: done (64 MB memory set for mbuf pool)

F718x: Fintek: Found unsupported chip ID=0xa0 REVISION=0x23

 

could i disable the Fintek check?

if i delete the unused plugins inside the SuperIO, my System stops booting behind Chameleon with -f

 

would you port FakeSMCIntelMonitor with MHz too ?

 

another question, i don´t know if it is ot: is fakesmc the reason for kernel panic when i don´t use NullCPUPowerManagement.kext ?

 

thx as allway´s

 

Delete F718x from plugins folder it must work. If not, use latest chameleon.

 

P.S. Latest chameleon versions having an issue while booting with -f flag

Link to comment
Share on other sites

 Share

×
×
  • Create New...