Jump to content

Lenovo ThinkPad T420 with UEFI Only

* * * * * 35 votes UEFI ThinkPad T420 Lenovo Clover

Best Answer tluck, 08 October 2013 - 02:47 PM

27-Jun-2016 Update

  • Updated to Clover r3578 (should be Sierra ready?)

  • Updated FakeSMC kexts (and included installer for HWMonitor.app)
  • Updated VoodooPS2Controller kext to latest rev - with a few TrackPad param tweaks.
  • Cleanup PNLF device in DSDT.

Various Tweaks over Last 6 months

Spoiler

 

 

Lenovo T420 Clover Guide

 

Overview

Spoiler

 

New Installation Steps and Details

 

BIOS settings:

Spoiler

 

Part 1 - OS Installation

Spoiler

 

Part 2 - Post OS Installation and Setup on HD

Spoiler

 

Known Issues and Random Tips:

Spoiler

 

Notes on Custom Kexts

Spoiler

 

​General Notes, Fixes, and Features

Spoiler

 

Optional: Create a custom SSDT

Spoiler

Go to the full post


  • Please log in to reply
2656 replies to this topic

#161
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts

sounds good - how about combination "Clover EFI ThinkPad Edition" ?



Sounds good!

#162
360game360

360game360

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts
Good Idea for

Clover EFI ThinkPad Edition



Thanks to @Kogen,@Tluck and Tetonne my screen work good now
I've install Kext Blutooth by Tetonne with Kext Wizard But my Bluetooth doesn't work :/ I can't activate with Fn + F5 and i didn't show on the panel bluetooth :/

and my Imessage doesn't work too i have a connection impossible


My config.plist on EFI/Clover/OEM/4236JY2 :



<dict>
<key>BiosReleaseDate</key>
<string>04/22/11</string>
<key>BiosVendor</key>
<string>Apple Inc.</string>
<key>BiosVersion</key>
<string>MBP81.88Z.0047.B0E.1104221557</string>
<key>BoardSerialNumber</key>
<string>CMX77JGTPUT354126</string>
<key>Manufacturer</key>
<string>Apple Inc.</string>
<key>ProductName</key>
<string>MacBookPro8,1</string>
<key>SerialNumber</key>
<string>CMX77JGTPUT354126</string>
<key>Version</key>
<string>1.0</string>
</dict>
<key>SystemParameters</key>
<dict>

Thank you in advance I shall like I can pay you a beer so much your help is precious

#163
Kogen Mantis

Kogen Mantis

    InsanelyMac Protégé

  • Donators
  • 98 posts
  • Gender:Male
@360game360 - bluetooth works OOB you just need to activate it using Linux or Windows. I have used latest ubuntu for that.
As for iMessage make sure your ethernet is en0 also try adding MLB full (17 digit) number in RtVariables to config.plist

@all - slightly updated first post.

#164
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Hi Kogen-
What do the RC scripts do if you install them with Clover?

Thanks,
AJ

#165
Kogen Mantis

Kogen Mantis

    InsanelyMac Protégé

  • Donators
  • 98 posts
  • Gender:Male

Hi Kogen-
What do the RC scripts do if you install them with Clover?

Thanks,
AJ

RC scripts are quite important, especially for us UEFI users. Essential are:
rc.local - is responsible for saving boot.log and mounting EFI partition
rc.shutdown.local deals with storing nvram settings

You can add your custom scripts with actions like: fixing permissions, patching kexts like AppleHDA, etc

#166
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Thanks Kogen.

One more question, when upgrading Clover, I normally just copy to my EFI partition the BOOT folder. Should I also replace other files or folders? Like CLOVERIA32.efi, CLOVERX64.efi, and folders like drivers64UEFI, etc?

#167
tluck

tluck

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,230 posts
  • Gender:Male
  • Location:NC, USA
@ag6952563- Clover installer will automatically install what it needs in your EFI system partition (ESP). it will mount /Volumes/ESP and copy the stuff in if you select the checkbox at the top. (Note: i uncheck themes since i use ThinkPad)

i then remove *32* from /EFI/BOOT and /EFI/CLOVER /EFI/CLOVER/tools

i use these options:
Attached File  clover.png   177.74KB   2 downloads

then if i look at /Volumes/ESP i have this:


$ cd /Volumes/ESP/EFI
$ ls -1 .

APPLE
BOOT
CLOVER
Microsoft


$ ls -1 BOOT CLOVER
BOOT:
BOOTX64.efi

CLOVER:
ACPI
CLOVERX64.efi
OEM
config.plist
doc
drivers64UEFI
kexts
misc
refit-default.conf
refit.conf
themes
tools

#168
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Thanks a lot tluck!

#169
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Hi again-
Today I went to software update, and I see there is a new update for "Thunderbolt Firmware Upgrade 1.0".
Did you guys get this update? It's firmware... Should I install it?

Thanks,
AJ

#170
tluck

tluck

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,230 posts
  • Gender:Male
  • Location:NC, USA
@AJ -

i just hid the thunderbolt FW upgrade - there isn't an SMC to actually update!

@all -

