Jump to content
Welcome to InsanelyMac.com - No more ads! And some exciting news... Read more... ×
Slice

Different sensors projects

59 posts in this topic

Recommended Posts

Guys,

Don't mix 6.18 and 3.41.

 

There are three different projects for monitoring temperatures, voltages, fans speed and other hardware parameters:

Initially it was FakeSMC with plugins for producing SMC keys for hardware parameters for different hardware. But sometimes ago Kozlek separated own version of FakeSMC and producing new set of plugins while I stay with good working version 3. So..

1. FakeSMC v3 with Hardware Sensors3  which I still supported.

2. FakeSMC v6 (rev1800) by Kozlek and supported by Rehabman. AFAIK both are abandoned and the project is not supported. Or may be maintained by coauthors.

3. New VirtualSMC by vit9696 with own set of sensors kexts. It depends on Lilu.kext. The project is in active development.

All three project have incompatible interfaces sensors<->SMC so they are incompatible with each other.

 

There are applications for monitoring hardware parameters and they commonly depends on these projects.

1. iStat, iStatMenu, iStatPro compatible with real Macs because they use SMC keys just like those presents in real Macs.

2. HWMonitorSMC by Navi (initial codes from Kozlek)  used in my HWSensors3.

3. HWMonitor by Kozlek with graphics like in IntelPowerGadget used in his HWSensors version.

4. HWMonitorSMC2 by Vector_Sigma tends to be universal supporting all project. It also may use sensors information produces by Apple graphics and by IntelPowerGadget.

 

Let us discuss here differences and common ideas for this projects.

 

Share this post


Link to post
Share on other sites

Hi
By reading through the thread here, not sure if the current Sensors work.... is this card supported?

 

vclist v1.0.2 (vector sigma 2018-2019), found 1 graphics card!
----------------------------------------------------
Model               = Radeon RX Vega 56
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c3000000>
subsystem ID        = <88230000>
sub system VendorID = <8c140000>


Device Utilization  = 0%
Total Power         = 15 Watts
Temperature         = 47°
Fan Speed           = 0 RPM
Fan Speed           = 28%
vram Used           = 126513152 bytes
vram Free           = 3500003264 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 1024
Max Thread group Memory Length = 65536
Recommended Max Working Set Size = 0xFF000000
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = true
Read-Write Texture  = 2
Headless            = false
Is Low Power        = false
Removable           = false

I would like to Monitor Power, Temp and Fan-Speed.

 

Thanks, Mike

Share this post


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

 

Added fan and voltage reporting in SMCSuperIO through I/O Registry (requires client updates) by @joedmru

 

https://github.com/acidanthera/VirtualSMC/commit/ab5e40d02a4079bc35ecffec51fb601fd21cf738

If someone will provide a ioreg...

9 minutes ago, Mike Ranger said:

Hi
By reading through the thread here, not sure if the current Sensors work.... is this card supported?

 

vclist v1.0.2 (vector sigma 2018-2019), found 1 graphics card!
----------------------------------------------------
Model               = Radeon RX Vega 56
vendor ID           = <02100000>
vendor ID           = <7f680000>
revision ID         = <c3000000>
subsystem ID        = <88230000>
sub system VendorID = <8c140000>


Device Utilization  = 0%
Total Power         = 15 Watts
Temperature         = 47°
Fan Speed           = 0 RPM
Fan Speed           = 28%
vram Used           = 126513152 bytes
vram Free           = 3500003264 bytes


Metal properties:
Max Threads Per Thread group = width 1024, height 1024, depth 1024
Max Thread group Memory Length = 65536
Recommended Max Working Set Size = 0xFF000000
Depth 24 Stencil 8 Pixel Format = true
Programmable Sample Positions = true
Read-Write Texture  = 2
Headless            = false
Is Low Power        = false
Removable           = false

I would like to Monitor Power, Temp and Fan-Speed.

 

Thanks, Mike

Looks like you already know what the app will show..

Share this post


Link to post
Share on other sites

Not sure I understand... I am using a older version FakeSMC with specially tuned GPUSensors from KGP.

My boodloader is OpenCore.

I would like to switch to either VirtualSMC or your fork of FakeSMC with HWSensors, the question is if my card (Vega56) would work.

