Jump to content
2,188 posts in this topic

Recommended Posts

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

Link to comment
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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
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.

 

Link to comment
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.

Link to comment
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

  • Like 1
Link to comment
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

Link to comment
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?

Link to comment
Share on other sites

6 hours ago, curtistn73 said:

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?

OK, I will add it.

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Andrey1970 said:

@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

I see no such problem

Снимок экрана 2019-08-09 в 7.49.54.png

 

The value can't be from SMC as no such sensor.

Link to comment
Share on other sites

×
×
  • Create New...