btw, if anyone moves up to the Clover ~1654+, they merged refit.conf into config.plist and the theme settings.conf became theme.plist.

Note: GUI section in config.plist for OEM\<product> - and then theme.plist for ThinkPad.

this is example for i5-2520m and 1600x900 LCD (injects EDID)
- change speeds freqs, as well the name of your default Volume.
if you have low res LCD remove/replace the EDID and change DualLink to 0.

See post #174

#171
Tetonne

Tetonne

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 378 posts
  • Gender:Male

Automatic Config.plist Generator (thanks to Slice)



You have to boot with Clover rev.1672+ with some minimum config.plist then type in terminal


./getconfig >config.plist


Then look into and think about.

GetCloverConfig.zip

#172
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Hi guys-
I still have some issues with sleep/shutdown with my new UEFI setup.
Sometimes, the laptop does not go to sleep or even shutdown. For shutdown, since I have verbose boot, I see the daemons are killed, the cpu halted, but the power button stays on and the bluetooth light is also on... and it doesn't shut down. I assume it is the same issue when going to sleep.
Also, when it does go to sleep, I have noticed the touchpad is not working after resuming... but I guess this is a different issue.

Any ideas?

Thanks,
AJ

#173
tluck

tluck

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,230 posts
  • Gender:Male
  • Location:NC, USA
@AJ - i have seen this same thing from time to time. sometimes the system will shutdown cleanly all the way to everything off. and sometimes it will shutdown OSX and then the laptop has a blackscreen with powerlight on.

@tetonne - i updated to r1690 and tried the genconfig. pretty cool. shows a lot of keys that one may not know about!


Note: Now that I trust Clover ;) I replaced the AppleRTC.kext and AppleIntelCPUPowerManagement.kext with the vanilla versions and let clover do the work! i still have other some other modified kexts in /S/L/E but that is 2 less to worry about!

here is what i am using now... I trimmed out some of the extra variables so its easier to see what is set and what is not.
OEM/4236AT9 config.plist:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>ACPI</key>
        <dict>
                <key>DropOemSSDT</key>
                <true/>
                <key>FixDsdtMask</key>
                <string>0x0000</string>
                <key>GenerateCStates</key>
                <false/>
                <key>GeneratePStates</key>
                <false/>
        </dict>
        <key>CPU</key>
        <dict>
                <key>BusSpeedkHz</key>
                <string>99700</string>
                <key>Comment</key>
                <string>i5 2520m</string>
                <key>CpuFrequencyMHz</key>
                <string>2500</string>
                <key>Turbo</key>
                <true/>
        </dict>
        <key>GUI</key>
        <dict>
                <key>DefaultBootVolume</key>
                <string>OSX+</string>
                <key>Mouse</key>
                <dict>
                        <key>DoubleClick</key>
                        <integer>500</integer>
                        <key>Enabled</key>
                        <true/>
                        <key>Speed</key>
                        <integer>8</integer>
                </dict>
                <key>ScreenResolution</key>
                <string>960x600</string>
                <key>Theme</key>
                <string>ThinkPad</string>
                <key>Timeout</key>
                <integer>8</integer>
                <key>Volumes</key>
                <dict>
                        <key>Legacy</key>
                        <false/>
                </dict>
        </dict>
        <key>Graphics</key>
        <dict>
                <key>Comment</key>
                <string>LCD 1600x900</string>
                <key>CustomEDID</key>
                <data>
                AP///////wAw5OICAAAAAAAUAQOAHxF4CkNFl1lXjighUFQAAAABAQEBAQEB
                AQEBAQEBAQEBgCVAgGCEGjAwIDUANq4QAAAZAAAAAAAAAAAAAAAAAAAAAAAA
                AAAA/gBMRyBEaXNwbGF5CiAgAAAA/gBMUDE0MFdEMi1UTEIxADg=
                </data>
                <key>DualLink</key>
                <string>1</string>
                <key>GraphicsInjector</key>
                <true/>
                <key>InjectEDID</key>
                <true/>
        </dict>
        <key>KernelAndKextPatches</key>
        <dict>
                <key>AppleRTC</key>
                <true/>
                <key>AsusAICPUPM</key>
                <true/>
                <key>Debug</key>
                <false/>
                <key>Comment</key>
                <string>Replace 4th port with VGA</string>
                <key>KextsToPatch</key>
                <array>
                        <dict>
                                <key>Find</key>
                                <data>
                                AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
                                AAAAAwQAAAAEAAAJAAAABAYAAAAEAAAJAAAA
                                </data>
                                <key>Name</key>
                                <string>AppleIntelSNBGraphicsFB</string>
                                <key>Replace</key>
                                <data>
                                AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
                                AAAAAwQAAAAEAAAJAAAABgIAABAAAAAJAAAA
                                </data>
                        </dict>
                </array>
        </dict>
        <key>PCI</key>
        <dict>
                <key>InjectClockID</key>
                <true/>
                <key>USBFixOwnership</key>
                <true/>
                <key>USBInjection</key>
                <true/>
        </dict>
        <key>SMBIOS</key>
        <dict>
                <key>Trust</key>
                <true/>
        </dict>
        <key>SystemParameters</key>
        <dict>
                <key>InjectSystemID</key>
                <true/>
                <key>boot-args</key>
                <string>slide=0</string>
                <key>prev-lang:kbd</key>
                <string>en:0</string>
        </dict>
