Jump to content

1,926 posts in this topic

Recommended Posts

9 minutes ago, Pavo said:

Yes

LYeWFrI.png

 

This is not HWMonitorSMC2.app! Try to decompress the package and manual install the kext and the framework.

Share this post


Link to post
Share on other sites
Advertisement

Thank you all

Please I got this result but I am not sure !!!

Please see my GPU Sensors ; is it correct ?

Screen Shot 2019-07-07 at 9.30.47 AM.png

Share this post


Link to post
Share on other sites

Hi @vector sigma,

is it possible to make somehow HWMonitorSMC2 to NOT autostarted at system launch?

I checkout its preferences.

I exclude in from Login Items.

I checked Luach Daemons.

Anyway after restart the monitor is started again...

 

I need this to debug SMC keys without monitor.

Share this post


Link to post
Share on other sites
Posted (edited)
4 hours ago, Slice said:

Hi @vector sigma,

is it possible to make somehow HWMonitorSMC2 to NOT autostarted at system launch?

I checkout its preferences.

I exclude in from Login Items.

I checked Luach Daemons.

Anyway after restart the monitor is started again...

 

I need this to debug SMC keys without monitor.

Hi Slice, that already happened to me... but later I've realize that I hade more the one HWMonitorSMC2.app that wanted to load at login (due to some tests with various copies of the source code), and since at app initialization each app unload itself if another HWMonitorSMC2.app is already running ..at next reboot, again, another app was showing up. Please ensure this is not the problem, anyway I'll revise the code.

 

EDIT

For the moment, a simple way to ensure no smc calls are made, just go to the settings and uncheck each sensor group that reads smc keys:

488682568_Screenshot2019-07-19at19_14_27.png.858b09e406e9b0933f73a2f396500874.png

media, ram and battery groups doesn't use the smc. Settings are shared between each app, so this way we can ensure smc doesn't get  opened.

On 7/7/2019 at 9:40 AM, zkingtut said:

Thank you all

Please I got this result but I am not sure !!!

Please see my GPU Sensors ; is it correct ?

Screen Shot 2019-07-07 at 9.30.47 AM.png

looks ok to me

Edited by vector sigma

Share this post


Link to post
Share on other sites
3 hours ago, vector sigma said:

Hi Slice, that already happened to me... but later I've realize that I hade more the one HWMonitorSMC2.app that wanted to load at login (due to some tests with various copies of the source code), and since at app initialization each app unload itself if another HWMonitorSMC2.app is already running ..at next reboot, again, another app was showing up. Please ensure this is not the problem, anyway I'll revise the code.

 

EDIT

For the moment, a simple way to ensure no smc calls are made, just go to the settings and uncheck each sensor group that reads smc keys:

 

media, ram and battery groups doesn't use the smc. Settings are shared between each app, so this way we can ensure smc doesn't get  opened.

looks ok to me

This moment I am sure having only one app. But I don't know if macOS remembered it twice.

I resolved the problem deleting the app. Next time I will restore it from archive.

 

I have many news about using SMC keys so FakeSMC and plugins will be updated.

Share this post


Link to post
Share on other sites

Hi @Slice per my earlier message, were I tried your plugin for the ITE IT8987VG, I suspect that I have too few SMC keys reported by your SMC_util3 as its output has no visual indication of a FAN being reported, FNum shows 0...!

 

Could this mean that the Intel NUC8's DSDT is reporting no fans, despite visible in the BIOS page? Can we help this situation by creating an SSDT-xxx.AML to retrieve that FAN data or recreate it from the disassembled DSDT? This is very curious, why would Intel block these keys...

 

Also, can you confirm that IntelCPUMonitor supports officially the Coffee Lake (Bean Canyon) generation? It's Intel Core i7-8559U / Intel Iris Plus Graphics 655.

 

Any ideas/help are welcome. Thanks again.

Share this post


Link to post
Share on other sites

Yes, IntelCPUMonitor supported CoffeeLake processores model 0x9E. See dmesg->kernel.log to find any messages about CPU.

Give me your DSDT and I will look if there is something to do with it. And all SSDT as well!

Share this post


Link to post
Share on other sites
On 7/22/2019 at 4:31 AM, Slice said:

Yes, IntelCPUMonitor supported CoffeeLake processores model 0x9E. See dmesg->kernel.log to find any messages about CPU.

Give me your DSDT and I will look if there is something to do with it. And all SSDT as well!

Thanks for your kind offer.

BIOS v56 ACPI Tables (DSDTs/SSDTs) attached. 

Intel NUC8i7BEH BIOS v56 ACPI Tables.zip

Share this post


Link to post
Share on other sites
On 7/26/2019 at 8:16 PM, MacKonsti said:

Thanks for your kind offer.

BIOS v56 ACPI Tables (DSDTs/SSDTs) attached. 

Intel NUC8i7BEH BIOS v56 ACPI Tables.zip

I see you have "ITE8708" so usual plugin ITE87X should work on your hardware but there is no such id

there are

  IT8705F = 0x8705,
  IT8712F = 0x8712,

I will add here 8708 a little later.

Share this post


Link to post
Share on other sites
Posted (edited)
On 7/29/2019 at 10:39 AM, Slice said:

I see you have "ITE8708" so usual plugin ITE87X should work on your hardware but there is no such id

there are


  IT8705F = 0x8705,
  IT8712F = 0x8712,

I will add here 8708 a little later.

 

Hi @Slice thank you for your time spent on this DSDT pack, I am impressed because Intel's product PDF explicitly mentions ITE IT8987E-VG (most likely chipset ID 0x8987 as I tried to find it by booting to Linux and run some hardware info command) in this official PDF here (see page 2 and page 19). Your comments welcome.

 

On 7/29/2019 at 9:50 PM, Slice said:

@MacKonsti 

Test, please

ITEIT87x.kext.zip

 

Thank you very much, please allow me for some days to reply, I am currently away from home and have no access to the NUC8 hackintosh. Thank you again, I look forward!

 

