Jump to content

VirtualSMC — SMC Emulator


vit9696
760 posts in this topic

Recommended Posts

19 minutes ago, jinbingmao said:

error

 

while the second is "Core" and not Package by mistake, the first is correct:

/*@function PGSample_GetIATemperature
* @abstract Get the CPU core temperature across all cores for the specified sample.
* @discussion CPU temperature is constantly changing over time, and can vary by core. The method used to measure CPU temperature can vary by CPU features and configuration, and may include mutliple measurements per core per sample. This function returns 3 values that represent CPU temperature across all cores on this package: (1) the mean temperature of all measurements across all cores; (2) the minimum temperature observed in any measurement on any core for this sample; (3) the maximum temperature observed in any measurement on any core for this sample.
* @param sampleID1 First sample, must precede the second sample in time.
* @param sampleID2 Second sample, must follow the first sample in time.
* @param mean Pointer that will be updated with mean CPU temperature across all measurements in degrees Celcius.
* @param min Pointer that will be updated with minimum CPU temperature across any measurement in degrees Celcius.
* @param max Pointer that will be updated with maximum CPU temperature across any measurement in degrees Celcius.
* @result True on success, false on failure. */
bool PGSample_GetIATemperature(PGSampleID sampleID, double* mean, double* min, double* max);

 

  • Thanks 1
Link to comment
Share on other sites

46 minutes ago, vector sigma said:

while the second is "Core" and not Package by mistake, the first is correct:


/*@function PGSample_GetIATemperature
* @abstract Get the CPU core temperature across all cores for the specified sample.
* @discussion CPU temperature is constantly changing over time, and can vary by core. The method used to measure CPU temperature can vary by CPU features and configuration, and may include mutliple measurements per core per sample. This function returns 3 values that represent CPU temperature across all cores on this package: (1) the mean temperature of all measurements across all cores; (2) the minimum temperature observed in any measurement on any core for this sample; (3) the maximum temperature observed in any measurement on any core for this sample.
* @param sampleID1 First sample, must precede the second sample in time.
* @param sampleID2 Second sample, must follow the first sample in time.
* @param mean Pointer that will be updated with mean CPU temperature across all measurements in degrees Celcius.
* @param min Pointer that will be updated with minimum CPU temperature across any measurement in degrees Celcius.
* @param max Pointer that will be updated with maximum CPU temperature across any measurement in degrees Celcius.
* @result True on success, false on failure. */
bool PGSample_GetIATemperature(PGSampleID sampleID, double* mean, double* min, double* max);

 

I didn't look at the source code. I thought you took the value here.

1.png

Link to comment
Share on other sites

4 hours ago, vector sigma said:

@joedm ru i had a lot of problems in retrieve the ChipName property, until i realize that the key is published this way:


\U0421hipName

and even the ioreg command line refuse to show it, so I made the code this way:


if (ioreg) {
    auto chipName = OSString::withCString(dataSource->getModelName());
    const OSSymbol *cn = OSSymbol::withCString("ChipName");
    ioreg->setProperty(cn, chipName);
    chipName->release();
}

This is the fixed file SMCSuperIO.cpp.zip (please don't copy/paste from the forum)

 

 

Guys, try the following app and the following SMCSuperIO.kext, otherwise wont work:

HWMonitorSMC2.app_v2.5.2_Beta.zip

 

SMCSuperIO.kext_v1.1.1.zip

 

 

Help in making the configuration:

use this command line: hwmlpcconfig.zip to create the right  directory structure for HWMonitorSMC2.app. The program will show OEM informations and not last the LPC chip name needed to correctly place the configuration in the appropriate sub directory. ~/Desktop/LPC/Vendor/ChipName/Board.plist will be created. Of course this is not a valid configuration: you have to correct it with real values.

 

Note: users that already posted their configurations should run hwmlpcconfig and tell me the new path to make them working again.

 

P.S. the autodetection will work only with Clover and with very last OpenCore.

In HWMonitorSMC2:

1593624049_2020-01-2623_30_35.png.0c64a3347fa52fabb88006ba07574681.png

But there must be Nuvoton NCT6793D.

 

  • Like 1
Link to comment
Share on other sites

On 1/26/2020 at 10:35 PM, ctich said:

But there must be Nuvoton NCT6793D.

Fixed thanks.

 

Guys, the final [REMOVED], check it one last.

 

OT

For who may be interested, here you can find all the files to translate the app. Mostly needs just some lines to be translated after latest changes.

Edited by vector sigma
Beta app removed
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

3 minutes ago, vector sigma said:

Ребята, а что если фанаты, которые сообщают 0 об / мин, будут автоматически пропущены? 

yes, I think it will be right

  • Like 1
Link to comment
Share on other sites

7 minutes ago, vector sigma said:

Not entirely true. When the sensor it is added it will continue monitoring even if the value is zero. The problem is if starts broken.

do let's check

Edited by Nuacho
Link to comment
Share on other sites

12 hours ago, vector sigma said:

Guys, what if fans that reports 0 rpm will be automatically skipped? 

 

But then users will send not full configuration files of motherboards to database HWMonitorSMC2.

In configuration database there shall be all fans.

  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...