Skip to content

[FIX FOR:] Generation from SMC report as 2 (& EFI optimization for 20FA) #189

Description

@Anarooo

If you have enabled verbose so you can see the output of OpenCore when launching the MacOS installer from USB and the operation hangs on "Generation from SMC report as 2"; OR your ThinkPad is rebooting when it gets roughly halfway through loading the installer from OpenCore, then this fix may work for you.

Enabling Verbose

If you don't have verbose mode on, use a .plist editor such as ProperTree, search for 'AppleDebug' and set these values to 'TRUE':

  • AppleDebug
  • ApplePanic
  • DisableWatchDog

And set 'Target' to '67' in that same Dictionary too.

Also, it's advisable to add '-v keepsyms=1' to your 'boot-args' under NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82 to ensure that it properly shows the debugging.

'Generation from SMC report as 2' fix

To fix the 'Generation from SMC report as 2', you need to add USBToolBox.kext, and you also need to map the USB ports on your T460s. You will need to boot into Windows to map the ports with the tool.

NOTE: You ideally need to be on Windows 10 or 11 to map the ports, however you can use Windows 8. WINDOWS 7 AND BELOW WILL CRASH. Alternatively, you can use Windows PE to map the ports, however they will be less descriptive.

You can acquire USBToolBox.kext from here and the tool to map your ports and generate the UTBMap.kext file here.

Once you have mapped your ports, place both the USBToolBox.kext and UTBMap.kext into the kext folder in your EFI. You now need to configure these kexts in the Config.plist file.

Open your Config.plist file with ProperTree (or another plist editor) and navigate to Kernel. Now create two new children under 'Add' and format them as such:

Note: You can use OCAuxilliaryTools to do this for you automatically, just go to 'Kernel, Add' with the Config.plist loaded, right click and select 'Add Item' then navigate to 'USBToolBox.kext' and open it. Repeat this for 'UTBMap.kext', ensuring UTBMap.kext is below USBToolBox.kext.

Screen Shot 2024-07-27 at 3 32 50 AM

Note: They do not have to be in position 5 and 6 specifically, however ensure USBToolBox is loaded before UTBMap and ensure they both go below Lilu, VirtualSMC and WhateverGreen.

Once this is done, save your Config.plist and try to boot. If you still get any errors, scroll down to 'Changes to Config.plist' and test changing the variables listed there.

Changes to Config.plist

I had to make a lot of different configurations to my system to fix various issues with the latest release of the EFI (and to fit the hardware difference with my 20FA variant of the T460s as the EFI is based on the T460s 20F9 variant).

What I changed:

  • SecureBootModel: 'Default' -> 'Off'
  • boot-args: added '-vsmcgen=1' to the end
  • PlatformInfo
    Generated Serial, UUID, MLB from 'MacBookPro13,3' (more hardware accurate version to base off)
    Set ROM to 0016cb ###### (0016CB is a valid Apple, inc. vendor) where # is any valid hex value [0-9 + a-f]

NOTE: You need to generate your own Serial, UUID and MLB which can be done with GenSMBIOS.

  • Placed 'BridgeOSHardwareModel' to Delete under NVRAM; Delete; 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
  • Set 'AAPL,ig-platform-id' to '00001619' to match ig-platform-id to Intel HD 520 graphics controller.
  • Some certain entries may also need to be removed as indicated on boot of OpenCore, or by the plist validator.

These changes will optimize your Config.plist more accurately. These changes are based on the T460s 20FA model and may not all work for you so trial and error these changes.

Note: SecureBootModel is recommended to be left as 'Default' for any OS versions Big Sur (11.0+) and above. Once my system is setup, I will test to ensure it will work when set to 'Default' and update this post as needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions