Jump to content
K0gen

Lenovo ThinkPad T420 with UEFI Only

4,739 posts in this topic

Recommended Posts

Advertisement

@okcakep - well not sure about your VGA issue. i presume you are either using a patched AppleIntelSNBGraphicsFB.kext or letting clover do it via the kext patch feature like the one i put in my config.plist

 

if the vga port buffer was not enabled (configured) you would not get anything at all. i just re-tested with 10.8.5 and it VGA works to my HP 24 in monitor. 

 

not sure the link you have above will work -  as that seems to be for MBR disks.

The way I built a dual boot UEFI with Clover, is I created a new UEFI Windows 7 x64 install USB. then i could directly install to my GPT disk with OSX and configured it for UEFI boot. you can create a 3rd partition and format it exfat for now (1st is ESP, 2nd is OSX and 3rd is for Windows). when in the windows installer you can reformat the exfat partition as NTFS. when you are done you should have an ESP that looks something like this:

 

post-954945-0-27829600-1379622915_thumb.png

 

then Clover GUI should look like this - Windows is the first one.

 

post-954945-0-59565100-1379622927_thumb.png

 

P.S. i forgot what a pain it was figuring out how to make a UEFI Win7x64 USB. here is how i did it on my MAC. i think there are plenty of other recipes out there:

  1. Download/obtain a Win7x64.ISO - then mount (open) it.
  2. Disk Utility create GPT/USD USB with free space
  3. command line: remove ESP/EFI partition
         sudo gpt delete -i 1 /dev/diskX 
  4. command line: add 1 partition for content
         sudo gpt add -i 1 /dev/diskX 
  5. Disk Utility: format single partition as msdos (fat32)
  6. copy everything from ISO to USB partition
         rysync -avr /Volumes/ISO/ /Volumes/USB
  7. add boot/bootx64.efi to /efi folder on USB (this came from /Windows)
    see Win7-UEFI-boot.zip
Edited by tluck

Share this post


Link to post
Share on other sites

@okcakep - well not sure about your VGA issue. i presume you are either using a patched AppleIntelSNBGraphicsFB.kext or letting clover do it via the kext patch feature like the one i put in my config.plist

 

if the vga port buffer was not enabled (configured) you would not get anything at all. i just re-tested with 10.8.5 and it VGA works to my HP 24 in monitor. 

 

not sure the link you have above will work -  as that seems to be for MBR disks.

The way I built a dual boot UEFI with Clover, is I created a new UEFI Windows 7 x64 install USB. then i could directly install to my GPT disk with OSX and configured it for UEFI boot. you can create a 3rd partition and format it exfat for now (1st is ESP, 2nd is OSX and 3rd is for Windows). when in the windows installer you can reformat the exfat partition as NTFS. when you are done you should have an ESP that looks something like this:

 

attachicon.gifScreen Shot 2013-09-19 at 4.28.09 PM.png

 

then Clover GUI should look like this - Windows is the first one.

 

attachicon.gifscreenshot0.png

 

Ok bro..i will try ...:)

Thanks for your support

Share this post


Link to post
Share on other sites

Thanks for the last pack

i have some blinking image when using safari (top sites page) or with page using flash

due to AppleIntelSNBGraphicsFB.kext ? don't know

any idea?

 

pfff 1024x768..

grr

Share this post


Link to post
Share on other sites

@Tetonne

 

hmm sounds kinda like the well known HD3000 artifacts? The SNBGraphicsFB has 4 ports when using the clover config.plist patch.

 

LCD

DisplayPort

DVI

VGA

 

i have not seen artifacts/shimmering since i began using a different EDID. I noticed you are using an EDID in your config.plist? 

what changed - other than 10.8.5 which does have new gfx drivers?

Share this post


Link to post
Share on other sites

@Tetonne

 

hmm sounds kinda like the well known HD3000 artifacts? 

 

i have not seen artifacts/shimmering since i began using a different EDID. I noticed you are using an EDID in your config.plist? 

what changed - other than 10.8.5 which does have new gfx drivers?

@ all :back to new tluck config (DualLink to 0), in fact the issue described here is not worth with my config vs tluck. But i when back to tluck config because i'm not able to correct resolution and blinking image on my own. (Not so easy to learn). The aim of my config is to learn not to make a alternative.

 

 

@tluck can't find AppleIntelSNBGraphicsFB.kext in 10.8.5 (S/L/E). Do u?

I'm sure it was present in 10.8.4 lol

 

-----

 

For the moment : resolution is 1024x768 only grrr

 

try to solve with this with no success DisplayProductID DisplayVendorID are not the same now??

try genEDID_3c.zip too without success for the moment

Share this post


Link to post
Share on other sites

@Tetonne

 

- not sure what you mean about that kext missing in 10.8.5. These are Intel kexts that load - same as before in 10.8.4.

- so are which config.plist are you using - are you using one of the ones i posted? meaning if the one in 4236Y33 i posted does not work then lets get one that does for 1366x768 resolution. 

 

Before clover with Chimer/Chameleon, I would do a binary patch on the AppleIntelSNBGraphicsFB to replace the 4th port with VGA. I am just letting clover do the patching.  your native resolution is 1366x768 right? can you change your display res to that? you can certainly 

 

$ kextstat|grep Intel
   15    0 0xffffff7f81a3c000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) 
   23    0 0xffffff7f81a37000 0x3000     0x3000     com.apple.driver.AppleIntelCPUPowerManagementClient (214.0.0) 
   38    0 0xffffff7f80ef6000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) 
   72    0 0xffffff7f81949000 0x2e000    0x2e000    com.apple.driver.AppleIntelSNBGraphicsFB (8.1.6) 
   74    0 0xffffff7f819af000 0x62000    0x62000    com.apple.driver.AppleIntelHD3000Graphics (8.1.6) 

Share this post


Link to post
Share on other sites
@tluck thanks for feed back and help.
before i had native resolution 1366x768 on 10.8.4
now i use your config except : dual link=1 cos 0 is needed for my T420, CustomEDID and inject EDID.
I'm not using the one i provide u.
kextstat|grep Intel
   16    0 0xffffff7f81a12000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) <7 6 5 4 3 1>
   39    0 0xffffff7f819e3000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) <37 10 5 4 3 1>
2 ligns here only some are missing???
I confirm that for unknown reason AppleIntelSNBGraphicsFB is missing in S/L/E???
 
after 10.8.5 combo reinstall, add kexts, repair :
kextstat|grep Intel
   16    0 0xffffff7f81a0d000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) <7 6 5 4 3 1>
   43    0 0xffffff7f819de000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) <37 10 5 4 3 1>
   68    0 0xffffff7f818f0000 0x2e000    0x2e000    com.apple.driver.AppleIntelSNBGraphicsFB (8.1.6) <67 10 9 7 6 5 4 3 1>
   70    0 0xffffff7f81956000 0x62000    0x62000    com.apple.driver.AppleIntelHD3000Graphics (8.1.6) <69 67 10 7 5 4 3 1>

com.apple.driver.AppleIntelCPUPowerManagementClient is still missing

 

I still don't understand why AppleIntelSNBGraphicsFB had disappeared before???? that was the first time i update via apple store vs combo method. I'll not do this next time lol.

 

Thanks to tluck
 
You will find my config totally based on tluck one but customized for 4236Y33.
Inside :

/4236Y33/ACPI/patched/

/4236Y33/ACPI/patched/dsdt.aml           based on tluck's one but dual ink set to 0

/4236Y33/ACPI/patched/ssdt.aml tluck's one

/4236Y33/config.plist based on tluck's one

/4236Y33/Configuration-GUI.webloc FYI

/4236Y33/DisplayVendorID-6af/DisplayProductID-313c    screen profile

 
 
This config is based on tluck'one and customized for 4236Y33 on 10.8.5.

4236Y33.zip

Share this post


Link to post
Share on other sites

Dear Expert,

 

Im installing broadcom 94312hmg with adding 4315 in info.plist. And....wifi detected..

But, i have problem. I cant using WPA2 ??

What the problem ?

 

Thank you

Share this post


Link to post
Share on other sites

Dear Expert,

 

Im installing broadcom 94312hmg with adding 4315 in info.plist. And....wifi detected..

But, i have problem. I cant using WPA2 ??

What the problem ?

 

Thank you

 

After searching, this card not support WPA2 encryp

Share this post


Link to post
Share on other sites

Do you guys still get shutdown issues with UEFI Clover?

Thanks to some one else's observation we have apparently solved the issue, at least the infamous shutdown hang hasn't happened during past 20+ shutdown attempts. I've decided to try and share the solution by downloading your guys' (T420) patched DSDT and try to incorporate the fix. I was baffled when I got hold of your DSDT as it already contained the fix I was attempting to implement, with one minor hiccup... the length of SystemIO filed is set to One, whilst it should be at least 0x08, otherwise SLPE won't get preserved.

 