Since I use OpenCore, just switching kexts is not quite so easy, so ideally you could give me an indication.

Thanks, Mike

Share this post


Link to post
Share on other sites
Posted (edited)
20小时前,vector sigma说:

如果有人提供碘酒...

看来您已经知道该应用程序将显示什么。

Looking forward to joining soon

 

Edited by jinbingmao

Share this post


Link to post
Share on other sites

Looks great.... all temps recorded correctly in the HW-Sensors App.

Sorry if I ask this... but why would this not fully support Istat?

Everything shown in HWMonitorSMC2, really not much in Istat.

Regards, Mike

Share this post


Link to post
Share on other sites
18 minutes ago, Mike Ranger said:

Looks great.... all temps recorded correctly in the HW-Sensors App.

Sorry if I ask this... but why would this not fully support Istat?

Everything shown in HWMonitorSMC2, really not much in Istat.

Regards, Mike

 

I'm not using iStat, but Sensei shows temps and fans. 

 

scrns-bega-56-comp-00001.thumb.jpg.9af9e92b8d8b93508049ce7c6b8e967c.jpg

scrns-bega-56-comp-00002.thumb.jpg.630749c6bc71c55e2ea1a15e414b05fd.jpg

scrns-bega-56-comp-00003.thumb.jpg.a84ca29bc2410e06d61f101844efeba3.jpg

Share this post


Link to post
Share on other sites

Wow... really cool...gotta try Sensei

Well.... now I am stuck.... I don't know how to write some DSDT code for the LCP sensors.

Most of the stuff looks good.

CPU multipliers dont work.... some temps are off.

 

Share this post


Link to post
Share on other sites

So I can confirm that everything works.... 

In order to get more functionality, I would have to create a DSDT for the LCP  sensors. The problem I have however is, that looking through my DSDT, I have no good idea how to translate this info correctly.

I will try to better understand.

 

Share this post


Link to post
Share on other sites

Same context, different question.

Is there a way to tweak / discover the sensors for VirtualSMC in a similar way, in particular the LPC sensors.

Thanks, Mike

Share this post


Link to post
Share on other sites

I really dont understand.... Sensor-Reading and VirtualSMC / FakeSMC should be one unit, why separate it?

I also dont understand, why with VirtualSMC, only HWMonitorSMC2 show the majority of the Sensor Data and all standard Mac Software (like Istat) basically shows nothing.

Should not the goal be that standard Mac software can utilise / work with the sensor data provided?

 

 

 

Share this post


Link to post
Share on other sites
9 hours ago, Mike Ranger said:

I really dont understand.... Sensor-Reading and VirtualSMC / FakeSMC should be one unit, why separate it?

I also dont understand, why with VirtualSMC, only HWMonitorSMC2 show the majority of the Sensor Data and all standard Mac Software (like Istat) basically shows nothing.

Should not the goal be that standard Mac software can utilise / work with the sensor data provided?

 

 

 

FakeSMC with sensors is different from VirtualSMC with sensors. They provide different info for system. It is not my affair why VirtualSMC shows nothing.

Share this post


Link to post
Share on other sites

it is funny... i posted the same question in VirtualSMC Thread and was told i should post here.

Not that it matters, I agree with you that VirtualSMC should provide the values so that any Mac-App can utilize.

Who is the responsible programmer for VirtualSMC....

This all sounds a bit "political" to me.

Share this post


Link to post
Share on other sites
18 hours ago, Mike Ranger said:

I really dont understand.... Sensor-Reading and VirtualSMC / FakeSMC should be one unit, why separate it?

I also dont understand, why with VirtualSMC, only HWMonitorSMC2 show the majority of the Sensor Data and all standard Mac Software (like Istat) basically shows nothing.

Should not the goal be that standard Mac software can utilise / work with the sensor data provided?

 

 

 

VSMC sensors do not create SMC keys so they arent compatible with other software, voltages must be read from IOReg, not from SMC Keys

there is no "standard" software for Mac, and there is no "standard" software for Hackintosh, each developer uses his own keys

some of them are from real Mac, some of them are different

 

PS even FakeSMC plugins by Slice and FakeSMC by Kozlek use partially incompatible keys

Edited by Rodion2010

Share this post


