Jump to content

424 posts in this topic

Recommended Posts

Advertisement

Yep, also already used to submit an really complete und good readable +structured Browser htlm output of all devices (HW+SW). That output (in an folder) can be zipped and submitted in case of problem research.

Share this post


Link to post
Share on other sites

Thanks Blackosx!!!!!!l for me this is the beast tooll for dump all info of the System and hardware, great work!!!! :thumbsup_anim:

 

+1

Share this post


Link to post
Share on other sites

Great tool, thanks

Trauma, JrCs, sonotone, phcoder, blackosx, STLVNUB, Slice, dmazar, STLVNUB, THe KiNG, гык-sse2, rafirafi, bcc9, mcmatrix, !Xabbu.

Share this post


Link to post
Share on other sites

I've attached a revised version of DarwinDumper to the opening post.

 

The changes from 2.3.4 -> 2.3.6 are:

 

- Added detection for the version of Clover 'boot' file and CloverXXX.efi file

- Changed bootloaders.txt and diskutil html layout to include UEFI files found.

- Added detection for Clover, Windows and ELILO when finding UEFI file named BootX64.efi.

- Added cmf's oclinfo for OpenCL info dump. (Thanks Slice).

- LPSCI html tables are now collapsable.

Share this post


Link to post
Share on other sites

Excellent information tool with a very readable format. BIG thank you to all contributors.

Share this post


Link to post
Share on other sites

I'm amazed, I just saw Clover v2 :StarTrek: , and now this fantastic tool!!!!!!

Revolution is coming on Hackintosh world?

wow ...... ..... good job to all of you! :)

 

Micky

Share this post


Link to post
Share on other sites

Can you make an option to save to other folder instead of the Desktop ?

Thanks for the request. I'll see what I can do.

 

Good point, THAT folder should be DarwinDumper App folder.

I'll make that the default choice.

Share this post


Link to post
Share on other sites

Revised version attached to the opening post.

 

Changes from 2.3.6 -> 2.3.8

 

- User can now choose which part they want from the previously multiple diskutil & loader routine.

- Added option to choose dump save path. Default is the DarwinDumper App folder.

- Fixed bug when archiving previous folders.

 

Please Note: When clicking the option to choose a new save location, the dialog window displays an 'Open' button. Ideally this should read 'Select' but until I find out how to do it that's how it is.

 

Please report back any bugs or issues. Thanks

Share this post


Link to post
Share on other sites

Revised version (v2.4.2) attached to the opening post.

 

I make changes gradually and post them to projectosx until the time comes when they've been tested. There have been a few additions and changes that I thought it time to post a revised version here. However, for now I can't report every change as they are listed at the projectosx thread and that's currently down. I will update these changes once projectosx is back up and running. EDIT: Done

 

Changes from 2.3.8 -> 2.3.9

 