So I'm asking, is the shutdown still randomly broken on your machines?

Share this post


Link to post
Share on other sites

Do you guys still get shutdown issues with UEFI Clover?

Thanks to some one else's observation we have apparently solved the issue, at least the infamous shutdown hang hasn't happened during past 20+ shutdown attempts. I've decided to try and share the solution by downloading your guys' (T420) patched DSDT and try to incorporate the fix. I was baffled when I got hold of your DSDT as it already contained the fix I was attempting to implement, with one minor hiccup... the length of SystemIO filed is set to One, whilst it should be at least 0x08, otherwise SLPE won't get preserved.

 

So I'm asking, is the shutdown still randomly broken on your machines?

Hi there, yes, it is still broken...

Share this post


Link to post
Share on other sites

Actually, now I see why it's broken .. because people keep adding patches that they don't know the purpose of, particularly this one that is meant for socket LGA775 Asus desktop boards .. 

    Method (_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x05)) {}
        Else
        {

        }
    } 

 

Essentially receiving method argument that is equal 0x05 mens shutdown command was issued.. but it's is requested to do nothing  {} if shutdown was requested.
While the actual _PTS code had had the proper action for shutdown in place, you have cancelled it out by applying the shutdown patch from auto patchers.. (Clover/ MacIASL/napalm's DSDT Editor and patcher).. see, the proper action is there, but it gets suppressed but If/Else statements:
                If (LEqual (Arg0, 0x05))
                {
                    Store (Zero, SLPE)
                    Sleep (0x10)
                }
Your _PTS should be the following I reckon .. for shutdown to actually work.
    Method (_PTS, 1, NotSerialized)
    {
        Store (One, Local0)
        If (LEqual (Arg0, SPS))
        {
            Store (Zero, Local0)
        }

        If (LOr (LEqual (Arg0, Zero), LGreaterEqual (Arg0, 0x06)))
        {
            Store (Zero, Local0)
        }

        If (Local0)
        {
            Store (Arg0, SPS)
            \_SB.PCI0.LPC.EC.HKEY.MHKE (Zero)
            If (\_SB.PCI0.LPC.EC.KBLT)
            {
                UCMS (0x0D)
            }

            If (LEqual (Arg0, One))
            {
                Store (\_SB.PCI0.LPC.EC.HFNI, FNID)
                Store (Zero, \_SB.PCI0.LPC.EC.HFNI)
                Store (Zero, \_SB.PCI0.LPC.EC.HFSP)
            }

            If (LEqual (Arg0, 0x03))
            {
                VVPD (0x03)
                TRAP ()
                Store (\_SB.PCI0.LPC.EC.ADP1._PSR (), ACST)
            }

            If (LEqual (Arg0, 0x04))
            {
                \_SB.SLPB._PSW (Zero)
                TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                AWON (0x04)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (Zero, SLPE)
                Sleep (0x10)
            }

            \_SB.PCI0.LPC.EC.BPTS (Arg0)
            If (LGreaterEqual (Arg0, 0x04))
            {
                Store (Zero, \_SB.PCI0.LPC.EC.HWLB)
            }
            Else
            {
                Store (One, \_SB.PCI0.LPC.EC.HWLB)
            }

            If (LNotEqual (Arg0, 0x05))
            {
                Store (One, \_SB.PCI0.LPC.EC.HCMU)
                Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
            }

            \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
        }
    }

Please try that and report back!

Share this post


Link to post
Share on other sites

@TimeWalker75a

 

yes i still get occasional hangs on shutdown. the last 3 times (in recent memory) no problem - but it is random. i was traveling this week so i usually shutdown vs sleep - as random hang (fast blinking power) with sleep is a bigger problem that shutdown hang. i usually boot with chameleon on USB when traveling/working and i know i will want to sleep the system. my system starts in 15 seconds from cold boot since i am using a momentus XT so start up is not a huge problem.

 

hmm...

which dsdt.dsl are you looking at?  the dsdt.dsl i use is in the clover zip in post             #397            

where did you get the _PTS code that does nothing?

this is what i found in my dsdt.dsl

 

 

    Method (\_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x05)) {}
        Else
        {
            Store (0x01, Local0)
            If (LEqual (Arg0, \SPS))
            {
                Store (0x00, Local0)
            }
            If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
            {
                Store (0x00, Local0)
            }
            If (Local0)
            {
                Store (Arg0, \SPS)
                \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
                If (\_SB.PCI0.LPC.EC.KBLT)
                {
                    \UCMS (0x0D)
                }
                If (LEqual (Arg0, 0x01))
                {
                    Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
                    Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
                    Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
                }
                If (LEqual (Arg0, 0x03))
                {
                    \VVPD (0x03)
                    \TRAP ()
                    Store (\_SB.PCI0.LPC.EC.ADP1._PSR (), \ACST)
                }
                If (LEqual (Arg0, 0x04))
                {
                    \_SB.SLPB._PSW (0x00)
                    \TRAP ()
                    \_SB.PCI0.LPC.TPM.CMOR ()
                    \AWON (0x04)
                }
                If (LEqual (Arg0, 0x05))
                {
             Store (Zero, SLPE)
             Sleep (0x10)
                 }
                \_SB.PCI0.LPC.EC.BPTS (Arg0)
                If (LGreaterEqual (Arg0, 0x04))
                {
                    Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
                }
                Else
                {
                    Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
                }
                If (LNotEqual (Arg0, 0x05))
                {
                    Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
                    Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                    Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
                }
                \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
            }
        }
    }
Edited by tluck

Share this post


Link to post
Share on other sites

That's the one...

All I've shown you was the structure of the method you currently have. as it is right now, your PTS code does nothing when shutdown command is received  -- If (LEqual (Arg0, 0x05)) {} followed by the Else statement. Which means nothing  has to be done if prepare to sleep case is shutdown, and the rest has to be done if sleep was requested.. 

Share this post


Link to post
Share on other sites

@TimeWalker75a

 

Ah! i see. yes, months ago I used clover to auto patch the dsdt and then i manually added a bunch of other stuff. and never looked closely at that section. here is the original dsdt _PTS method vs broken.

orig

 

            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
            }


vs cloverpatch
 
i see the no-op on top level if-then.
and then the autopatcher must have put in
 
        If (LEqual (Arg0, 0x05)) {}
        Else
        {
 
......
               If (LEqual (Arg0, 0x05))
                {
             Store (Zero, SLPE)
             Sleep (0x10)
                 }
....
}
 
 
but then again it never got to the inner logic
which actions should work? 

 

 

 

original DSDT

    Method (\_PTS, 1, NotSerialized)
    {
        Store (0x01, Local0)
        If (LEqual (Arg0, \SPS))
        {
            Store (0x00, Local0)
        }
        If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
        {
            Store (0x00, Local0)
        }
        If (Local0)
        {
            Store (Arg0, \SPS)
            \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
            If (\_SB.PCI0.LPC.EC.KBLT)
            {
                \UCMS (0x0D)
            }
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
                Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
                Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
            }
            If (LEqual (Arg0, 0x03))
            {
                \VVPD (0x03)
                \TRAP ()
                Store (\_SB.PCI0.LPC.EC.AC._PSR (), \ACST)
            }
            If (LEqual (Arg0, 0x04))
            {
                \_SB.SLPB._PSW (0x00)
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x04)
            }
            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
            }
            \_SB.PCI0.LPC.EC.BPTS (Arg0)
            If (LGreaterEqual (Arg0, 0x04))
            {
                Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
            }
            Else
            {
                Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
            }
            If (LNotEqual (Arg0, 0x05))
            {
                Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
                Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
            }
            \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
        }
    }

Share this post


Link to post
Share on other sites

Lenovo uses SMI protocol on their thinkpads since it's all about security and stuff (hence you see a lot of TPM (Trusted Platform Module) related operations. Just to do that  in _PTS ... I believe it should solve the issue:

            
            Scope (\)
            {
                OperationRegion (SLPR, SystemIO, 0x0430, 0x01)
                Field (SLPR, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    SLPE,   1
                }
            }
 
            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
                Store (0x00, SLPE)
                Sleep (0x10)
            }

Share this post


Link to post
Share on other sites

Well huge thank you to TimeWalker75a!!! It seems we have a fix to the Shutdown hang. Maybe it will fix the random sleep hang too?!

... the old DSDT had some extra bogus logic in the PTS method which essentially resulted in some no-ops.

 

Anyway I updated the Clover bundle in post: #397  

 

At the minimum, extract and replace REPLACE your DSDT.aml with this one! There is one for both LCD sizes.

 

 