Link to post
Share on other sites
On 1/7/2020 at 5:08 PM, Mike Ranger said:

Wow... really cool...gotta try Sensei

Well.... now I am stuck.... I don't know how to write some DSDT code for the LCP sensors.

Most of the stuff looks good.

CPU multipliers dont work.... some temps are off.

 

Oh man! Sensei looks cool but doesn't work with Mojave :cry:

Share this post


Link to post
Share on other sites

Hello, from our point of view there are serious terminology and organisation issues.

 

— There exists a SMC emulator: FakeSMC or VirtualSMC.

— There exists a driver providing sensor information: Intel Power Gadget kernel extension, macOS GPU kexts, Acidanthera Sensors or HWSensors. The driver does not necessary relate to the SMC emulator, as it can report sensor data with multiple methods.

— There exists an application interpreting sensor information data: HWMonitor, HWMonitorSMC2, iStat Menus, etc.

 

We believe it does not make sense to discuss sensor drivers and sensor applications in SMC emulator threads, they simply do not relate close enough to each other. The only case where we could imagine it be discussed is some API interaction with the emulator during driver development.

 

From the presence of HWMonitorSMC2 in the first message we believe this is a joint thread for HWSensors (drivers) and HWMonitorSMC2 (sensor apps). So for us it makes good sense to request features for the latter here.

 

If this thread is considered exclusive to HWSensors drivers, then it would be great if you create a dedicated thread for HWMonitorSMC2 for us to interact altogether. Moving messages to VirtualSMC thread is inadequare as VirtualSMC thread has nothing to do to sensors, and in fact it is even outside of the hardware sensors forum.

 

Regarding our new sensors format, as we said previously, we added Super I/O data reporting through I/O Registry in raw format, and need application authors to interpret the data. The formats, modulators and demodulators differ a little, so we created a thread with datasheets here: https://applelife.ru/threads/datasheets-k-chipam-superio.2944734/.

 

Cheers and thanks for understanding =)

Share this post


Link to post
Share on other sites

Thanks all for clarifying. I can confirm that the new Super I/O is really working great. All is missing is the link to the well known Apps like Istat for example.

The question is really if I understood you correctly:

 

How to close that bridge from the raw data Super I/O to, for example IStat, which most Mac/Hack users have installed and using. I think the main reason that not more users have switched to VirtualSMC is exactly that reason.... and sorry for stating that in this thread....hope it is not off-topic.

 

If I officially submit that as a request, where would that go.... into the VirtualSMC one?

 

Thanks again, Mike

Share this post


