Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,550 posts in this topic

Recommended Posts

Guys, mind testing this please? 

https://www.dropbox.com/s/mgz6jvcmx8eq6v5/T420-4236AT9.zip

Please remove your AppleACPIPlatform roll back (which comes from 10.6.2, are you kidding me?) and install the one enclosed in the archive, it's a genuine one from 10.8.5. I've patched your EC RAM registers to support new ACPI interpreter and thus you no longer require the rollback for battery to work properly. This will make the test in regards to shutdown more cleaner!


I basically split your registers into 8 bit ones down from 16, 32 and 128. Then rejoined them by appropriate methods so that the integrity would remain. Only those registers that are actually used in ACPI were changed:

 

                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBR1,   8, 
                        SBR2,   8, 
                        SBF1,   8, 
                        SBF2,   8, 
                        SBAE,   16, 
                        SBRS,   16, 
                        SBA1,   8, 
                        SBA2,   8, 
                        SBV1,   8, 
                        SBV2,   8, 
                        SBAF,   16, 
                        SBBS,   16
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBB1,   8, 
                        SBB2,   8, 
                        SBMD,   16, 
                        SBCC,   16
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBD1,   8, 
                        SBD2,   8, 
                        SBDA,   8, 
                        SBDB,   8, 
                        SBOM,   16, 
                        SBSI,   16, 
                        SBDT,   16, 
                        SBS1,   8, 
                        SBS2,   8
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBC1,   8, 
                        SBC2,   8, 
                        SBC3,   8, 
                        SBC4,   8
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBM1,   32, 
                        SBM2,   32, 
                        SBM3,   32, 
                        SBM4,   32
                    }
 
 

                    Method (B1B2, 2, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x08), Arg0, Local0)
                        Return (Local0)
                    }
 
                    Method (B1B4, 4, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x08), Arg0, Local0)
                        Or (ShiftLeft (Arg2, 0x10), Local0, Local0)
                        Or (ShiftLeft (Arg3, 0x18), Local0, Local0)
                        Return (Local0)
                    }
 
                    Method (L1L4, 4, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x20), Arg0, Local0)
                        Or (ShiftLeft (Arg2, 0x40), Local0, Local0)
                        Or (ShiftLeft (Arg3, 0x60), Local0, Local0)
                        Return (Local0)
                    }

Share this post


Link to post
Share on other sites
Advertisement

@TimeWalker75a 

 

well - my latest bundle posted had us using ErmaC's patch for AppleACPIPlatform (v1.7) (10.8.4 i believe?) + Rehabmans battery stuff.

i switched over this newer version ACPI when i found that rehabmans AppleSmartBatteryManager was found to work with DSDT unchanged. 

previously yes was using a very old snow leopard 1.3.5 ACPIPlatform since VoodooBattery required it.

 

but sure, i will implement/test your package. hang on.

Share this post


Link to post
Share on other sites

Guys, mind testing this please? 

https://www.dropbox.com/s/mgz6jvcmx8eq6v5/T420-4236AT9.zip

Please remove your AppleACPIPlatform roll back (which comes from 10.6.2, are you kidding me?) and install the one enclosed in the archive, it's a genuine one from 10.8.5. I've patched your EC RAM registers to support new ACPI interpreter and thus you no longer require the rollback for battery to work properly. This will make the test in regards to shutdown more cleaner!

I basically split your registers into 8 bit ones down from 16, 32 and 128. Then rejoined them by appropriate methods so that the integrity would remain. Only those registers that are actually used in ACPI were changed:

 

                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBR1,   8, 
                        SBR2,   8, 
                        SBF1,   8, 
                        SBF2,   8, 
                        SBAE,   16, 
                        SBRS,   16, 
                        SBA1,   8, 
                        SBA2,   8, 
                        SBV1,   8, 
                        SBV2,   8, 
                        SBAF,   16, 
                        SBBS,   16
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBB1,   8, 
                        SBB2,   8, 
                        SBMD,   16, 
                        SBCC,   16
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBD1,   8, 
                        SBD2,   8, 
                        SBDA,   8, 
                        SBDB,   8, 
                        SBOM,   16, 
                        SBSI,   16, 
                        SBDT,   16, 
                        SBS1,   8, 
                        SBS2,   8
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBC1,   8, 
                        SBC2,   8, 
                        SBC3,   8, 
                        SBC4,   8
                    }
 
                    Field (ECOR, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0xA0), 
                        SBM1,   32, 
                        SBM2,   32, 
                        SBM3,   32, 
                        SBM4,   32
                    }
 
 

                    Method (B1B2, 2, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x08), Arg0, Local0)
                        Return (Local0)
                    }
 
                    Method (B1B4, 4, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x08), Arg0, Local0)
                        Or (ShiftLeft (Arg2, 0x10), Local0, Local0)
                        Or (ShiftLeft (Arg3, 0x18), Local0, Local0)
                        Return (Local0)
                    }
 
                    Method (L1L4, 4, NotSerialized)
                    {
                        Or (ShiftLeft (Arg1, 0x20), Arg0, Local0)
                        Or (ShiftLeft (Arg2, 0x40), Local0, Local0)
                        Or (ShiftLeft (Arg3, 0x60), Local0, Local0)
                        Return (Local0)
                    }

Thanks à lot

Report : Boot error smcreadkeyaction errorr

 

Fall back error to old smc :-(

Share this post


Link to post
Share on other sites

Thanks à lot

Report : Boot error smcreadkeyaction errorr

 

Fall back error to old smc :-(

Has nothing to do with what you were testing. If you want this error gone patch AppleSMC binary

4885c075 10488d3d 7d50 to 4885c0eb 6e488d3d 7d50, this will make it fall back to old mode right away without trying the new one. This error is even present on genuine Apple hardware.

Share this post


Link to post
Share on other sites

It seems _BIF is not properly parsed. The easiest way to debug would be to compile the debug version of the kext. 

Also I still see you haven't disabled the "UseExtraBatteryInformation" key .. your laptop doesn't have a register to store cycle count as far as I can see, so approximation has to happen.. 

Please install this: http://puu.sh/4BttQ.zip

And see Console for errors..

Share this post


Link to post
Share on other sites

Yeah, pretty much _BIF method fails to be evaluated.. gonna look into that.

 AppleSmartBatteryManager::getBatteryBIF called
 AppleSmartBatteryManager::getBatteryBIF: validateObject return 0x0
 AppleSmartBatteryManager::getBatteryBIF: evaluateObject error 0xe00002bc

Share this post


Link to post
Share on other sites

Ok, i've simplified the thing for testing a little bit.. so lets see if it works: http://puu.sh/4BvBq.zip

                    Method (GBIF, 3, NotSerialized)
                    {
                        Acquire (BATM, 0xFFFF)
                        If (Arg2)
                        {
                            Store (B1B2 (SBB1, SBB2), Local7)
                            ShiftRight (Local7, 0x0F, Local7)
                            XOr (Local7, One, Index (Arg1, Zero))                 // Power Units 
                            Store (B1B2 (SBD1, SBD2), Index (Arg1, One))          // Design Capacity
                            Store (B1B2 (SBF1, SBF2), Index (Arg1, 0x02))         // Last Full Charge Capacity
                            Store (B1B2 (SBDA, SBDB), Index (Arg1, 0x04))         // Design Voltage
                            Divide (B1B2 (SBF1, SBF2), 0x14, Local2, Index (Arg1, 0x05)) // Design Capacity of Warning
                            Divide (0x00030D40, B1B2 (SBDA, SBDB), Local2, Index (Arg1, 0x06)) // Design Capacity of Low
                            Store (B1B2 (SBD1, SBD2), Index (Arg1, 0x09))         // Model Number
                            Store (B1B2 (SBS1, SBS2), Local0)
                            Name (SERN, Buffer (0x06)
                            {
                                "     "
                            })
                            Store (0x04, Local2)
                            While (Local0)
                            {
                                Divide (Local0, 0x0A, Local1, Local0)
                                Add (Local1, 0x30, Index (SERN, Local2))
                                Decrement (Local2)
                            }
 
                            Store (SERN, Index (Arg1, 0x0A))                      // Serial Number
                            Store (B1B4 (SBC1, SBC2, SBC3, SBC4), Index (Arg1, 0x0B)) // Battery Type
                            Store (L1L4 (SBM1, SBM2, SBM3, SBM4), Index (Arg1, 0x0C)) // OEM Information
                        }
                        Else
                        {
                            Store (Ones, Index (Arg1, One))
                            Store (Zero, Index (Arg1, 0x05))
                            Store (Zero, Index (Arg1, 0x06))
                            Store (Ones, Index (Arg1, 0x02))
                        }
 
                        Release (BATM)
                        Return (Arg1)
                    }

Edit: 

ok I see the issue ...

 

Store (SBDN, Index (Arg1, 0x09))

I forgot to split the register and mistakenly used design capacity register there!! Gonna fix that now!

 

Edit2:

 

done.. please give this a test - > http://puu.sh/4BvRa.zip

Share this post


Link to post
Share on other sites

What a stubborn piece of code.. let's try the simplified one, with model number registers properly coded in:

http://puu.sh/4BxU3.zip


If it fails to evaluate _BIF again we are just going brutal for sakes of testing - not using any registers what so ever, just defining values based on the screenshots you had shown. It's only for the sakes of testing whether the issue is inside the algo in general or it's register fault (my fault, hehe).

http://puu.sh/4Byi2.zip

 

 

                        If (Arg2)
                        {
                            Store (0x00, Index (Arg1, 0x00))
                            Store (0xb9a0, Index (Arg1, 0x01))
                            Store (0xa474, Index (Arg1, 0x02))
                            Store (0x2a30, Index (Arg1, 0x04))
                            Store (0x839, Index (Arg1, 0x05))
                            Store (0xc8, Index (Arg1, 0x06))
                            Store ("45N1001", Index (Arg1, 0x09))
                            Store ("17832", Index (Arg1, 0x0A))
                            Store ("LION", Index (Arg1, 0x0B))
                            Store ("SANYO", Index (Arg1, 0x0C))
                        }

Share this post


Link to post
Share on other sites

If you want this error gone patch AppleSMC binary

replace 4885c075 10488d3d 7d50 to 4885c0eb 6e488d3d 7d50,

this will make it fall back to old mode right away without trying the new one.

This error is even present on genuine Apple hardware.

sorry could you please give more detail to do so

 

i thought about add this in clover config

KextsToPatch

Find

Replace

but not sure 

tlucj surely understood but i did not and i would like to learn from what i read

Share this post


Link to post
Share on other sites

tluck, 

give this a shot.. I have avoided using L1L4 and B1B4 for now, let's see if plain 8 to 16 bit registers would work.

http://puu.sh/4BCFp.zip

 

 



sorry could you please give more detail to do so

 

i thought about add this in clover config

KextsToPatch

Find

Replace

but not sure 

tlucj surely understood but i did not and i would like to learn from what i read

 

Here you go:

	<key>KernelAndKextPatches</key>
	<dict>
		<key>Debug</key>
		<false/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Fall back to old SMC mode right away</string>
				<key>Name</key>
				<string>AppleSMC</string>
				<key>Find</key>
				<data>SIXAdRBIjT19UA==</data>
				<key>Replace</key>
				<data>SIXA625IjT19UA==</data>
			</dict>
		</array>
	</dict>

Share this post


Link to post
Share on other sites

It is hard coded for sakes of testing, as I've said already. I've purposely replaced every B1B4 and L1L4 conversions with hardcoded strings to see if it ends up working. But I fail to see how this is possible that it is reporting current state as capacity of warning.. unless it reads the values from SBFC and dividing it by 0x14 ends up lower as the actual current capacity reported from _BST.. 

This Lenovo unit is a mess :S

 

Can you jump to IRC for live chit chat ? 

/join irc.nspwn.com

/query timewalker

Share this post


Link to post
Share on other sites

ok. we have another break through of sorts. on top of the shutdown hang mixup,  a further rewrite of the DSDT by TimeWalker75a has provided a way to eliminate the ACPIPlatform rollback - so we can have one less custom kext to deal with.

 

Note: Rehabman updated and renamed AppleSmartBatteryManager to ACPIBatteryManager.kext so it does not conflict with the native one. anyway ... Huge thanks to Timewalker75a on helping making the T420 practically a perfect Hack!

 

will repackage and post ASAP with new DSDT so hang on and wait if you have not upgraded to the bundle from yesterday.

 

FakeSMC + Plugins

VoodooPS2

ACPIBatteryManager

$ kextstat |grep -v apple
Index Refs Address            Size       Wired      Name (Version) <Linked Against>
   16    2 0xffffff7f8119f000 0x16000    0x16000    org.netkas.driver.FakeSMC (873) <9 7 5 4 3 1>
   17    0 0xffffff7f811b5000 0x4000     0x4000     org.hwsensors.driver.CPUSensors (873) <16 7 5 4 3>
   30    2 0xffffff7f80811000 0xe000     0xe000     org.rehabman.voodoo.driver.PS2Controller (1.8.8) <9 7 5 4 3 1>
   32    0 0xffffff7f811bc000 0x6000     0x6000     org.hwsensors.driver.ACPISensors (873) <16 9 7 5 4 3>
   35    0 0xffffff7f81d14000 0x6000     0x6000     org.rehabman.driver.AppleSmartBatteryManager (1.40) <9 4 3>
   38    0 0xffffff7f80e72000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) <37 10 5 4 3 1>
   52    0 0xffffff7f80834000 0x5000     0x5000     org.rehabman.voodoo.driver.PS2Keyboard (1.8.8) <30 28 7 6 5 4 3 1>
   53    0 0xffffff7f8081f000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Trackpad (1.8.8) <30 28 7 6 5 4 3 1>

Share this post


Link to post
Share on other sites

limited testing so far points toward goodness on dsdt shutdown fix. seems very consistent when i only have 1 disk.

 

but i have an esata and usb3 PCI express. And these extra disks seem to introduce same old random problem.

Share this post


Link to post
Share on other sites

limited testing so far points toward goodness on dsdt shutdown fix.

Good to know, hope it's fixed for good!

What is the custom ssdt that you were referring to in Clover's thread that gives you more P-States on your i5? I'm wondering because I'm not really happy about how things are on my i3.. I get 8 11 15 19 and 22 (whilst the highest one should be 23, really). Care to share what was the origin of that ssdt or just the table itself?

Share this post


Link to post
Share on other sites

just posted Clover b2165 for T420 at post #397

 

Update 29-Sep-2013

  • Revised DSDT (again!)
    • for Shutdown hang (thanks to TimeWalker75a)
    • for native AppleACPIPlatform kext - no need to rollback or patch this kext - use unmodified v1.8 from 10.8.5
  • Updated Clover to b2165
    • minor tweaks/refinements to config.plist (e.g. dont think darkwake is needed anymore)
    • has 2 OEM configs - 1 for high-res and 1 for low-res
    • Note: recommend use of ssdt.aml if it fits your cpu - seems to get a bit more out turbo mode (get 32x at times instead of 30x with just Clover Generate P/C states)
  • Updated FakeSMC
    • includes modified ACPI/Plugin Info.plist to remove DISABLED features so FAN speed shows up in HWMonitor (with stock AppleACPIPlatform.kext ) 

post-954945-0-08309900-1380505687_thumb.png

Share this post


Link to post
Share on other sites

verhleinix was the one who created the ssdt.aml table. I recall he may have used revo girls ssdtPRgen script? the ssdt.aml is in the clover bundle i posted in             #397            .

Hi tluck,

the script is based on RevoGirl's script modified for i-core mobile processors found at tony's side.

Mobile_ssdtPRGen.sh.zip

Share this post


Link to post
Share on other sites

Update - if you downloaded the zip bundle before now.... please redo it! I found a mistake in the DSDT.

 

(re-)posted Clover b2165 for T420 at post #397

 

Update 30-Sep-2013

  • Revised DSDT (again!)
    • for Shutdown hang (thanks to TimeWalker75a)
    • for native AppleACPIPlatform kext - no need to rollback or patch this kext - use unmodified v1.8 from 10.8.5
  • Updated Clover to b2165
    • minor tweaks/refinements to config.plist (e.g. dont think darkwake is needed anymore)
    • has 2 OEM configs - 1 for high-res and 1 for low-res
    • Note: recommend use of ssdt.aml if it fits your cpu - seems to get a bit more out turbo mode (get 32x at times instead of 30x with just Clover Generate P/C states)
  • Updated FakeSMC
    • includes modified ACPI/Plugin Info.plist to remove DISABLED features so FAN speed shows up in HWMonitor (with stock AppleACPIPlatform.kext ) 

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 Leinad12
      Olá a todos.
      Estou com o macOS Mojave instalado num Lenovo 305 (com um i3 5005 e uma HD 5500) porém tou com um problema.
      Sempre que o computador entra em pausa (Sleep) não consigo voltar a "acordar" (Wake).
      Alguém pode me ajudar pf?
    • By ludufre
      Installing macOS Mojave 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:
       
      03/13/2019 13:15h GMT-0
      - Updated info about touchpad replacement and CPU and 4G LTE modem.
       
      02/05/2019 18:47h GMT-0
      - Updated info about CPU replacement and 4G LTE modem.
       
      02/04/2019 15:24h GMT-0
      - Sometimes the VoodooHDA.kext doesn't work.
      - Added AppleHDADisabler.kext to fix that (attached bellow).
       
      01/24/2019 14:42h GMT-0
      - Added more adjustments to use of VoodooHDA.
      - Updated VoodooHDA links to 2.9.1 official (without installer).
      - Changed PCM volume from 90 to 180 in Info.plist (attached modified VoodooHDA.kext bellow)
      - Updated SSDT-L440.aml (Removed HDEF and HDAU, not needed).
      - Updated config.plist (Changed to user Audio layout to 1).
       
      01/22/2019 20:47h GMT-0
      - I gave up on the AppleALC.
      - Headset does not work.
      - Now with VoodooHDA is perfect and the sound even louder.
       
      01/22/2019 14:37h GMT-0
      - Add info about update 10.14.3. 
       
      01/22/2019 13:46h GMT-0
      - Add link to BIOS reassing guide.
       
      01/20/2019 11:49h 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 (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, Instant Hotspot and Continuity ->  Work after replaced wireless.
       
       
      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:
      No mistery here. Just upgade.
       
       
      Todo
       
      - Make DP audio work.
      - Make Card Reader work.
      - Upgrade CPU to i7-4712MQ (Ordered. It's on the way) Done, but received i7-4700MQ (47w TDP, with good paste I have no overheating)
      - Replace touchpad with T460 model (Ordered. It's on the way) Done. Sensitivity and perception of quality much better. I recommend 100%!
      - Sierra Gobi5000 4G LTE modem EM7355 (Ordered. It's on the way. I hope works. ) Done, but not work. Recognize but not connect. I already gave up...
      - Upgrade to 16GB RAM Done
       
       
      What you need to install

      - Running install of macOS
      - One USB flash drive of 8GB or bigger
      - macOS Mojave 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\ .app/Contents/Resources/createinstallmedia --volume /Volumes/Install --nointeraction This will take about 30 minutes.
       


      Install bootloader

      Download the RehabMan's CloverEFI fork (used 4701) and install with this options on "Install macOS Mojave":
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - UEFI Drivers - ApfsDriverLoader-64
      - UEFI Drivers - AptioMemoryFix64


       
       
      Make things works

      Will be created a partition named EFI and mounted in Desktop.
      - Replace the /Volumes/EFI/CLOVER/config.plist with mine attached below
                    If you have modded BIOS with Advanced Menu and enabled 128MB DRAM-prealloc use 128MB_DRAM-prealloc_config.plist.zip
                    If no, then use 32MB_DRAM-prealloc_config.plist.zip
      - Put SSDT-L440.aml attached below in /Volumes/EFI/CLOVER/ACPI/patched/
       
      Generate your Serial, MLB and SmUUID
       
      - Open the replaced config.plist with Clover Configurator (used 5.3.2.0)
      - Go to SMBIOS, click few times in "Generate New" in Serial Number and SmUUID.
       
      Download those Kexts and put in /EFI/CLOVER/kexts/Other/
       
      - Download the FakeSMC.kext from here. I used the version 2018-0915.
      - Download the VoodooPS2Controller.kext from here. I used version 2018-1008.
      - Download the IntelMausiEthernet.kext from here. I used the version 2018-1031.
      - Download the Lilu.kext from here. I used the version 1.3.1.
      - Download the AppleALC.kext from here. I used the version 1.3.4.
      - Download the VoodooHDA from here. I used the version 2.9.1.
      - Download the WhateverGreen.kext from here. I used the version 1.2.6.
      - Download the AppleBacklightFixup.kext from here. I used the version 2018-1013.
      - Download the USBInjectAll.kext from here. I used the version 2018-1108.
      - Download the ACPIBatteryManager.kext from here. I used the version 2018-1005.
       
       
      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 (In addition to removing the whitelist, add the advanced menu);
      4. Fix RSA signature;
      5. Reflash BIOS;
      6. Replace wireless card;
      7. Remount your laptop;
      8. Done.
       
      Soon, I'll provide step by step in this process. Probably until end of this week.
      In the meantime, if you need to, send me your dump that I do steps 3 and 4 for you.
      I also add the Advanced Menu so you can increase to 128MB the DRAM-prealloc.
       
      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 /EFI/CLOVER/kexts/Other/
       
      - Download the AirportBrcmFixup.kext from here. I used the version 1.1.9.
      - Download the BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext from here. I used the version 2018-0505.
      - Download the BT4LEContinuityFixup.kext from here. I used the version 1.1.2.
       
       
      Now you can start the instalation 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.
       
      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.
      
      The second part of the installation will begin. This will take 16 minutes.
       

      Post installation

      Install bootloader
       
      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 install Clover on internal disk.

      Open the Clover installer inside flash drive that you copied before.

      Use same options above but choose the system partition this time.

      Now you need to replace the config.plist inside your destination disk EFI parittion with config.plist inside flash card EFI partition.

      The flash drive EFI partition is unmounted. Mount with terminal "sudo diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
       
      Last step
       
      Copy all Kexts from flash drive to /Library/Extensions, with those commands in Terminal:
      sudo cp -R /Volumes/EFI/EFI/CLOVER/kexts/Other/* /Library/Extensions/ sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i / Restart the system.
       
       
      It's done!
       
       
      Updates
       
      System update 10.14.3
       
      - Updated with success;
      - Everything works perfectly after reboot;
       

       
       

       
      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, @Shiki and all others members involved directly or indirectly.
       
       
       
       
       
       
      32MB_DRAM-prealloc_config.plist.zip
      128MB_DRAM-prealloc_config.plist.zip
      SSDT-L440.aml
      VoodooHDA.kext.zip
      AppleHDADisabler.kext.zip
    • By Reel
      All work except camera
      You need SwitchResX that the screen does not freeze
         


    • By RougeOne
      Budget Workstation MacOS 10.14.1 build: z370 AORUS Gaming 5 - i5-8600K - RX 580 - UHD 630
      flawless iGPU/dGPU integration, fast FCPX editing/rendering, great overall performance for ~$1200 / ~£1000
       
      Update: updated WhateverGreen and Lilu, then updated OS to 10.14.3 and everything is fine! Even iMessage, which previously I hadn't been able to make work, is now working - possibly the update flushed the NVRAM?
       
      I'm gonna come straight out and admit it - I used newb tools which are considered taboo on InsanelyMac, and so this isn't so much an installation guide as it is a green flag to anyone considering the same hardware. My first and previous Hackintosh project was just over ten years ago and this site was massively helpful, so this is my (very small) way of giving back.
       
      EFI DIRECTORY
      http://s000.tinyupload.com/index.php?file_id=97606131925137056003
       
      HARDWARE
      CPU: Intel i5-8600K 3.6GHz hexacore (contains UHD 630 iGPU)
      CPU Cooler: be quiet! Pure Rock Slim (no paste needed, and fan facing front)
      Mobo: GIGABYTE z370 AORUS Gaming 5 (WIFI)
      RAM: 1x 8GB CORSAIR Vengeance LPX C16 2666MHz (in first slot)
      GFX Card: Sapphire RX 580 NITRO+ SE
      SATA: used ports 0, 1, 3, 5 (HDD problems when connected to port 4)
      HDD: generic
      DVD Drive: generic
      PSU: EVGA 500W Semi Modular (but you should get 650W!)
      Case: CoolerMaster CM590 III
      Fans: 2x stock case fans (one sucky on front, one blowy on back), 3x be quiet! BL046 120mm fans (two blowy on top, one sucky on front). Airflow near-perfectly balanced.
       
      ADVICE
      With the Clover configuration, you want to pay close attention to all things relating to graphics. There are some specific settings for ACPI, Boot, Devices and Graphics which should be copied exactly in order to get the iGPU and dGPU to work in perfect harmony. For instance, make sure you use ig-platform-id 59120003 rather than 59120000 if you want FCPX to be usable. With the right settings, FCPX will not only run, but run flawlessly.
       
      I was not able to figure out how to make NVRAM/PRAM behave itself, and I got errors when I tried to issue relevant commands. As a result, I could not at first get iMessage to work properly. It worked once on my first installation attempt but not from subsequent attempts. This Clover configuration therefore has no consideration whatsoever toward iMessage reliability - however, iMessage ended up working somehow, anyway - I noticed it after I'd updated to 10.14.3 but this may just have been coincidence.
       
      Onboard WiFi does not work. There is no driver for it. I'm using wired ethernet to a bridge router as it was cheaper than getting a compatible PCI card.
       
      Audio is working well after I installed the z370 audio patch, then the ALC1220 codecs, then AppleALC.
       
      With kexts for generic 3rd party SATA and generic 3rd party eSATA, my HDDs and DVD drive work perfectly well.
       
      Sleep/Wake functions run perfectly. iCloud functions run perfectly. Shutdown leaves the mobo LEDs on, annoyingly.
       
      My USB 3 ports seem to suffer from low power output, and I don't know why.
       
      Overall, this system appears to run about as well under MacOS 10.14 Mojave as it does under Windows 7. I would solidly recommend this build to anyone looking to build a computer for workstation purposes, on a budget.
×