Update 26-Sep-2013

  • Revised DSDT for Shutdown hang (big thanks to TimeWalker75a)
  • Updated Clover to b2133  (Thanks to Slice and Team of course)
  • Updated FakeSMC - (Kozlek's ver)
  • Updated VoodooPS2Controller (RehabMan's ver)
  • Added Patched AICPUPM kext for Chameleon compatibility.

Share this post


Link to post
Share on other sites

Glad I was of a help. Actually could have looked at some more things, will do if I get bored one evening. I was actually pointed out to that fix by a person named endless. And to be absolutely fair, I was really dumbfounded when I recalled I have been using this fix on my old P35-DS3 based rig for well over 4 years .. 

Share this post


Link to post
Share on other sites

Hm... for me when the shutdown used to hang everything except power and keyboard illumination, well and fan (obviously) got turned off, including Wi-Fi indicator. Try leaving just the Store (0x00, SLPE) and Sleep (0x10) in the If (Arg0, 0x05) statement, perhaps something is interfering with shutdown process.

Share this post


Link to post
Share on other sites

 

Well huge thank you to TimeWalker75a!!! 

Anyway I updated the Clover bundle in post: #397 

 

At the minimum, extract and replace REPLACE your DSDT.aml with this one! There is one for both LCD sizes.

 

Update 26-Sep-2013

  • Revised DSDT for Shutdown hang (big thanks to TimeWalker75a)
  • Updated Clover to b2133  (Thanks to Slice and Team of course)
  • Updated FakeSMC - (Kozlek's ver)
  • Updated VoodooPS2Controller (RehabMan's ver)
  • Added Patched AICPUPM kext for Chameleon compatibility.

 

Thanks TimeWalker75a and tluck

 

i ve tested with success   :)

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 ludufre
      Installing macOS Catalina 10.15.2 on Lenovo ThinkPad L440

       
      There are two version of this laptop:
      - 20AS = Chipset QM87, without Express Card (mine).
      - 20AT = Chipset HM86, with Express Card.
      I strong believe is the same thing...
       

      Changelog:
       
      12/11/2019 04:24h GMT-0
      - Added 10.15.2 update instructions.
      - Replaced IntelMausiEthernet.kext with IntelMausi.kext.
       
      11/08/2019 20:30h GMT-0
      - Added instructions to swap Command with Option keys in VoodooPS2Controller.kext.
      - Added additional FileVault 2 UEFI drivers be more practical.
       
      10/30/2019 01:42h GMT-0
      - Added 10.15.1 update instructions.
      - Replaced AppleALC.kext with VoodooHDA.kext
      - No more issues after sleep or misconfiguration with jack sense.
       
      10/29/2019 18:18h GMT-0
      - Replaced the config.plist with AppleIntelCPUPM = true.
       
      10/27/2019 05:37h GMT-0
      - Replaced the DW1560 wireless card with BCM94360CS2.
       
      10/20/2019 20:47h GMT-0
      - Removed AppleBacklightFixup.kext.
      - WhateaverGreen now implements backlight since 1.2.5.
       
      10/20/2019 18:10h GMT-0
      - First version.
       
      What works and what does not
       
      - Processor: Intel Core i5-4300M ->  Work. All SpeedStep stages.
      - Video Card: Intel HD4600 ->  Work. QE/CI and Metal.
      - Chipset: Intel QM87 ->  Work.
      - Mini DisplayPort ->  Work. But no audio, yet.
      - VGA ->  Not work. Normal.
      - Audio: ALC292 ->  Work.
      - WiFi/Bluetooth: Intel AC 7260 ->  Not work. Replaced with DW1560 BCM94360CS2 (need whitelist removal).
      - Ethernet: Intel I217-LM ->  Work.
      - Card Reader: Realtek RTS5227 ->  Not work.
      - Keyboard and Touchpad ->  Work.
      - Webcam ->  Work.
      - Fingerprint Reader ->  Not work. Normal.
      - USB3.0 ->  Work.
      - Sleep ->  Work.
      - Airdrop, Handoff and Continuity ->  Work after replaced wireless.
      - Instant Hotspot ->  Not work.
       
       
      Extras
       
      - FullHD 1920x1080 display upgrade: 
      Replaced with AU Optronics B140HAN01.1 30pin eDP (B140HAN01.2 and B140HAN01.3 also compatible).
      Apparently same screen as Dell Latitude E6440, E7440, Lenovo Ideapad U430 and E129.
       
      - CPU upgrade:
      Replaced the stock Intel Core i5 4300M 2.6Ghz (3.3Ghz turbo) 6M cache with Intel Core i7 4700MQ 2.4Ghz (3.4Ghz turbo) 6MB.
      I initially had problems with overheating. The processor ran at full load above 90 degrees.
      After using a quality thermal paste I can work between 70 and 80 degrees.
      Acceptable taking into consideration that the new processor has 47TDP versus 37TDP which is recommended.
      I also had no problem consuming the battery while charging. The original 65W source seems to have figured out.
       
      - Touchpad upgrade:
      Replaced the stock with T460 touchpad.
      This is serious: you have to do it! It should be stock. Touchpad with precision and absurd quality!
      Just do it!
       
      - RAM upgrade:
      16GB (2x8GB). No mistery here. Just upgade.
       
      - Wireless upgrade:
      Previously I have the DW1560 working almost perfectly, now replaced with BCM94360CS2 that is full native supported. 
      More info below.
       
      Todo
       
      - Make DP audio work.
      - Make Card Reader work.
      - Make trackpad appear in System Preferences
      - Make Instant Hotspot work.
       
       
      What you need to install

      - Running install of macOS
      - One USB flash drive of 8GB or bigger
      - macOS Catalina install app
      - Clover EFI
      - Clover Configurator
      - Some KEXTs and SSDT patches


      How create create the install flash drive
       
      Prepare install flash drive

      Format the flash drive with GUID partition mapping and name it "Install".

      - Open Disk Utility.
      - Click in View, then "Show All Devices".
      - Select the destination flash drive, then Erase.
      - Name: Install, Format: Mac OS Extended (Journaled) and Scheme: GUID Partition Map
       
      Create install flash drive

      Open terminal and run this command:
      sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --nointeraction This will take about 30 minutes.
       


      Install bootloader

      Download the CloverEFI from official repository (used 5097) and install only with these options on "Install macOS Catalina":
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - UEFI Drivers - Recommended Drivers - AudioDxe (Just to have nice sound on boot)
      - UEFI Drivers - Recommended Drivers - FSInject (I still don't know if it's really necessary)
      - UEFI Drivers - File System drivers - ApfsDriverLoader (Support to APFS partitions)
      - UEFI Drivers - File System drivers - VBoxHfs (Support HFS/HFS+ partitions)
      - UEFI Drivers - Memory fix drivers - AptioMemoryFix (Fix the memory management of de UEFI/BIOS)
       
      FileVault 2
       
      If you plan to use FileVault 2, you need to download additional drivers, since what comes with Clover is not up to date and use VirtualSMC instead of FakeSMC.
      Follow instructions bellow:
       
      From current Clover installation, check these options to USB keyboard/mouse work on password screen:
      - UEFI Drivers - Human Interface Devices - UsbKbDxe
      - UEFI Drivers - Human Interface Devices - UsbMouseDxe
       
      After Clover install will be created a partition named EFI and mounted in Desktop. Usually the path is /Volumes/EFI/.
       
      Download the versions 2.1.0 and 2.0.9 of AppleSupportPkg from: https://github.com/acidanthera/AppleSupportPkg/releases
      We need the last version of AppleGenericInput.efi that is inside 2.1.0 and last version of AppleUiSupport.efi that is inside 2.0.9.
      OR download attached bellow.
       
      Put in /Volumes/EFI/EFI/CLOVER/drivers/UEFI/
       
      That's it! FileVault 2 will work without problems.
       
       

       
       
      Make things works
       
      After Clover install will be created a partition named EFI and mounted in Desktop. Usually the path is /Volumes/EFI/.
       
      - Replace the /Volumes/EFI/EFI/CLOVER/config.plist with mine attached below
      - Put SSDT-L440.aml attached below in /Volumes/EFI/EFI/CLOVER/ACPI/patched/
       
      Generate your Serial, MLB and SmUUID
       
      - Open the replaced config.plist with Clover Configurator (used 5.6.2.0)
      - Go to SMBIOS, click few times in "Generate New" in Serial Number and SmUUID.
       
      Copy the Clover Configurator to flash drive because you will need later.
       
      Download those Kexts and put in /EFI/CLOVER/kexts/Other/
       
      - Download the VirtualSMC from here. I used all Kexts and UEFI driver (put VirutalSmc.efi inside /Volumes/EFI/EFI/drivers/UEFI/) from version 1.0.8 (If you followed the steps to enable FileVault 2 above, skip to the next item).
      - Download the Lilu.kext from here. I used the version 1.3.8.
      - Download the VoodooPS2Controller.kext from here. I used version 2.0.4.
      - Download the IntelMausi.kext from here. I used the version 1.0.2.
      - Download the VoodooHDA.kext from here. I used the version 2.9.2. (Need to turn up the volume on Info.plist, more instructions below)
      - Download the WhateverGreen.kext from here. I used the version 1.3.3.
      - Download the USBInjectAll.kext from here. I used the version 2018-1108.
       
      Important! If you are coming from my previous Mojave guide, please note that I am using some kexts from other repositories / authors.
       
       
      Audio volume adjustment
       
      - Open the Info.plist inside VoodooHDA.kext/Contents/ with TextEdit.app or any text editor of your choice.
      - Change:
      <key>PCM</key> <integer>90</integer> to:
      <key>PCM</key> <integer>140</integer> Or, download the versions 2.9.2 attached bellow.
       
       
      Keyboard swap Command with Option (optional)
       
      - If you prefer, you can swap Command and Option keys, to map Win Key - Command and Alt - Option.
      - Change /Volumes/EFI/EFI/CLOVER/OEM/S400CA/UEFI/kexts/10.15/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist:
      <key>Swap command and option</key> <true/> to:
      <key>Swap command and option</key> <false/> Or, download the version 2.0.4 already adjusted attached bellow.
       
       
      Wifi and Bluetooth (BCM94360CS2 + M2 NGFF adapter)
       
      Recently I replaced the DW1560 with BCM94360CS2. Now I have fully wireless and bluetooth working (including Instant Hotspot) without any kexts.
       
      See: 
       
       
      Wifi and Bluetooth (DW1560 / BCM94352Z)
       
      Unfortunately, some notebook manufacturers are currently blocking the replacement of wireless cards. They want you to only use the models sold by them. And of course, none of them from Lenovo for this notebook model is compatible with MacOS.
       
      If you try to start with an unauthorized wifi card for them, you will receive a screen error:
      1802: Unauthorized network card is plugged in - Power off and remove the network card. Since this check is done directly in the BIOS, the only solution is to modify it.
      But since nothing is easy in this life, there is one small big problem:
      - The BIOS update procedure does not allow you to use modded files as it used to be.
      - You will need to physically reach your BIOS on the motherboard and make use of a USB BIOS reader/writer.
       
      So what you need to do:
      1. Disassembly your laptop;
      2. Dump your BIOS with an USB BIOS reader with SOIC8 clip (to not desolder from the motherboard);
      3. Patch it (Ask on UEFI hack forums over there to someone patch for you. Every dump is unique, so mine don't work to you.);
      4. Fix RSA signature;
      5. Reflash BIOS;
      6. Replace wireless card;
      7. Remount your laptop;
      8. Done.
       
      To fix a Modded BIOS to remove the 5 beeps on boot, you need this guide: https://www.insanelymac.com/forum/topic/337333-guide-fix-insyde-h2o-bios-signature-5-beeps-on-lenovo (traduzido: pt-BR)
       
       
      After replaced the wireless card. Download those Kexts and put in /Volumes/EFI/EFI/CLOVER/kexts/10.15/
       
      - Download the AirportBrcmFixup.kext from here. I used the version 2.0.3. (To enable Wireless)
      - Download the BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext from here. I used the version 2019-10-17. (To enable Bluetooth)
      - Download the BT4LEContinuityFixup.kext from here. I used the version 1.1.4. (To enable Handoff and Continuity)
       
      Keep in mind that the bluetooth kexts are currently in development and the official releases will be available in future in the repository: https://github.com/acidanthera/BrcmPatchRAM/releases
       
       
      Now you can start the installation without problem (I guess).
       
       
      How install
       
      UEFI Setup Configuration and Installation

      UEFI configuration
       
      My BIOS is the latest: 1.93 (J4ET93WW) 

      - Shutdown and insert the flash drive.
      - Power on with F1 pressed to enter BIOS setup.
      - Change value: Config - Intel(R) AMT - Intel(R) AMT Control to DISABLED
      - Change value: Security - Security Chip to DISABLED
      - Change value: Security - Anti-Theft - Intel(R) AT Module Activation to DISABLED
      - Change value: Security - Anti-Theft - Computrace to DISABLED
      - Change value: Security - Secure Boot to DISABLED
      - Change value: Startup - UEFI/Legacy Boot to BOTH, Legacy First and CSM Support = Yes
      - Save & Exit Setup (F10)
       
      - Now, hold the F12
      - In the list, select your flash drive.
      - Choose the flash drive (white icon).
       
      The installer will start. 
      
      Format destination disk

      Format the disk with GUID partition mapping and name it "Macintosh".

      - Select Disk Utility in the list, then press Continue.
      - Click in View, then "Show All Devices".
      - Select the destination Disk, then Erase.
      - Name: HD, Format: APFS and Scheme: GUID Partition Map

      Close Disk Utility.
      
      Select "Install macOS", then Continue.
      Follow instructions in screen.

      After install
       
      After first part install the system will reboot. Maybe you have to press F12 again and select the flash drive.
       
      Choose the internal disk (gray hdd icon) if not already selected.

      The second part of the installation will begin. This will take 16 minutes.

       

      Post installation
       
      When the second part of install finish, the system will reboot again.

      After performing the user initial setup and go to the desktop, you need to make the system disk bootable.

      Open the Clover Configurator from flash drive that you copied before.

      Mount and open the flash drive EFI partition. (Inside Clover Configurator, Mount EFI -> Select flash drive in Efi Partitions list -> Mount Partition -> Open Partition)
       
      Copy the EFI folder to desktop.
       
      Go back to Clover Configurator, unmount the EFI partition of the flash drive and mount and open the EFI partition of internal disk.
       
      Move the EFI folder from Desktop to EFI partition of the internal disk.
       
      Eject the flash drive.
       
      Move all Kexts from EFI partition of internal disk to /Library/Extensions and make kext cache, with those commands in Terminal:
      sudo mv -R /Volumes/EFI/EFI/CLOVER/kexts/10.15/* /Library/Extensions/ sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i / Restart the system.
       
       
      It's done!
       
       
      System Updates
       
      10.15.1
       
      Updated without changing or updating anything.
       

       
       
      10.15.2
       
      Before install, update the following kexts:
      - VirtualSMC.kext and all kexts and VirtualSmc.efi. I used version 1.0.9.
      - Lilu.kext. I used version 1.4.0.
      - WhateverGreen.kext. I used version 1.3.5.
      - AppleALC.kext. I used version 1.4.4.
      - VoodooPS2Controller.kext. I used version 2.1.0.
      (all download links above)
       
      Download the latest CLOVERX64.efi.zip build. I used version 5100.
      Mount EFI partition and unzip to:
      - /Volumes/EFI/EFI/CLOVER/CLOVERX64.efi
      - /Volumes/EFI/EFI/BOOT/BOOTX64.efi (rename the copy of CLOVERX64.efi to BOOTX64.efi
       
      Install update. Will reboot at least four time.
       
       

      And last but not least

      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas, @"Sniki", @Mieze, @headkaze and all others members involved directly or indirectly.
       
       
      Attachments
       
       
      SSDT-L440.aml
      config.plist
      VoodooHDA.kext.zip
      VoodooPS2Controller.kext.zip
      Filevault 2 additional drivers.zip
    • By ajmcello
      The following files exist on the github:
       
      a) Clover.app-v1.11-5100.zip
      b) Clover_v2.5k_r5100.pkg
      c) CloverISO-5100.tar.lzma
      d) CloverV2-5100.zip
      e) CLOVERX64.efi.zip
       
       
      Is (a) for installing as an app on OSX? What is it for?
       
      What is (b) for, the .pkg? Not exactly familiar with .pkg. I've seen it used in UNIX, but I believe it's also a PKG format for installing packages on OSX. So, what is the difference between this (b), and (a)? (a) is labeled v1.11-5100, while (b) is labeled v2.5k_r5100.
      (c) contains only this file, Clover-v2.5k-5100-X64.iso, which I assume is a pre-bootloader.
      (d) looks like the NON ISO version, to build an ISO?
      (e) Contains CLOVERX64.efi, which is the same CloverX64.efi for Clover.app-v1.11-5100 and CloverV2-5100.zip
       
      Thanks for any explanations. 
       

       
       
       
       
    • By Dolamarv
      Hi all, I have been using an x240 thinkpad for more than 2 months as hackintosh and it is very stable. As of now I am in Catalina 10.15.1 and it’s running great until I updated it to the new clover build r5100. My laptop won’t automatically sleep when I close the lid down now. I reverted back to 5099 and close-lid automatic sleep works. I don’t know what caused the problem but I think 5100 fixed a dsdt patching of some sort that that conflicted with my config plist? Thanks in advance!
×