- Changed privacy routine to mask from centre->outwards (as JrC's first had it), rather than from start to finish.

- Increased mask percentage from 60% to 80% of string.

- Included mask of fmm-mobileme-token-FMM (this used to be dropped from IOreg completely, now it's just masked).

- HTML report tables are now collapsed by default.

- Fixes an incorrect HTML anchor for SMC section.

- Included LSPCI extended hex dump (-nnvvbxxxx) in the HTML report.

- Added a Misc option to the app and a /Misc folder to the DarwinDumper dump folder.

- Misc option dumps gEfiAppleNvramGuid ROM and MLB vars dump to /Misc/gEfiAppleNvramGuid_Vars.txt

- Misc option dumps copies of rc.local and rc.shutdown.local to /Misc/Scripts

- Full path of any found UEFI loaders is retained in bootloaders.txt and HTML report.

 

Changes from 2.3.9 -> 2.4.0

 

- Some internal script housework.

- Shortened 'Sys Profiler' nav link to read 'Sys Prof'.

- Diskutil & Bootloaders report only prints Clover boot file revision, if found.

- Incorrect identification of RevoBoot removed when checking com.apple.Boot.plist.

 

Changes from 2.4.0 -> 2.4.1

 

- Added efivar BootCurrent, BootOptionSupport, BootOrder, Boot000*, FirmwareFeatures, FirmwareFeaturesMask (Thanks Slice and dmazar for suggestions).

- Added check for existence of previous save path (Thanks STLVNUB).

- Changed text label in GUI window for saving of the Report folder location.

- Bug fix in generateHTMLreport.sh.

 

Changes from 2.4.1 -> 2.4.2

 

- Fixed bug where efivar Boot 000X failed to be written.

- gEfiAppleNvramGuid_Var.txt file kept and HTML dump done only if file not empty.

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 MaLd0n
      --Donations via PayPal--
      https://tinyurl.com/r2bvzm7
       
      --Original Topic--
      https://www.olarila.com/topic/6874-olarila-hackbook-lenovo-ideapad-s145-mojave-catalina-full-dsdt-patches/
       

       
      -Perfect HackBook, HDMI Audio/Video, Bluetooth, AirPlay, Sleep, Lid Sleep, Auto Sleep, Audio, etc!
      -Wifi card has been replaced with Dell DW1560!
      -I'm using a S145-15IWL Model with Intel Core i5 8265u / Intel UHD Graphics 620
      -Update bios/uefi to last version
       
      --Installation--
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
       
      --Clover Folder--
      Just paste EFI folder inside EFI partition
      https://www.olarila.com/files/Clover.Folder/Lenovo IdeaPad S145.zip
      Notebooks with ELAN trackpad use it with my folder above
      IdeaPad S145 ELAN.zip
       
      Bluetooth Broadcom
      Bluetooth Broadcom.zip
       
      CPUFriend for i5-8265U
      CPUFriend i5-8265U.zip
       
      --Full DSDT Patches--
      -My DSDT
      DSDT Lenovo IdeaPad S145.zip
       
      This DSDT work on S145-14IWL, S145-15IWL, V14-IWL, V15-IWL models
      -Patches
      -FIX ERRORS AND WARNINGS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE 11 ID -DMAC -REMOVE LINES, PROBLEMATIC and UNUSED -SLPB -DARWIN / WINDOWS 2015 -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -REAL TIME CLOCK -ARTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -IMEI -EC -PRWs -_DSMs -PNLF -BRIGHTNESS KEYS -I2C -NATIVE USB -ARPT -GFX0 -DTGP -kUSBCompanionIndex -io-device-location -FULL RENAMED DEVICES   --IGPU Patch--
      Video solution with HDMI Audio and Video
      <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> CQClPg== </data> <key>device-id</key> <data> pT4AAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>framebuffer-con0-alldata</key> <data> AAAIAAIAAACYAAAA </data> <key>framebuffer-con0-enable</key> <integer>1</integer> <key>framebuffer-con1-alldata</key> <data> AQEJAAAIAADHAQAA </data> <key>framebuffer-con1-enable</key> <integer>1</integer> <key>framebuffer-con2-alldata</key> <data> AgYKAAAEAADHAQAA </data> <key>framebuffer-con2-enable</key> <integer>1</integer> <key>framebuffer-fbmem</key> <data> AACQAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-stolenmem</key> <data> AAAwAQ== </data> <key>framebuffer-unifiedmem</key> <data> AAAAgA== </data> <key>hda-gfx</key> <string>onboard-1</string> <key>model</key> <string>Intel Corporation, Cannon Point-LP Iris Plus Graphics 655</string> </dict>   --Native USB Fix for Notebooks - No Injector/Kext Required--
      https://www.olarila.com/topic/6878-guide-native-usb-fix-for-notebooks-no-injectorkext-required/
      https://www.olarila.com/topic/6181-guide-native-usb-fix-for-desktops-no-injectorkext-required-skylake/
       
       
      -ScreenShots

































      -Links
       
       
      Clover https://github.com/CloverHackyColor/CloverBootloader
      AirportBrcmFixup.kext https://github.com/acidanthera/AirportBrcmFixup
      AppleALC.kext https://github.com/acidanthera/AppleALC
      Brcm Bluetooth https://github.com/acidanthera/BrcmPatchRAM
      Lilu.kext https://github.com/acidanthera/Lilu
      SystemProfilerMemoryFixup.kext https://github.com/Goldfish64/SystemProfilerMemoryFixup
      VirtualSMC.kext https://github.com/acidanthera/VirtualSMC
      VoodooI2C.kext https://github.com/alexandred/VoodooI2C
      VoodooPS2Controller.kext https://github.com/acidanthera/VoodooPS2
      WhateverGreen.kext https://github.com/acidanthera/WhateverGreen
      MaciASL - https://github.com/acidanthera/MaciASL
      acpica - https://github.com/acpica/acpica
      AptioMemoryFix.efi https://github.com/acidanthera/AptioFixPkg
      ApfsDriverLoader.efi https://github.com/acidanthera/AppleSupportPkg
      HFSPlus.efi https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true
      Hackintool https://github.com/headkaze/Hackintool
       
      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
       
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
       
      We're all here to have fun and learn from each other!
    • 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 dgsga
      Can I propose a new subforum be created for the new OpenCorePkg OpenCore front end being created by vit9696 and others, it is a fantastic piece of work:
      https://github.com/acidanthera/OpenCorePkg
      Even at version 0.1 it runs my Mojave 10.14.4 setup very nearly flawlessly. It consists of a 10KB bootstrap BootX64.efi and a 200KB OpenCore.efi OS loader. All configuration is done using a very well documented config.plist 
       
       
    • By nijhawank
      Hi friends,
       
      Recently I had been looking for ways to control the battery charging on my hackintosh which is a Thinkpad T460 with dual batteries. On Windows there's a program Lenovo Vantage that lets you set the Battery Charging Start and Stop Thresholds. These thresholds continue to apply even when the laptop is turned off as these thresholds are managed by the embedded controller, so from that perspective its a set once and forget.
       
      But there was one more thing that was frustrating me. By default Lenovo uses the external battery first and once its almost drained (less than 5%), it switches to the internal battery.
      Although the Charging Start and Stop Limits are a good way to increase the life span of Lithium batteries (by lowering the max charge limit), the complete drainage of the external battery prior to switching to internal is not a good idea.
      Fortunately Lenovo EC provide options to force drain (use) a battery (even with the ac adapter connected) thereby allowing to manually switch to the internal one, however these are manual controls. In Linux, there's a program tpacpi-bat that runs as a daemon and performs an efficient management of the dual batteries such as switching to internal battery when the external one reaches a configurable lower limit. However, this is Linux only and uses the ACPI interface.
       
      I did some research to understand my options in macOS. I found RehabMan's ACPIDebug.kext and its ability (using another RehabMan's tool ioio) to call a function defined in the DSDT. With information collected tpacpi-bat and ACPIDebug.kext, I have created a dirty version. 
       
      So this is how you use it...
      1. Use the attached SSDT-RMDT. As this was just a rough work to validate my understanding, I just did a hard coding for the first battery. 
      2. Install ACPIDebug.kext
      3. After the reboot, you can trigger the following battery operations...
      a. Set Battery Charge Start Threshold
      ioio -s org_rehabman_ACPIDebug dbg1 <start-percent>
      a. Set Battery Charge Stop Threshold
      ioio -s org_rehabman_ACPIDebug dbg2 <stop-percent>
      a. Force Discharge
      ioio -s org_rehabman_ACPIDebug dbg3 <0|1> //0 to disable, 1 to enable
      a. Inhibit battery charging for specified number of minutes
      ioio -s org_rehabman_ACPIDebug dbg4 <minutes> //0 to disable
      a. View Battery Info
      ioio -s org_rehabman_ACPIDebug dbg5 <anything> //pass anything, its ignored
      a. View Battery Charge Start/Stop Thresholds
      ioio -s org_rehabman_ACPIDebug dbg0 <anything> //pass anything, its ignored
       
      You can see the output using the Log Viewer Console (filter on ACPIDebug). You'd see something like this...
      default    19:34:35.175265 -0800    kernel    ACPIDebug: "View Thresholds"
      default    19:34:35.176349 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x28, }
      default    19:34:35.176489 -0800    kernel    ACPIDebug: { "Charge Stop  Threshold=", 0x3c, }
      default    21:07:36.023627 -0800    kernel    ACPIDebug: "Battery Info"
      default    21:07:36.032040 -0800    kernel    ACPIDebug: { "Conversion (mW[h] -> mA[h]) Required?=", 0x0, }
      default    21:07:36.032323 -0800    kernel    ACPIDebug: { "Design Voltage=", 0x2a30, }
      default    21:07:36.032519 -0800    kernel    ACPIDebug: { "Design Capacity=", 0xdb60, }
      default    21:07:36.032772 -0800    kernel    ACPIDebug: { "Last Full Capacity=", 0x6a9a, }
      default    21:07:36.033783 -0800    kernel    ACPIDebug: { "Remaining Capacity=", 0x2e7c, }
      default    21:07:36.033968 -0800    kernel    ACPIDebug: { "Remaining Percent=", 0x2b, }
      default    21:11:19.319090 -0800    kernel    ACPIDebug: { "Charge Stop Threshold=", 0x5a, }
      default    21:11:30.722450 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x50, }
      default    23:34:39.071335 -0800    kernel    ACPIDebug: "Force Discharge=Enabled"
      default    23:34:59.427494 -0800    kernel    ACPIDebug: "Force Discharge=Disabled"
      default    23:35:08.475281 -0800    kernel    ACPIDebug: { "Inhibit Charge Enabled (in Minutes)=", 0xf, }
      default    23:35:12.971671 -0800    kernel    ACPIDebug: "Inhibit Charge=Disabled"
       
      At this time, I just hard-coded for the BAT0 to quickly validate my understanding and its working well. 
       
      What's next? As I understand (and please correct me if I'm wrong), I can't return values with ACPIDebug.kext along with ioio, plus this is also all very hacky.
      To be able to create a program that reads the current remaining capacity (percent) and switches control to internal batter, I need a way to return this info. Currently I'm just outputting it to the logs.
       
      My thinking is to modify ACPIDebug.kext or one of these other kexts (ACPISensors.kext) to add code for above and then create a program to optimally manage the operation of my two batteries.
      However, I'm very new to all of this and will take some time.
       
      In the meanwhile, here is it for your playing pleasures. Please be aware that my SSDT-RMDT is currently hard-coded for BAT0 and doesn't have all the validations. 
      Credits to RehabMan, tpacpi-bat, and other resources on internet.
       
      Thanks all.
       
       
      SSDT-RMDT.dsl
    • 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.
×