Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,282 posts in this topic

Recommended Posts

thanks Tetonne.

i'l move to OEM folder as suggested.

i'll report with icloud and imessage later on.

thank tluck.

i'll try you suggestion and back with report.

hi Tetonne,

 i am able to sign in to icloud, and syncron my address book and others.

 but still no luck with my imessage. :( able to log with my password to my imessage, but after a while, it said registration failed.

 

hit tluck,

 tried your kext but failed. tried to patch on my own, and failed miserably :))

 so i'm gonna stick with VoodooHDA version 2.8.4. it works on my internal speaker and headphone.

 it's just that i need to manually change the output to headphone in sound's preference pane when i plug its jack.

 for the battery, you're right. i need to patch my DSDT. fortunately, rehabman provide the patch and comment on patched DSDT.

 on my case, it's related to 16 bit memory that need to be converted to 8 bit in DSDT declaration. (sort of... :D)

 i got the battery patch from this link.

 hope helps anyone out there having problem same with mine. :)

 

i'll update my clover package on my previous post.

 

next will be activating my displayport or VGA on the left side. :D

Link to comment
Share on other sites

@tluck and @Tettone,

regarding usage of displayport, i've tried to use dsdt as followed:

 

Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "AAPL,ig-platform-id",
                            Buffer (0x04)
                            {
                                0x03, 0x00, 0x66, 0x01
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

i can get my LCD and external monitor connected to display port works. but my LCD got stretched, only half of screen is shown while the external monitor works perfectly.

i also get memory for graphics increase to 512MB instead of 384MB.

any idea to solve this issue?

 

interesting part for me:

- when in DSDT i set: "0x04, 0x00, 0x66, 0x01 " and in config.plist i set 0x01620003 in ig-platform-id, looks like the DSDT setting is the one used.

------------update-------------

i finally able to use my mini display port by editing the AppleIntelFramebufferCapri in AppleIntelFramebufferCapri.kext\Contents\MacOS.
for reading material, u can go to this discussion: http://iatkos.me/forum/viewtopic.php?f=77&t=23300
 

on my T430, it's known that the lid/internal LCD display works with ig-platform-id: 01660004.
so, i keep using ig-platform-id: 01660009 (able to see 3 ports, LVDS, and 2 displayport) and edit the LVDS part to have same value as LVDS part in ig-platform-id: 01660004.

the use ig-platform-id: 01660009 gives me 512Mb graphics memory. that's higher than using ig-platform-id: 01660004, which only gives me 384MB memory.

one thing to note:

the poster wrote in his post that,

 

AAPL,ig-platform-id: 01660004, Stolen RAM for FB: 32MB, Pipes: 3, Ports: 1, FBMem: 1
@0, 05 03 00 00 02 00 00 00 03 02 00 00 // LVDS

however, in my installation, the 03 (bold) is shown as 30.

so i use 30 when editing.

after editing the kext, i reinstall the kext to SLE using kext wizard, update the kext cache, then reboot.

voila.... got my internal LCD display and my DELL monitor works together.

tried the VGA, but no luck.

not a big deal, i rarely or even never use the vga so far.

 

hope it will helps someone someday. :)
 

thx.

9529960071_1266933c5a.jpg

Link to comment
Share on other sites

@gendalo

 

most of us on this thread (having a T420) have Intel HD 3000 graphics. so we dont need to inject the  platform id for gfx. for your box which has HD 4000 is a bit different. i have seen some posts regarding this aspect. 

 

as far as LCD display stretching, you may need explicity add DualLink=1 for your LCD - can be added explicitly in the dsdt and/or clover's config.plist

 

 

                            "AAPL00,DualLink",
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            },
 

 

also it seems your T430 has ALC269 based on the realtek audio chip? vs conexant - that explains why the AppleHDA.kext i posted does not work for you. Kogen - the original creator of this thread moved from a T420 to T430 - maybe he has a new thread or info on T430 specifics?

 

thanks for sharing your results - if you do get a dsdt working with AppleSmartBattery kext - please share that ... i would be interesting in retrofitting for the T420 crowd.

 

good luk

Link to comment
Share on other sites

Hey!

I was wondering whether or not do you people with a T420 get any issues with shutdown (instead of shutting down the laptop just freezes with screen off randomly) when using pure UEFI Clover (I assume with EmuVariable, AptioFix and FatBinary drivers)?  I'm asking because I have a laptop with Phoenix SecureCore Tiano (UEFI 2.0) of the same era (Sandy Bridge/HM67) and me and some other people get the shutdown freeze on our laptops, not necessarily Dells, but Lenovo and Asus as well. I would like to hear what kind of setup are you guys running in case you don't have such an issue. I hear it's only under mountain lion and doesn't happen on Lion, but I'm not really keen on reinstalling the OS just to check this and possibly be really disappointed. In any case a private DarwinDump made with a software of later version (to cover sensitive data such as serial numbers) would be really appreciated.

 

Thank you in advance.

Link to comment
Share on other sites

@TimeWalker75a

 

well i dont get a freeze issue with shutdown. sometimes if i when issuing a shutdown via Mac Shut Down, it will shutdown the OS (grey screen etc with rotating circle). but then sometimes it just stops at a black screen and does not power off the bios/uefi.   so then i have to hold down the power button for 5 seconds to get a total power down. yes using EmuVariable AptioFix and FatBinary drivers.  i am running ML 10.8.4.  i dont shutdown all that often so its not been a huge problem.

 

any ideas or progress on this would be greatly appreciated. thanks for reaching out!

  • Like 1
Link to comment
Share on other sites

That is what I was referring to as well.. so it's a common issue for Tiano which to be solved requires certain feedback. I'm struggling with this since clover revision 974, ever since UEFI boot was made possible based on the debugging dmazar did on my Dell and some other guy's Lenovo x220. At first I blamed EmuVariable to cause this, then I came to think it's a bug in the firmware.. but now people with AMI Aptio UEFI seem to have it. So I have no idea what to blame.

Link to comment
Share on other sites

@TimeWalker75a - yeah this not shutting completely down is a hard one to figure out. i tried a few things (e.gturned off extended UEFI memory) and nothing seems to change. over the last 2 days i have been shutting down at random times. shutdown is about 50% for me  - meaning i let runtime varies from 5 minutes to 14 hours and then attempt shutdown. sometimes it shuts all the way down as expected. But sometimes the OS shuts off and system it will remain "hung-zombie-on" - blackscreen with the bluetooth light on etc. 

Link to comment
Share on other sites

E330 User here :)
I keep getting stuck on 

"root device uuid is"

regardless of which boot option I choose (cache/kexts) and regardless of whether I enable or disable Duallink in the config.

Perhaps my install media is corrupted somehow, because everything went through without throwing an error message, but in the end I need to force eject the usb install medium (used it for osx and your pack), because EFI wouldn't unmount.

 

any ideas? cheers!

Link to comment
Share on other sites

@weishauptus - i take this is after you install the OS? did you install some of the core kexts? or are you injecting them? does it show the UUID of the boot disk? what clover drivers are loaded? need FSInject, OsxFatBinary OsxAptioFix, Emuvar, VboxHFS,  

Link to comment
Share on other sites

Re: shutdown issues on SC Tiano.

Hopefully @apianti will have time to look into UEFI debuggin protocol, but there's no possible way to debug the afterlife phase, so not sure how helpful this could be in terms of solving the shutdown hang. Though, it can possibly lead to debugging the startup phase in hopes to get rid of emuvariable in case the reason for cpudeadloop is found. At the moment it looks like the bug's inside the firmware which is produced by Phoenix for this (SNB) generation of laptops and hence there's no way to fixing it ourselves..

Link to comment
Share on other sites

@weishauptus - i take this is after you install the OS? did you install some of the core kexts? or are you injecting them? does it show the UUID of the boot disk? what clover drivers are loaded? need FSInject, OsxFatBinary OsxAptioFix, Emuvar, VboxHFS,  

Hi tluck, thanks for the reply.

Nope, unfortunately this is even before reaching the installer, sorry for being unclear on that one. It does show the UUID of the boot disk however. After that line it just freezes and becomes unresponsive. The E330 is a i3 machine using the intel HD4000 internal graphics, if that is of relevance. Perhaps the DSDT is getting things stuck?

Link to comment
Share on other sites

@weishautpus.

 

- hmm. if you get Loading Drivers...  dot dot dot then it is trying to load the kexts and then getting hung?. if not then it is not even getting that far.

 

i think based on your description, your installer is clover based? you may want to try to make a USB installer with Lion Disk maker? or some other method besides clover. 

Link to comment
Share on other sites

@gendalo

 

most of us on this thread (having a T420) have Intel HD 3000 graphics. so we dont need to inject the  platform id for gfx. for your box which has HD 4000 is a bit different. i have seen some posts regarding this aspect. 

 

as far as LCD display stretching, you may need explicity add DualLink=1 for your LCD - can be added explicitly in the dsdt and/or clover's config.plist

 

 

                            "AAPL00,DualLink",
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            },
 

 

also it seems your T430 has ALC269 based on the realtek audio chip? vs conexant - that explains why the AppleHDA.kext i posted does not work for you. Kogen - the original creator of this thread moved from a T420 to T430 - maybe he has a new thread or info on T430 specifics?

 

thanks for sharing your results - if you do get a dsdt working with AppleSmartBattery kext - please share that ... i would be interesting in retrofitting for the T420 crowd.

 

good luk

hi tluck,

 as per your request, i confirm that the latest version of AppleSmartBattery.kext  by rehabman is working on my T430.

 He fixed the fully charged battery to be shown as 100%, previously it was shown as 86%.

 i put my clover folder in post  #318 on this thread. http://www.insanelymac.com/forum/topic/285678-lenovo-thinkpad-t420-with-uefi-only/page-16?do=findComment&comment=1935831

 you can find my dsdt there.

 the AppleSmartBattery.kext in that folder is still in version 1.32, you can download the latest version (1.33) source from rehabman's github.

 https://github.com/RehabMan/OS-X-ACPI-Battery-Driver

 the build version download link also available on that page.

 

thanks.

Link to comment
Share on other sites

@gendalo76...

 

thanks! very cool. rehabman's stuff is great. i was hesitant as I seem to recall some early posts around using AppleSmartBatteryManager and they all seemed to require a lot of DSDT changes/edits. But I am able to run rehabman's AppleSmartBatteryManager v1.33 without any dsdt changes.

 

in /S/L/E

  1. removed VoodooBattery.kext
  2. removed stock AppleSmartBatteryManager.kext
  3. installed new AppleSmartBatteryManager.kext
  4. edited the Contents/Info.plist - changed key UseExtendedBatteryInformationMethod to false (for v3 ACPI )
  5. reboot

 

seems like i get 4% more out the battery because it started out at 96%! it is working just fine - shows 100% now.

 

So now I am using rehabman's set:

 

  • FakeSMC + sensors app (just installed CPU and ACPI plugins)
  • VoodooPS2controller 
  • SmartBatteryManager

 

$ kextstat 
Index Refs Address            Size       Wired      Name (Version) <Linked Against>
   16    2 0xffffff7f811c5000 0x14000    0x14000    org.netkas.driver.FakeSMC (755) <9 7 5 4 3 1>
   17    0 0xffffff7f811d9000 0x4000     0x4000     org.hwsensors.driver.CPUSensors (755) <16 7 5 4 3>
   30    0 0xffffff7f811e0000 0x6000     0x6000     org.hwsensors.driver.ACPISensors (755) <16 9 7 5 4 3>

   31    3 0xffffff7f80806000 0xd000     0xd000     org.rehabman.voodoo.driver.PS2Controller (1.8.6) <9 7 5 4 3 1>
   52    0 0xffffff7f80828000 0x5000     0x5000     org.rehabman.voodoo.driver.PS2Keyboard (1.8.6) <31 28 7 6 5 4 3 1>
   53    0 0xffffff7f80813000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Trackpad (1.8.6) <31 28 7 6 5 4 3 1>
   54    0 0xffffff7f80822000 0x4000     0x4000     org.rehabman.voodoo.driver.PS2Mouse (1.8.6) <31 28 5 4 3>

   33    0 0xffffff7f81564000 0x6000     0x6000     com.apple.driver.AppleSmartBatteryManager (1.33) <9 4 3>

 

  • Like 2
Link to comment
Share on other sites

Hi all,

     First of all thanks for @tluck's EFI package and everyone else on this thread ----I got a T420 4180RW2, which has i7-2620M, HD3000 with a device id 0x0126 & NVS4200m with the device id 0x1057 (I turned of Optimus and use the internal graphics chip), QM67 and 1600x900 resolution.

     I used @tluck's Clover package ( b1942 ) to install 10.8.3 onto my T420.  The system has recognized my HD3000 chip with its correct device ID and the resolution works fine, the kexts seemed loaded, but I got no qe/ci what-so-ever. I could not find the reason and would appreciate any help.

     btw, the nvs4200m's situation is similar: kext loaded and device id recognized, but no qe/ci.

     

    Option tested ----

      SMBIOS-MBP8,3 & 8,1

      graphicEnabler=yes or no

      load video bios = yes or no

      dsdt ---- my own without patch and tluck's version, placed in OEM folder.

     

   kextstat | grep Graphics:

 

 62   13 0xffffff7f80b3f000 0x37000    0x37000    com.apple.iokit.IOGraphicsFamily (2.3.7) <10 7 5 4 3>
   63    0 0xffffff7f80b76000 0x2e000    0x2e000    com.apple.driver.AppleIntelSNBGraphicsFB (8.1.0) <62 10 9 7 6 5 4 3 1>
   72    2 0xffffff7f80a66000 0x3000     0x3000     com.apple.driver.AppleGraphicsControl (3.3.0) <71 62 10 9 7 5 4 3 1>
   88    0 0xffffff7f80eac000 0x62000    0x62000    com.apple.driver.AppleIntelHD3000Graphics (8.1.0) <71 62 10 7 5 4 3 1>
Link to comment
Share on other sites

I am trying to build a Hackintosh (first laptop one) and the T420 with 1600x900 was a natural choice.

 

I have installed a Atheros Wifi replacing the existing Lenovo one, updated to the 1.45 BIOS Whitelist (Google 1.45 Whitelist and BIOS Mods will give the result).

 

Laptop works great in Windows, but I am having two issues:

1. My starting point is iAtkos Ml3u on a USB stick - I set the BIOS up to boot (boots ok on desktop with UEFI) but it simply won't boot the UEFI

2. Using ML2 (non UEFI) I get a long way thru it - except I get to the 1600x900 being stretched and only half of it visible (actually looks like 1024 of 1600). Other than that, Airport works great etc etc.

 

I have looked at the this forum plus the GUIDE on the T420 but the BIOS revsion is not something anyone seems to be mentioning.

 

If I have a wrong BIOS Version, happy to roll it back. At one stage I got it working perfectly at 1024x768 - again all under ML2.

 

Any assistance gratefully accepted.

 

Link to comment
Share on other sites

I am trying to build a Hackintosh (first laptop one) and the T420 with 1600x900 was a natural choice.

 

I have installed a Atheros Wifi replacing the existing Lenovo one, updated to the 1.45 BIOS Whitelist (Google 1.45 Whitelist and BIOS Mods will give the result).

 

Laptop works great in Windows, but I am having two issues:

1. My starting point is iAtkos Ml3u on a USB stick - I set the BIOS up to boot (boots ok on desktop with UEFI) but it simply won't boot the UEFI

2. Using ML2 (non UEFI) I get a long way thru it - except I get to the 1600x900 being stretched and only half of it visible (actually looks like 1024 of 1600). Other than that, Airport works great etc etc.

 