Link to post
Share on other sites

  • Similar Content

    • By miliuco
      Install macOS 10.15 Catalina on Gigabyte P55-USB3 with Radeon RX 580 graphics card using a USB device created with the createinstallmedia command and Clover as bootloader. Instructions to install macOS 10.14 Mojave on this computer are almost identical, replacing Catalina app with Mojave, so this article is suitable for both versions of macOS. The Gigabyte P55-USB3 motherboard (and some others from the same brand with the P55 / H55 chipset) have made it easy to build a hackintosh and install macOS since 10 years ago. Although it is an old motherboard, the behavior with Mojave or Catalina is very good after changing the classic hard drive (HDD) for a solid state drive (SSD).

      Components of the hackintosh
      Gigabyte GA-P55-USB3 motherboard: P55 chipset, 1156 socket, ALC892 audio, Gigabit RTL8111D network, DDR3 RAM Intel Core i5-750 processor for socket 1156: 4 cores, 8MB cache, clock rate 2.66 GHz Fenvi FV-T919 wireless + Bluetooth card: PCI-Express, wifi is ac type, detected by macOS as Airport and Apple Bluetooth Radeon RX 580 8 GB graphics card: works OOB but with a few details to be considered, it has its own article.  
      Previous requirements
      Install macOS Catalina app in /Applications folder USB flash drive with at least 16GB prepared from Disk Utility with MBR partition scheme and formatted as Mac Os Plus (on older Gigabyte boards like mine, USB sticks partitioned with GUID scheme instead of MBR usually hang the system when booting) Recent version of Clover (I have used r5117) Recent versions of Lilu (at least 1.4.4) and WhateverGreen (at least 1.3.9) to fine-tune the behavior of the graphics card Recent version of RealtekRTL8111 (I have used 2.2.2) FaceSMC version 6.26-322 (newer versions disable automatic mounting of USB devices on my system).  
      Create install USB
      Run this command from Terminal (assuming the target device is called USB):
      Bash: sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB /Applications/Install\ macOS\ Catalina.app
      Clover must be installed on the USB memory, I choose the following options:
      Bootloader > Install boot0af on the MBR CloverEFi > CloverEFI 64-bit SATA BIOS Drivers, 64 bit > Recommended drivers > FSInject + SMCHelper + XhciDxe BIOS Drivers, 64 bit > File System drivers > ApfsDriverLoader Install RC scripts on selected volume Optional RC scripts > Disable sleep proxy client.  
      You have to copy 4 kexts to the EFI/CLOVER/kexts/Other folder of the USB device: FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2. Regarding the config.plist file, the most significant is:
      Boot > kext-dev-mode = 1 in Boot arguments GUI > Theme embedded, EmbeddedThemeType Dark, Screen Resolution 1920x1080, Preboot in Hide Volume Graphics > blank, nothing is checked except if foxbox solution is used to have more than 2 connectors enabled RT Variables > 0x28 in BooterConfig and 0x67 in CsrActiveConfig SMBios > iMac14,2 Sytem Parameters> Yes in Inject Kexts and check Inject System ID.  
      Install macOS Catalina

      Boot from the USB device and choose Install macOS from Install macOS Catalina. The installation program runs until the PC restarts. Here choose Install macOS from HDD (the name of the volume you are installing macOS on). With RX 580 graphics card, the screen goes black in this second phase of the installation, it is a phase in which the user has nothing to do until the PC is restarted so you can let it work until the Clover menu again. You have to choose Boot macOS from HDDto boot the installed system from the hard disk, the screen is recovered and you can configure the account and the initial options. From this moment the screen works fine.

      In summary:
      Boot from USB > Clover menu > Install macOS from Install macOS Catalina > screen works fine Boot from USB > Clover menu > Install macOS from HDD > black screen Boot from USB > Clover menu > Boot macOS from HDD > screen works fine.  
      Install Clover and kexts on the hard drive

      Clover needs to be installed on the disk where we just installed macOS. Options are the same as when installing it on the USB memory. You also have to copy the 4 kexts (FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2) into the EFI/CLOVER/kexts/Other folder on the EFI partition of the disk. And review the config.plist file remembering the comments for the USB.

      If everything goes well, the computer starts from the hard disk with a running copy of macOS Catalina.
       
       

    • By Slice
      The thread splitted from HWSensors3.
       
      Tools to testing Radeon state.
      Load RadeonPCI.kext  
      RadeonPCI.kext.zip
       
      How to load
      sudo chown -R root:wheel ~/Downloads/RadeonPCI.kext sudo chmod -R 755 ~/Downloads/RadeonPCI.kext sudo kextutil -v ~/Downloads/RadeonPCI.kext and use RadeonDump utility
      RadeonDump1.zip
       
      Commands to see temperature
      Polaris
      ./RadeonDump1 -n 6b0,c0300014
      SeaIsaland
      ./RadeonDump1 -n 200,c0300014
       
      Old families
      ./RadeonDump1 -r 714,7f4
       
      Other possible methods to find a register for temperature
      ./RadeonDump1 -n 6b0,c0300e0c
      ./RadeonDump1 -n 6b0,1c5
      ./RadeonDump -n 6b0,d8200ca4
      ./RadeonDump -r 59800,59810
      ./RadeonDump -r 678,680

       
       
       
      01.12.2017
      Latest solution RadeonMonitor.kext here
      works for RX 460,480,580
      not works for HD7790, R9 290X?
       
      06.12.2017
      Here works also with HD7790, R9 290X
       
      14.12.2017
      Support VEGA here
       
      13.12.2017
      Version for test modern cards
      RadeonPCI5.kext.zip
       
      06.04.2020
      Version for Catalina
      RadeonPCI5-v2.kext.zip
    • By kevin_1351
      tl;dr: VirtualSMC causes me a flood of log messages and correlated cpu spikes. FakeSMC doesn't.
       
      Hi, I have almost finalized my Huawei Matebook X Pro Opencore setup and everything is working very well besides wifi/bt ofc (which is about to change).
       
      However, I noticed how the cpu usage sometimes went up a little and when looking at the Console I could see a never-ending flood of:
      default 14:05:05.983292+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:05.982975+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:05.982996+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985932+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985949+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.986134+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426574+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:39.426729+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426585+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431085+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431097+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431246+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433068+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:42.433227+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433078+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434453+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434465+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434622+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:44.436155+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:44.436166+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0  
      As you can see, multiple of these per second. Another guy with the same computer is also having this issue and posted a dsdt change to fix it. This fix didn't solve anything though
      He tried to limit the Notify call by implementing a state change requirement before calling Notify.
       
      Here is the original acpi:
      Scope (_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } ^^PCI0.GFX0.CLID = Local0 Return (Local0) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } Notify (LID, 0x80) // Status Change } } Which he changed to: 
      Scope (_SB) { Device (LID) { Name (_OLD, One) // assuming everything else.. the lid should start open? Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } Return (Local0) } } Device (PNLF) { Name (_HID, EisaId ("APP0002")) // _HID: Hardware ID Name (_CID, "backlight") // _CID: Compatible ID Name (_UID, 0x0A) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } If ((^^^^LID._OLD != Local0)) { Notify (LID, 0x80) // Status Change ^^^^LID._OLD = Local0 } } } Besides me not seeing any reason to declare _OLD in LID. The idea itself shouldn't be too bad right? Well, as I said, his fix didn't work.
       
      In fact, to prove that Method _Q81 doesn't have anything to do with the issue at all, I created a Clover/Opencore patch to change _Q81 to XQ81. This resulted in my lid not working at all of course, but the log flooding still persisted!
      So _Q81 doesn't have anything to do with the issue afaik.
       
      Now, further Google searches led me to a chinese post where he tied the issue to VirtualSMC. And indeed, by migrating to FakeSMC the issue is no more.
       
      Unfortunately, I'm very fond of VirtualSMC for various reasons. So I would very much like to keep it. If not I'd have to implement the old way of doing Battery monitoring etcetc. Which isn't very elegant and update proof as it requires DSDT patching.
       
      So, I do believe that the issue may very well be in the DSDT code, perhaps in the ambient light part. I'm not very skilled at this and just started studying the ACPI spec 3 days ago.
       
      Could someone please help me out? Thanks a lot in advance
       
       
      origin.zip
      OC.zip
    • By Slice
      This thread devoted to share information about different SMC keys found or investigated anywhere.
       
      What are they?
      SMC keys is a somehow language to speak between macOS and hardware microcontroller presented in real Mac and absent in Hackintosh.
      They inform macOS about Hardware ID and current status. Moreover macOS can write something through SMC protocol to control hardware.
      FakeSMC ( ©Netkas) is the driver to emulate this microcontroller on PC having no such device which is necessary to boot macOS here.
      But FakeSMC contain only ~20 keys while real Mac answers ~200 keys.
      Some keys we added by HWSensors project reporting temperatures, FAN speeds, voltages etc.
      Some keys are model dependent was added by Clover to be sure if user changed model in GUI then corresponding keys will be changed automatically.
      Clover sets
      LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", &gSettings.RPlt, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"RBr", &gSettings.RBr, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &gSettings.EPCI, 4);
      LogDataHub(&gEfiMiscSubClassGuid, L"REV", &gSettings.REV, 6);
      LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Mobile, 1);
      BEMB - is a mobility sign. =0 -desktop, =1 - mobile.
      REV - SMC hardware revision, changes sometimes with Apple updates.
      RPlt, RBr and EPCI is hardware capabilities, noticed used in Intel HD drivers.
       
      Structure.
      All SMC keys consists of name 4 ascii chars as 32bit integer, type and value.
      Types:
       "flag", len 1
       "ui8 ", len 1
       "ui16", len 2
       "sp78", len 2
       "ui32", len 4
      "fp2e", len 2
      "fpe2", len 2
      "{rev", and others...
       
      List of known keys
      SMC_list.plist.zip
      More keys will be discussed in the thread
       
       
      Feel free to share you knowledge and ask about noticed keys.
×