You think there is a need for a special SSDT-xxx device still? Because plugins or not, you SMC_util3 had reported zero fans :(

Edited by MacKonsti

Share this post


Link to post
Share on other sites
Posted (edited)
5 hours ago, Slice said:

why HWMonitorSMC2 doesn't show FAN when it really present but for a moment it is silent.

The code suppose that to be a good sensor the value must be greater of 0 and less-equal of 7000, good or not just to not show improbable values:

case .tachometer:
      sensor.stringValue = String(format: "%.0f", v)
      sensor.doubleValue = v
      valid = gShowBadSensors || (v > 0 && v <= 7000)

 

To debug sensors you have to create a file or a directory in to your Desktop called HWBadSensors, and all sensors will show up, even if considered bad (require a restart of the app). 

5 hours ago, Slice said:

If I burn CPU the FAN will rotate but HWMonitorSMC2 will not catch it.

The code I show you above validate sensors at the app start, so later if a FAN is malfunctioning any value is shown. In the project, drivers already do something similar:

   if (readTachometer(i) > 10 || nameLength > 0) {
      if (!addTachometer(i, (nameLength > 0 ? name->getCStringNoCopy() : 0))) {
        WarningLog("error adding tachometer sensor %d", i);
      }
    }

must be > 10 rpm.... so if the FAN is already malfunctioning this is already excluded at startup. We can make it accept v >= 0 in the app, but if readTachometer return 0 the driver will not even add the key.... plus specs for some chips clearly state that a minimum value should be like 1.35e6 / 0xFFFF i.e 20.59... yep, unless we talk about laptop's fan(s).. did you?

 

But then the question is, how distinguish between a bad reading of the sensor and a malfunction or a breakage at start up? 

 

 

P.S. sensors validation happens for all other kinds like voltages, frequencies, temperatures etc. (~/Desktop/HWBadSensors skip it). Code and rules below (please advice for changes):

Spoiler

//MARK: SMC keys validation functions
  func validateValue(for sensor: HWMonitorSensor, data: Data, dataType: DataType) -> Bool {
    let v : Double = decodeNumericValue(from: data, dataType: dataType)
    var valid : Bool = false
    switch sensor.sensorType {
    case .temperature:
      if gShowBadSensors || (v > -15 && v < 125) {
        /*
         -10 min temp + 5 to ensure no one start a pc this way.
         125 (110 °C it is enough) to ensure reading is correct
         */
        sensor.stringValue = String(format: "%.f", v)
        sensor.doubleValue = v
        valid = true
      }
    case .battery: fallthrough /* only if from the smc */
    case .hdSmartLife:          /* only if from the smc */
      var t: Int = 0
      (data as NSData).getBytes(&t, length: MemoryLayout<Int>.size)

      if gShowBadSensors || (t >= 0 && t <= 100) {
        sensor.stringValue = String(format: "%ld", t)
        sensor.doubleValue = v
        valid = true
      }
    case .voltage:
      sensor.stringValue = String(format: "%.3f", v)
      sensor.doubleValue = v
      // voltage sensors only refear to CPU and Motherboard's stuff
      // since Battery voltages are read directly from the IO Registry in this app.
      valid = gShowBadSensors || (v > -15 || v < 15)
    case .tachometer:
      sensor.stringValue = String(format: "%.0f", v)
      sensor.doubleValue = v
      valid = gShowBadSensors || (v > 0 && v <= 7000)
    case .frequencyCPU:  fallthrough
    case .frequencyGPU:  fallthrough
    case .frequencyOther:
      var MHZ: UInt = 0
      bcopy((data as NSData).bytes, &MHZ, 2)
      MHZ = swapBytes(MHZ)
      if sensor.unit == .GHz {
        MHZ = MHZ / 1000
      }
      sensor.stringValue = String(format: "%d", MHZ)
      sensor.doubleValue = Double(MHZ)
      valid = gShowBadSensors || (MHZ > 0 && MHZ < 9000) // OC record is 8794 (AMD FX-8350) on Nov 10 2012
    case .cpuPowerWatt:
      sensor.stringValue = String(format: "%.2f", v)
      sensor.doubleValue = v
      if sensor.key == SMC_IGPU_PACKAGE_WATT {
        valid = gShowBadSensors || (v >= 0 && v < 150) // 30 W max?
      } else {
        valid = gShowBadSensors || (v > 0 && v < 1000) // reached from an Intel i9-7890XE in extreme OC
      }
    case .multiplier:
      var m: UInt = 0
      bcopy((data as NSData).bytes, &m, 2)
      sensor.stringValue = String(format: "x%.f", Double(m) / 10)
      sensor.doubleValue = Double(m)
      valid = gShowBadSensors || (m > 0 && m <= 50)
    default:
      break
    }
    
    return valid
  }

 

 

Edited by vector sigma

Share this post


Link to post
Share on other sites

No, zero value is good. It means the FAN is stopped.

If the FAN not exist then drivers will not produce SMC keys F0Ac, F0ID. As well for FAN2 values F2Ac, F2ID.

 

Share this post


Link to post
Share on other sites
7 hours ago, Slice said:

zero value is good. It means the FAN is stopped

Agreed, the old code was just in this view with the difference that drivers start at boot while you can restart the app after the login. Committed the change, anyway You should do the same with the drivers since a Fan can start at 0 rpm as well.

Share this post


Link to post
Share on other sites
3 hours ago, vector sigma said:

Wants an alert window when this happens?:idea:

..maybe with a sound?

No, it is normal. My laptop started with stopped FAN until temperature increased up to 70 degree. Then FAN started.

Your latest Monitor is fine

Снимок экрана 2019-08-05 в 18.44.29.png

Share this post


Link to post
Share on other sites
1 minute ago, Slice said:

My laptop started with stopped FAN until temperature increased up to 70 degree. Then FAN started.

Because never taken into account laptop's... until now.

2 minutes ago, Slice said:

Your latest Monitor is fine

good!

Share this post


Link to post
Share on other sites

@vector sigma

HWMonitorSMC2 from r222, indications "Package IGPU" are frozen at the time of an application launch.
Earlier (the version with "GT") worked well. Please fix.

 

P.S.

I on former see two sensors "Package IGPU", from SMC keys and from IPG. I think better an settings option IPG shall switch sources.

 

 

1906235619_2019-08-0823_26_09.thumb.png.333544eb6b283c1a2b10414f44e22872.png

Share this post


Link to post
Share on other sites

I'm needing help in getting HWMonitorSMC2 to display information from my motherboard. It uses the Nuvoton NCT6797D (at 0xD451). I've also downloaded the source code (version r222) and noticed this chip is not included. Could you please add it? I've tried to add it and compile, but no luck. Do you need any other information from my motherboard?

Share this post


Link to post
Share on other sites
4 hours ago, Andrey1970 said:

HWMonitorSMC2 from r222, indications "Package IGPU" are frozen at the time of an application launch.
Earlier (the version with "GT") worked well. Please fix.

Thanks, tomorrow I'll take a look on it. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Slice
      Dell laptops and desktop can be monitored by SMM methods as mentioned is the old topic
       
      I made a plugin SMIMonitor for FakeSMC in 2014 but it was 32bits and was not working. Only now I made it to be 64bits (as darkvoid did with kozleks branch) and got positive results
        
      and after heating 
      So I have monitoring of 4 additional temperature sensors (CPU Proximity, GPU, DIMM, and Motherboard) and a CPU fan which initially stay at 0 rpm and start rotating after heating with 2882rpm.
       
      Moreover I implemented a function for brave people to control fans
      sudo SMC_util3 -kF0As -w2 The last digit 2 is a FAN speed you want to set
      0 = Off
      1 = Low
      2 = High
      If you have more then 1 fan then you can manage other one by choosing next key F1As, F2As etc.
       
      Precaution! Writing the fan speed is dangerous and may cause a computer damage. Do this at your own risk!
      Note. SMIMonitor.kext will work only with FakeSMC v3 provided with HWSensors3 in my signature.
      Official release at sf.net contains SMIMonitor without write possibility.
       
      Please test and report your successes and fails.
       
       
      SMIMonitor.kext-110.zip
      SMC_util3.zip
      smcwrite.zip
    • By fusion71au
      This is a brief guide on how to create a vanilla El Capitan (also same process for Sierra) OS X Installer USB with an updated prelinked kernel containing FakeSMC.

      It is tailored for those users who want to understand the “nuts and bolts” of how to create an installer and also to help brush up on their terminal skills (rather than have one made for them with the numerous automated “tools” available or even Apple’s createinstallmedia) :
       
       
      Specifically, it is also a “Proof of Concept” which shows that installation is possible without even having to rely on boot loader kext injection.

      Prerequisites
      Existing Yosemite installation (or Mavericks - see post#4 for steps 7,8) “Install OS X El Capitan.app" downloaded to the Applications folder Pacifist FakeSMC.kext - Slice or Kozlek branch Bootloader - Clover or Chameleon 8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”  
      Procedure
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Open OS X terminal and type the following lines, followed by <Enter> after each line.
          The image restore and file copying may take a while to complete, and at the end of the process, the Installer volume is renamed to “OS X Base System"....
       
      sudo -s hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg asr restore -source /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg  -target /Volumes/Installer -erase -format HFS+ -noprompt -noverify rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages cp -av /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System/System/Installation cp -av /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System diskutil unmount /Volumes/OS\ X\ Install\ ESD exit 3.  Right click on the “OS X Base System” Volume and click “Get Info”
       

      4.  Click on the lock icon and untick “Ignore ownership on this volume”
       

      5.  Extract/Copy the El Capitan Kernels folder into /System/Library/ of the USB with Pacifist.  NB It is found in the "Essentials.pkg" in /System/Installation/Packages
       

      6.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel —> OG.prelinkedkernel
       

      7.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of the installer USB using Finder.
       

      8.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..
       
      sudo -s chmod -R 755 /Volumes/OS\ X\ Base\ System/Library/Extensions chown -R 0:0 /Volumes/OS\ X\ Base\ System/Library/Extensions touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions kextcache -u /Volumes/OS\ X\ Base\ System exit Any errors should be noted but the output below is normal e.g.


      9. Install your Bootloader targeting the OS X Base System volume
       
       
       
       
      10.  Boot your system with the USB without injected kexts into the OS X Installer GUI....
       
       
       
       
       
      Post Install
      The original prelinked kernel in a fresh install of El Capitan will also lack FakeSMC ie it will only be linked to Apple signed kexts.  In order to boot into El Capitan the first time around without boot loader kext injection, the PLK needs to be rebuilt for the El Capitan volume like we did for the installer:
       
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel for the El Capitan volume —> OG.prelinkedkernel
      3.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of El Capitan using Finder
      4.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel.  In this example, the El Capitan volume is named "El_Capitan" - change if you have named it something else...
      sudo -s chmod -R 755 /Volumes/El_Capitan/Library/Extensions chown -R 0:0 /Volumes/El_Capitan/Library/Extensions touch /Volumes/El_Capitan/System/Library/Extensions kextcache -u /Volumes/El_Capitan exit 5. Install your Bootloader targeting the El Capitan volume.  This step is only necessary if you are installing El Capitan on a new drive without existing boot loader (not required if installing on a disk with existing boot loader beside Yosemite).
      6. Reboot your system without injected kexts into El Capitan!
       
       
      Other links
      The All-In-One Guide to Vanilla OS X for beginners
       
      Updates for Sierra and High Sierra   Custom Prelinkedkernel Generator Tool I have made a custom prelinkedkernel generator "PLK.tool" for Sierra + El Capitan.  Instructions:   1.  Download and extract the attached BaseSystem_PLK.tool.zip into your ~/Downloads folder.   2.  Copy any extra kexts necessary for booting your hack to ~/Downloads/BaseSystem/ExtraKexts (e.g. FakeSMC, VoodooPS2Controller), making sure SIP is disabled. 3.  Copy BaseSystem.dmg to ~/Downloads/BaseSystem  4.  Open terminal and run the following commands... cd ~/Downloads/BaseSystem chmod +x PLK.tool ./PLK.tool ---> supply your admin password ---> will place your new custom prelinkedkernel on the desktop.       macOS High Sierra bypass Firmware and MBR checks in post#13.
      BaseSystem_PLK.tool_ElCap.zip
      BaseSystem_PLK.tool_Sierra.zip
      BaseSystem_PLK.tool_Mojave.zip (need to run in Mojave to avoid dependency errors)
      BaseSystem_PLK.tool_Catalina.zip
       
    • By DaHarry
      I have installed Hackintosh on to my System, but the CPU cooler is obviously louder then on Windows.
      I am using right now VirtualSMC.kext, but since FakeSMC provides temperature measurement tools, and VirtualSMC not, I asked my self if that might be a hint for my loud cooler?
      My question, has somebody tried maybe both and even compared them? And is FakeSMC maybe less noisy?
      Is it enough to just mount EFI partition, and delete the VirtualSMC.kext and put instead FakeSMC.kexts ? Without any fancy kext installation tool or terminal commands, just replace files and restart in enough?
      My System:
      Mainboard: Gigabyte Aorus Z390 Ultra
      CPU: Intel i9 9900k
      CPU Cooler: BeQuiet! Dark Rock 4
      GPU: Vega 64
      Ram: 2x16GB Corsair 3200
      SSD: 1TB Adata M.2
       
      The Tutorial i have used - https://github.com/cmer/gigabyte-z390-aorus-master-hackintosh/blob/master/STEP_BY_STEP.md
       
      Really works like a charm besides, the more noisy cooler, which i bought because it is extra quietly.
      I asked first at tonymac's forum, but they deleted the post because I haven't used their tool, really disgustig.. I really hope to never use their tools, and I hope here the information freedom is more respected.
      #f. tonyhoremacs
    • By vector sigma
      HWSensor Features
      Control temperature of Intel and AMD CPU Control temperature of AMD, Intel and NVidia cards Control temperature of motherboard Control FANS Control Voltages Control HDD/SSD state (SATA & NVMe) with S.M.A.R.T. monitoring  Control frequencies Laptop Battery Monitoring Different applications support High Sierra compatible Installation to /S/L/E or in the ESP (Clover only)  
      Supported languages:
      English (base), Russian, Italian, Korean and semplified Chinese
       
      Source code: at https://sourceforge.net/p/hwsensors/hwsensors3/code3/HEAD/tree/
      Bugs report at https://sourceforge.net/p/hwsensors/hwsensors3/tickets/
      Topic for discussion at: https://www.insanelymac.com/forum/topic/299861-hwsensors3/
       
      Chief Developer @Slice, new HWMonitorSMC2.app and package by @vector sigma
×