I have looked at the this forum plus the GUIDE on the T420 but the BIOS revsion is not something anyone seems to be mentioning.

 

If I have a wrong BIOS Version, happy to roll it back. At one stage I got it working perfectly at 1024x768 - again all under ML2.

 

Any assistance gratefully accepted.

resolution is surely linked to dual link

(should be 1 in your case (read previous post about it)

you'll find tluck great dsdt and stuff at post post 241

 

in config.plist (graphic)

dualilink must be like that (for 1600 px)

 

<key>DualLink</key>

<string>1</string>

Link to comment
Share on other sites

Ok... I think there is a gap in what I am trying to achieve.

 

I cannot use UEFI - I am looking for some guidance on getting ML3U which is a UEFI based version of 10.8. I have used DiskUtility to try and make a CLOVER boot, but this also doesn't boot on the machine I am trying to install on - I know I have the BIOS settings right - UEFI Only. CLOVER will not show any options - the cursor sits in the top left of the screen, as it also does with ML3U.

 

In the absence of NOT being able to boot via UEFI, I am booting using non-UEFI based ML2 - I am typing on it right now, and I have verified that the Driver for the 3000 is installed - its just stretched and only partially visible. This appears to be to do with the 1600x900x60Hz it is wrong on the AUO based LCD - this appears to be solvable via a DSDT.aml - I created one of these via DSDT Editor for Windows generating the file. The video driver appears to have QE/CI enabled, even though it is stretched as the main bar is transparent.

 

Sorry for being so descriptive - I'm trying to give everyone a complete picture - I am approaching things on two different fronts but UEFI seems to be a failure for me.

 

I have reverted to 1.43 whitelist as mentioned by some and still the same result.

 

Link to comment
Share on other sites

@FredFrog

 

let my try to understand your situation and perhaps provide some information.

 

Clover, essentially being a bootloader,  offers 2 methods of start up - theses method are MBR vs UEFI GPT/GUID. if you dont see the Clover GUI then you must not have not installed it properly based on your media format. 

 

The T420 can boot from bios using MBR or UEFI - it depending on the format partition of the device selected. If your start device (disk or USB stick) is MBR formatted, it will look for boot0 in the MBR. 

 

BIOS MBR -> boot0 -> boot1 -> boot ->CloverX64.efi

 

if the disk is GUID/GPT formatted it will look in the ESP partition for /EFI/boot/bootx64.efi (bootx64 is the exact same Cloverx64.efi)

 

BIOS UEFI ->CloverX64.efi

 

so either way you would end up at the same point when using Clover. if you have just a blinking cursor, then clover was not installed properly. you can test this out by installing clover on a USB and then boot it up from the USB. (hit space to halt the count-down)

 

1) format a USB stick as MBR type with HFS partition. then install clover for NON UEFI type (uncheck the first 2 items and in 3rd item  Bootloader use install boot0af - and select a theme.

 

2) format a USB stick as GUID/GPT with HFS partition. then install clover for UEFI - select Install for UEFI mobo. and select a them.

 

So you can boot (start the boot loader) using either method - if properly installed on the media.

This is not a bios version problem. i have used Clover and/or Chameleon with bios 1.43, 1.44 and now 1.45. 

 

AFAIK, itATKOS bundled OSX with some custom kexts and installation tools. ML2 seems to be a repackaging of chameleon boot loader + OSX. where as ML3 is now based on Clover bootloader + OSX. i personally have not used the itatkos stuff as i prefer to use the standard apple version directly. anyway it seems like you were able to install OSX (using the ML2 - MBR/chameleon boot loader).  

 

as Tetonne mentions, the screen size thing is about setting DualLink to 1. clover can do this in the config.plist. but since you may not be using clover, then you must set this in the DSDT. I presume your OSX disk is MBR formatted and has/uses /Extra for Extensions and DSDT.aml). i posted 2 versions of the T420 DSDT in the clover bundle in this thread. one for low-res (no dual link set) and one for high-res (duallink=1). the clover bundle also has a number of custom kexts that will replace or add to make it work. 

 

good luck with your T420 hack. it seems you got it off the ground. 

 

many T420 users now use Clover on GUID disks with UEFI - obviously that is what this thread is about. FYI... there is another T420 thread  that is about Chameleon (MBR) if you plan to stay with that method. 

 

 

 

 

Link to comment
Share on other sites

tluck,

 

thanks for the info.

 

Ok, I have used the BootDiskUtility from InsanelyMac to create the Clover Install - I have verified it works on my Desktop as a UEFI install on the USB. I even used the Clover b1942 and replaced the whole EFI directory which then shows the ThinkPad Theme - therefore I know it works (old Linux developer, so have played with GRUB / Lilo etc since Slackware 0.95, so pretty familiar with boot loaders). The desktop is a Gigabyte Z68M-D2H with i7-2600 and 16Gb RAM - this machine runs ML3U from the same USB stick I installed the ML3U on previously - therefore, I know it works, both booting and installing OSX 10.8.3.

 

The T420 BIOS settings seem to be correct - as mentioned previously, I have flashed the bios with whitelist and installed the Atheros Wireless, both 1.43 and 1.45. I have tried all three USB ports for booting and still no result. The T420 is a 4236J73 - don't think this variation is anything different from the T420's I have been seeing around.

 

I would love to boot and install this using UEFI, which is why I posted here - I have a Plextor SSD installed to make it run fast once installed - and ML2 runs quick but alias not ML3U.

 

I can capture BIOS settings etc, but the cursor in the top left even using just BootDiskUtility - taking OSX install out of the equation seems to be the key - I should see Clover... but I don't.

 

Thanks for your help

Link to comment
Share on other sites

FYI. I'm using your customized Clover on my Thinkpad w520 to boot both windows 7 and Mac OSX 10.8.4, everything is working fine for so far.

 

Thank you  very much. 

Hi pvhien,

 

Could you upload your EFI folder and the kexts here?

 

THX!

Link to comment
Share on other sites

@fredfrog

 so where are you at now with Clover UEFI and the T420?

 

bios settings. most are default. make sure turn on ACHI for sata and turn off VT-d (virtualization)

 

1) can you boot up a test GPT USB with clover using the basic install? i.e. see the Clover GUI?

 

2) do you have GPT disk with ML on it?

 

since you already have ML installed. if its not on a GPT format disk, can you copy from a MBR to GPT disk and then you should be good to go.

my advice is to get it working on regular disk and then migrate to SDD - which may require some trim support.

 

@pvhien - you could take a here             #241             for EFI and kext bundle.

Link to comment
Share on other sites

tluck et al,

 

no, that is the problem - can someone verify that BootDiskUtility on InsanelyMac can make a bootable UEFI under Windows which the T420 can then boot successfully - that is what I am trying to get working - forget ML3U as it noise at present.

 

If someone can verify that in its simplist form that BootDiskUtility can make a USB drive that will boot on the T420, then I need to see why it won't on my machine. I have done exactly the setup that tluck specified - ie Security->Virtualisation->vt-d disabled, UEFI Boot Only, ACHI for SATA.

 

As stated previously, a BootDiskUtility created USB key for my desktop boots as UEFI, just not on the T420 - with Whilelist BIOS 1.43 or 1.45. I have also tried other logical things like different brands of USB Key.

 

I have tried taking the Hard disk out - ie booting UEFI from USB created with BootDiskUtility with no hard drive (SSD or spindle) and still same result.

 

At a loss...

Link to comment
Share on other sites

fredfrog 

 

here is how to make a UEFI bootable usb:

 

1) on your mac desktop box reformat a USB with 1 partition hfs - in options - set to GPT mode.

2) use clover package installer - select the USB - check first 2 items UEFI mobo and ESP install and themes.

 

thats it. now reboot and use F12 to select the USB to boot from.

Link to comment
Share on other sites

 Share

×
×
  • Create New...