</dict>
</plist>


#174
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Thansk tluck. Can you please post the 2 Vanilla kexts? I only have the patched ones, and I cannot find them in the 10.8.2 or 10.8.3 combo updates... I guess they have not changed.
Or, do you know where I can get them?

Update: I guess in the 10.8 install iso if they have not changed. Sorry, you can see how the mind of a amateur works... how I make important deductions with the passing of time... hehe

#175
Tetonne

Tetonne

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 378 posts
  • Gender:Male
the 2 genuine kexts :
AppleRTC & AppleIntelCPUPowerManagement

#176
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Thanks a lot Tetonne!

#177
tluck

tluck

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,230 posts
  • Gender:Male
  • Location:NC, USA
here is my update du-jour!

getting rid of custom kexts in SLE...

replaced the AppleIntelSNBGraphicsFB.kext with vanilla - this replaces the 4th port with VGA via Clover! (just like in the old pack)



        <key>KernelAndKextPatches</key>
        <dict>
                <key>AppleRTC</key>
                <true/>
                <key>AsusAICPUPM</key>
                <true/>
                <key>Debug</key>
                <false/>
                <key>KextsToPatch</key>
                <array>
                        <dict>
                                <key>Comment</key>
                                <string>Replace 4th port with VGA</string>
                                <key>Find</key>
                                <data>
                                AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
                                AAAAAwQAAAAEAAAJAAAABAYAAAAEAAAJAAAA
                                </data>
                                <key>Name</key>
                                <string>AppleIntelSNBGraphicsFB</string>
                                <key>Replace</key>
                                <data>
                                AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
                                AAAAAwQAAAAEAAAJAAAABgIAABAAAAAJAAAA
                                </data>
                        </dict>
                </array>
        </dict>


#178
ag6952563

ag6952563

    InsanelyMac Protégé

  • Members
  • PipPip
  • 86 posts
Very nice tluck!

#179
Kogen Mantis

Kogen Mantis

    InsanelyMac Protégé

  • Donators
  • 98 posts
  • Gender:Male
@tluck - yes very nice indeed!
I saw you are using patched AppleIntelSNBGraphicsFB.kext and wanted to suggest you patching it via Clover but I see we have came up in a great understanding in the Clover subject. :)
Now that we have custom kexts patching going can I suggest patching AppleHDA.kext using clover and adding custom rc shoutdown script for replacing the:
- AppleHDAHardwareConfigDriver.kext/Contents/Info.plist
- layout12.xml.zlib
- Platforms.xml.zlib
I'm very busy lately with my job and familly. That is why I'm going to stay in the shadow for some time. Keep up the good work tluck - You'r on fire! :)

#180
tluck

tluck

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,230 posts
  • Gender:Male
  • Location:NC, USA

Updated June 18-2013 - revised pack b1858 - see post #242

 

Updated June-03-2013:

  • revised DSDT (again),
  • updated Clover b1794, added darkwake=10 to bootargs in config.plist
  • updated VoodooPS2Controller v1.8.4 and FakeSMC v5.1.67 from Rehabman released may-26

@Kogen - no worries. Clover has been fun and educational! I think i will leave things as they are as far as custom kexts vs clover patched. the list of custom kexts is down to a manageable number now:

 

$ ls -1d *.kext

AppleACPIPlatform.kext (v.1.3.5 -- sleep/wake and battery)

AppleHDA.kext

AppleIntelE1000e.kext

FakeSMC.kext

IOAHCIBlockStorageInjector.kext (Note:this is for DVD injection as internal)

VoodooBattery.kext

VoodooPS2Controller.kext


I did rework my DSDT. i was frustrated with sleep/wake - so I let clover auto patch it. I then extracted it and retrofitted some of goodies manwe150 put in a while back. fanspeed control with Think button, temp monitor stuff, brightness keys (scrlck/pause buttons).

Anyway this lead me to revising the HPET section and futzing with IRQs. So long story short, i found that just specifying 1 IRQ in the HPET makes it sleep/wake better.

Update - went back to 4 IRQS - but selected 8,11,14,15 - these seem to work as good or better than using just irq 11 in dsdt.

now my eSATA will actually wake up versus disaspear. And also the USB ports seem to stay alive - USB mouse used to go away and need to be reset after 1 or 2 sleep/wake cycles. So i would say sleep is now working 99.9% now versus before it was hit or miss.

For consideration, attached is (see updated post) an updated Clover OEM folder with new DSDT (aml and dsl) - with DualLink removed so Low/High res LCD work as long you set in config.plist.

Note: occasionally I lose the trackpad after sleep - can either do ctrl-alt-delete (i installed the voodooPS2daemon) or attach usb mouse to recover.







Also tagged with one or more of these keywords: UEFI, ThinkPad, T420, Lenovo, Clover


3 user(s) are reading this topic

2 members, 1 guests, 0 anonymous users


© 2016 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy