Jump to content

Search the Community: Showing results for tags 'ACPISensors'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • InsanelyMac Lounge
    • Front Page News and Rumors
    • Reader News and Reviews
    • Forum Information and Feedback
  • OSx86 Project
    • New Releases and Updates
    • New Users Lounge
    • Developers Corner
    • Tutorials (The Genius Bar)
    • Technical FAQ
    • Installation
    • Post-Installation
    • DSDT and SSDT
    • Hardware Components and Drivers
    • Desktops
    • Notebooks
    • Netbooks
    • Tablets
    • MacMod of the Month
    • Multi-booting and Virtualisation
  • International
    • Your Language
    • Deutsch
    • Español
    • Français
    • Italiano
    • Português
    • Русский
  • Apple World
    • Mac OS X
    • Apple Computers and Hardware
    • iOS Devices
    • Mac Applications
    • Mac Programming and Development
    • iOS Programming and Development
    • Mac Gaming
    • Mac Accessories
  • Discuss and Learn
    • Windows Discussion
    • *nix
    • Apple Opinions and Discussion
    • The Great Debates
    • Internet(s), Servers, and Networks
    • Buying Thoughts, Reviews, and Recommendations
    • Mods and Overclocking
    • The Big Issues [Real Life]
  • Everything Else
    • Creativity
    • Thunderdome (Random Stuff)
    • Laughs
    • The Marketplace

Categories

  • Kexts
    • Graphics Cards
    • Audio
    • LAN and Wireless
    • Other
  • Kernels
  • Bootloaders
  • DSDTs
    • Patches
  • Pandora
  • Apps
  • Miscellaneous
  • Customization

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. This is the guide how to make monitoring of hardware parameters (temperatures, fan speeds, voltages etc) using DSDT programming. The method invented by me with THeKiNG presence and improved by Kozlek. Prerequisites There is FakeSMC plugin named ACPImonitor in my branch or renamed to ACPISensors in kozlek's branch. They are the same. HWMonitor or other monitoring application: iStat, K-Stat-i, ... How it works. HWMonitor or other software make a request for known SMC key, for example TA0P (ambient temperature), every 1 seconds. The request catched by FakeSMC which knows that the key registered by ACPImonitor plugin. This plugin knows that the value for the key must be read from ACPI device "monitor" by method "TCRR" and make a request to AppleACPIPlatform for evaluate this method. AppleACPIPlatform interpretates AML codes written into DSDT, finds the method and calculates the value using hardware access. The value return back to ACPImonitor -> FakeSMC -> AppleSMC -> HWMonitor which shows the "temperature". The kext ACPImonitor will not work OOB. It will work only with DSDT patches for the usage. Simple example DSDT. Device (FSAM) { Name (_HID, EisaId ("APP0111")) Name (_CID, "monitor") Name (TCRK, Zero) Method (TCRR, 0, NotSerialized) { Return (TCRK) } Method (TCRW, 1, NotSerialized) { Store (Arg0, TCRK) Return (TCRK) } Method (TCPP, 1, NotSerialized) { Store (\_TZ.THM._TMP (), Local0) Return (Local0) } } You have to create new device. It must have Name (_CID, "monitor") This is the key for ACPImonitor attached to it. Then see Method (TCRR,0, NotSerialized) mentioned above. It will return a value or variable TCRK. In this demo I made a method TCRW which will fill the variable TCRK from SMC key. The I have to make correspondence ACPI_methodSMC_key in ACPImonitor.kext/info.plist I can write values to the SMC key TA1P ./SMC_util3 -kTA1P -w28 and see the value 28 appears in HWMonitor as "Ambient temperature" Value conversions must be provided in DSDT. Predefined keys ACPI SMC Name TCPU Th0H CPU heatsink TSYS TN0P Northbridge temperature TDIM Tm0P DIMM temperature TAMB TA0P Ambient TCPP TC0P CPU proximity VCPU VC0C CPU voltage VMEM VM0R DIMM voltage ACDC ACIN, ACEN Presence of AC power FAN0 - FAN9 for FAN speed FTN0 -FTN9 for FAN rotation time In the case of FAN reading we also want to assign name to them. It is also possible with the Info.plist What to monitor in real DSDT? This is individual. So why the ACPImonitor will not work OOB. See example from my notebook. looking through DSDT I found the follow region. OperationRegion (TMIF, SystemMemory, 0xFF800160, 0x20) Field (TMIF, ByteAcc, Lock, Preserve) { THS0, 8, THS1, 8, THS2, 8, Offset (0x08), FAN1, 8, Offset (0x10), TSP0, 8, TSC0, 8, TSP1, 8, TSC1, 8 } Looks like three temperatures and one FAN. As well I found ThermalZone Scope (_TZ) { ThermalZone (THM) { Method (_CRT, 0, NotSerialized) { Store (\_SB.PCI0.LPCB.WSEC.C2K (\_SB.PCI0.LPCB.WSEC.TSC0), Local0) Return (Local0) } Method (_TMP, 0, NotSerialized) { Store (\_SB.PCI0.LPCB.WSEC.C2K (\_SB.PCI0.LPCB.WSEC.THS0), Local0) Return (Local0) } _CRT - critical temperature _TMP - current temperature _SB.PCI0.LPCB.WSEC.C2K is a method to convert Celsius to Kelvin degrees. So I see that the field THS0 is really CPU temperature. Using ACPImonitor is only way to do monitoring on notebooks because no other methods works and because it usually contains ThermalZone. I know my guide is too short and hope some users shows own examples how to do ACPI monitoring. Note. This method is useful mostly for notebook where temperature and FANs control present in DSDT. For desktops there are plugins like ITE87xx, Winbond, Fintek depending on you LPC chip installed. 10.10.2017 ACPIMonitor version 1.0.3 There is a possibility to define some types and sizes for custom keys <key>keysToAdd</key> <dict> <key>TCRR</key> <string>TA0P-2</string> <key>TCRW</key> <string>TA1P-3</string> <key>MSLD</key> <string>MSLD-1</string> </dict> The number after key name means follow 0 -> "flag", len 1 1 -> "ui8 ", len 1 2 -> "ui16", len 2 3 -> "sp78", len 2 4 -> "ui32", len 4
×