Jump to content

[GUIDE] Lenovo T460/T470 macOS with Clover and OpenCore


tluck
 Share

1,289 posts in this topic

Recommended Posts

On 3/9/2020 at 1:23 PM, tluck said:

hey buddy hope you are well. can you provide your kext list (and version) and i will match it in the repo.

this is what i have: Note: the FakePCIID stuff seems to be not needed anymore?

 

tluck@Toms-MBP16 /opt/Extra/OSX-build/Systems/T460/Lenovo-T460-Clover/EFI/CLOVER/kexts

$ list-kexts.bash

Misc/AppleBacklightInjector.kext (0.9.4)

Misc/AppleHDA_ALC293.kext (9278.56)

Misc/CodecCommander_ALC293.kext (2.5.0)

Misc/IntelBacklight.kext (1.0.11)

Misc/VoodooPS2Controller.kext (1.9.2)

Other/ACPIBatteryManager.kext (1.90.1-tluck)

Other/AppleALC.kext (1.4.6)

Other/BrcmBluetoothInjector.kext (2.5.0)

Other/BrcmFirmwareRepo.kext (2.5.0)

Other/BrcmPatchRAM3.kext (2.5.0)

Other/EFICheckDisabler.kext

Other/FakePCIID.kext (1.3.6)

Other/FakePCIID_Broadcom_WiFi.kext (1.3.6)

Other/FakeSMC.kext (6.26.1443)

Other/IntelMausiEthernet.kext (2.5.0)

Other/Lilu.kext (1.4.2)

Other/USBInjectAll.kext (0.7.1)

Other/VoodooPS2Controller.kext (2.1.1)

Other/WhateverGreen.kext (1.3.7)

Other/X86PlatformPluginInjector.kext (9.9.9)

 

#!/bin/bash

 

#

# Kexts in Other and Version dependent

#

klist=$(shopt -s nullglob ; ls -d *kext */*kext )

if [[ $klist != "" ]]

then

 

for kp in $klist;

do

k=${kp##*/}

echo -n "$kp "

#/usr/bin/plutil -p $kp/Contents/Info.plist|egrep "CFBundleVersion|CFBundleShortVersionString"

string=( $( /usr/bin/plutil -p $kp/Contents/Info.plist|egrep "CFBundleShortVersionString" | sed -e's? \"? (?g' -e's?\"?)?g') )

printf "%s\n" ${string[2]}

done

fi

 

exit

 

@Mat -- All my kext are in /L/E

 

As a note -- my system is 100% rock solid, so I do not do anything more than occasionally update WG/Lilo/AppleALC. Every once and a while I bump Clover. 

 

 

AirportBrcmFixup.kext (2.0.4)
AppleALC.kext (1.4.6)
BrcmBluetoothInjector.kext (2.5.0)
BrcmFirmwareData.kext (2.5.0)
BrcmPatchRAM3.kext (2.5.0)
FakeSMC.kext (6.26-357-gceb835ea.1800) I have 
IntelMausi.kext (1.0.1)
Lilu.kext (1.4.1)
USBInjectAll.kext (0.6.5)
VoodooPS2Controller.kext (1.9.2)
WhateverGreen.kext (1.3.6)
X86PlatformPluginInjector.kext (9.9.9)

 

I have these in:

FakeSMC.kext/Contents/PlugIns

 

FakeSMC_ACPISensors.kext (6.26-357-gceb835ea.1800)
FakeSMC_CPUSensors.kext (6.26-357-gceb835ea.1800)
FakeSMC_GPUSensors.kext (6.26-357-gceb835ea.1800)
FakeSMC_LPCSensors.kext (6.26-357-gceb835ea.1800)
FakeSMC_SMMSensors.kext (6.26-357-gceb835ea.1800)

  • Like 1
Link to comment
Share on other sites

On 3/6/2020 at 9:41 PM, L-A-0 said:

 Hi, I just wanted to thank you for the excellent guide and files, I was able to get everything up and running very quickly and smoothly.

 

I've almost got everything working, but my one issue is the wifi/BT card.

I purchased this card from ebay: a "BCM94352Z DW1560"

 

I installed/replaced the intel card and I don't have any airdrop functionality or wifi. Bluetooth kinda works though, as it can recognize an apple bluetooth keyboard. 

 

Here is a screen shot of my system report wifi section:

 

1095206295_ScreenShot2020-03-06at4_26_46AM.png.4e5ef2ee576bdf9a455c547b254b6ca4.png

 

 

I'm at a bit of a loss with what to do..

 

I am running the latest efi files from @tluck's github and the latest version of catalina (10.15.3).

 

Any help to get this running, or even other wifi card recommendations would be greatly appreciated. 

Thanks. 

 

I have the exact same problem. Same DW1560. It worked perfectly out of the box for a short while (it took a couple of minutes to show up after boot).

But some day after my machine went to sleep, it was gone. I cannot even see it in Hackintool now :(

And no amount of kexts have been able to bring it back.

 

 

 

Screenshot 2020-02-25 at 07.54.05.png

Link to comment
Share on other sites

4 hours ago, Xiatar said:

 

I have the exact same problem. Same DW1560. It worked perfectly out of the box for a short while (it took a couple of minutes to show up after boot).

But some day after my machine went to sleep, it was gone. I cannot even see it in Hackintool now :(

And no amount of kexts have been able to bring it back.

 

 

 

Screenshot 2020-02-25 at 07.54.05.png

 

 

hmm. can you boot windows to see it there?

do you have the Brcm kexts on the HD or ESP? make sure these are on the HD in /Library/Extensions/. 

Edited by tluck
Link to comment
Share on other sites

1 hour ago, tluck said:

 

 

hmm. can you boot windows to see it there?

do you have the Brcm kexts on the HD or ESP? make sure these are on the HD in /Library/Extensions/. 

Sorry, no Windows installation.

And I have them in /L/E

 

I've given up for now. When I plug in my phone I can use that as wifi, so all is not lost.

Thanks for the guide BTW, tluck, the only guide that worked for me :)

Link to comment
Share on other sites

Did anyone successfully update to 10.15.4? I've already updated to Clover 5107, and followed the Tonymac decree of solely using /EFI for kexts, and no longer using /L/E. This actually helped me a bit, because sometimes my AirportFixup kext causes KP during boot, and it's a lot easier to boot without certain kexts on /EFI (by using a separate bootable USB with Clover), instead of having to boot to recovery to use the terminal to remove a kext and rebuild the cache.

Link to comment
Share on other sites

I made the jump to 10.15.4 today. 

 

I bumped Clover to 5107, updated WEG, Lilu and ApplALC. 

 

Got a kernel panic after the upgrade when trying to boot. -v informed me that osx was repeatedly trying unsuccessfully to load the graphics firmware, before timing out and panicking. Did some research, and add -disablegfxfirmware to my boot args, either at the clover boot screen or in my config.plist solved this issue. I can boot and things seem OK, however having to add that to the boot args is a little disconcerting. 

 

 

Link to comment
Share on other sites

9 hours ago, nijhawank said:

This guy has configured opencore for T460s. I assume it should be simple modification to adapt it for T460. See the link https://github.com/simprecicchiani/Thinkpad-T460s-macOS-OpenCore

 

Interesting. I have noticed :

- for Clover :

He removed FakeSMC and ACPIBatteryManager and replaced them by VirtualSMC

 

- for Open Core :

He followed this guide : https://khronokernel.github.io/Opencore-Vanilla-Desktop-Guide/ with helps of https://github.com/daliansky/OC-little and https://github.com/corpnewt

 

Then an interesting post on wireless cards : https://khronokernel-7.gitbook.io/wireless-buyers-guide/

Edited by Mat
Link to comment
Share on other sites

Okay I just tried to replace my Clover EFI folder with simprecicchiani's OpenCore EFI folder, just to check it out. My BIOS does not recognize a boot partition at all. I can not find any "boot failure log" from OC as well. Is there something I am missing? Does Clover affect my macOS installation somehow, so i can't use another bootloader? Because I tried to boot from an installation usb with OpenCore from the linked github and it went to the installer without any problems. I don't wanna reinstall my whole machine just to notice, it wont boot from OC again... if anyone has an advice?

Link to comment
Share on other sites

Hi everyone, I'm the T460s guy from GitHub, if you have any question or suggestion feel free to ask me.

 

36 minutes ago, dastie said:

Okay I just tried to replace my Clover EFI folder with simprecicchiani's OpenCore EFI folder, just to check it out. My BIOS does not recognize a boot partition at all. I can not find any "boot failure log" from OC as well. Is there something I am missing? Does Clover affect my macOS installation somehow, so i can't use another bootloader? Because I tried to boot from an installation usb with OpenCore from the linked github and it went to the installer without any problems. I don't wanna reinstall my whole machine just to notice, it wont boot from OC again... if anyone has an advice?

 

Concerning the switch from Clover to OC, I made that without reinstalling, I would suggest you to follow the guidelines here https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/tree/master/clover-conversion

 

What I've done for my first boot was deleting all kexts in /L/E then clean NVRAM with OC picker before trying to boot with it.

  • Like 1
Link to comment
Share on other sites

1 minute ago, simprecicchiani said:

clean NVRAM with OC picker

hey, first of all, what a pleasure to get a first-hand reply from you :) i guess i will try your advice, I was figuring out how to clean nvram before, but since I am still a hackintosh novice, I didn't manage to do it and it sounded super complicated... strangely after switching out the EFI folders, the software tools like "hackintool" or "kext updater" all thought, that I still have clover installed, which totally confused me. Sounds like something is still clover-ish in my system. Let's hope it is the nvram! Thanks for your suggestions and the hard work you put into that project!

Link to comment
Share on other sites

43 minutes ago, dastie said:

hey, first of all, what a pleasure to get a first-hand reply from you :) i guess i will try your advice, I was figuring out how to clean nvram before, but since I am still a hackintosh novice, I didn't manage to do it and it sounded super complicated... strangely after switching out the EFI folders, the software tools like "hackintool" or "kext updater" all thought, that I still have clover installed, which totally confused me. Sounds like something is still clover-ish in my system. Let's hope it is the nvram! Thanks for your suggestions and the hard work you put into that project!

Please note that my EFI contains a custom USBMap, as stated in repository's readme.md.

These days I'm constantly keeping the repo updated cause I'm trying different stuff.

I've uploaded a separate EFI for firsts boot that is free from USB map and CPU power management, try to use this one.

I also added a brief description, it's only a first sketch but should be useful https://github.com/simprecicchiani/Thinkpad-T460s-macOS-OpenCore#what-if-i-dont-have-this-exact-model

Edited by simprecicchiani
Uploaded clean EFI (first boot)
  • Like 1
Link to comment
Share on other sites

17 hours ago, simprecicchiani said:

Please note that my EFI contains a custom USBMap, as stated in repository's readme.md.

These days I'm constantly keeping the repo updated cause I'm trying different stuff.

I've uploaded a separate EFI for firsts boot that is free from USB map and CPU power management, try to use this one.

I also added a brief description, it's only a first sketch but should be useful https://github.com/simprecicchiani/Thinkpad-T460s-macOS-OpenCore#what-if-i-dont-have-this-exact-model

 

now I am getting this. Looks like OC does not even know there is an OS installed?

 

E: I am using a nvme drive!

 

E2: I just read about maybe it has something to do with the value in Misc -> Security -> ScanPolicy? Did you touch that value in your config?

 

E3: Well that was it. I put it to „0“ and now it works. The system is super laggy but it will figure it out :)

Thanks so far!

41EF3E9E-F843-4FCB-A806-89D097F71F22.jpeg

Edited by dastie
  • Like 1
Link to comment
Share on other sites

I just used his latest EFI folder (https://github.com/simprecicchiani/Thinkpad-T460s-macOS-OpenCore) and replaced the USB related .aml files and the USBPorts.kext with my own generated from HackInTool. I also replaced his existing CPUFriendDataProvider.kext with my own one and put the stuff in a USB drive (EFI partition). The USB had just one more volume with 10.15.3 Installer.

 

Once booted with this USB, I see that OpenCore shows me all existing boot options plus the 10.15.3 Installer as expected. On a quick check the 10.15.3 Installer booted just fine with it.
 

I will try to convert my existing installation to OpenCore after some more validation. I did compare his patched DSDT (from his T460s-Clover git repository) and our own T460 DSDT and I found them to very very same. So this of a good indication that his OpenCore build should work without much changes and the Installer booting is a proof of that. 
 

As of now, this OC build looks promising. Going to sleep now, it’s late here.

 

 Many thanks to @simprecicchiani for all of his hard work on OC build and @tluck for maintaining this.

 

Edited by nijhawank
  • Like 2
Link to comment
Share on other sites

1 hour ago, dastie said:

E2: I just read about maybe it has something to do with the value in Misc -> Security -> ScanPolicy? Did you touch that value in your config?

You're right, ScanPolicy was set to an odd number, that's what was causing you not to see the drives.

I updated it on GitHub. Also, I tried to make "EFI (first boot)" more of a black canvas, work with it and let me know. Good luck!

 

2 minutes ago, nijhawank said:

I will try to convert my existing installation to OpenCore after some more validation. I did compare his patched DSDT (from his T460s-Clover git repository) and our own T460 DSDT and I found them to very very same. So this of a good indication that his OpenCore build should work without much changes and the Installer booting is a proof of that. 
 

As of now, this OC build looks promising. Going to sleep now, it’s late here.

Happy to hear that. To be honest my previous clover config had a DSDT who came from another guy on GitHub. I've never get trough clover DSDT patches because I was focused on getting OpenCore to run.

Please don't ask me anything about that clover config ahahahah

I only swapped FakeSMC with VirtualSMC, because I was having very poor battery life, and changed PS2 kexts and SSDT to get the physical button working, cause I love them.

  • Like 1
Link to comment
Share on other sites

I tried it with my own serial, boardsierial and UUID.

It boots up fine. It gave me failures to iCloud.

Didn't checked that out, perhaps it is only a re-login to services.

To test further I have to prepare second volume.

 

There is also a OC fork with a nice GUI picker and other useful stuff.

For example not to have quirks for windows (fake Mac to windows)

https://github.com/n-d-k/OpenCorePkg

https://www.insanelymac.com/forum/topic/341402-customized-opencore-with-additional-features

Edited by verleihnix
  • Like 1
Link to comment
Share on other sites

8 hours ago, verleihnix said:

There is also a OC fork with a nice GUI picker and other useful stuff.

For example not to have quirks for windows (fake Mac to windows)

https://github.com/n-d-k/OpenCorePkg

https://www.insanelymac.com/forum/topic/341402-customized-opencore-with-additional-features

 

This looks good. I see a lot of posts from people facing problems booting windows or other OS, related to ACPI patches. This fork seems to provide option to only enable the ACPI patches when booting macOS. So Windows or other OS, boot with native ACPI which is a good thing.

Link to comment
Share on other sites

30 minutes ago, kolodzieski said:

Are the DSDT amd SSDT pathes that we use for clover the same that we would use for opencore, or do they need some modifications? 

 

 

It looks like the Patch section of the config.plist is a replacement for the statically patch DSDT. Is that correct?

Link to comment
Share on other sites

So after some validation, I replaced my Cover efi to OpenCore. I had to do the following things...

 

1. Added my own CPUFriend profile generated with CPUFriendFriend

 

2. generated my own USB-Port mapping with HackInTool. The problem that I faced is that with our Clover based installation XHCI was being renamed to XHC so when I generated the USB-Port mapping from my existing running setup, the generated files were still referring to XHC. However this renaming  is not required and is not being done in @simprecicchiani OpenCore efi. So I changed all references of XHC in the generated usb-port mapping files to XHCI.

 

3. I’m using DW1830 and was using AirportBrcmFixup with Clover but now the DW1830 is working without it in OpenCore.

 

4. Bluetooth is working after adding BrcmPatchRam and related kexts.

 One thing I’m not able to understand is how to conditionally load BrcmPatchRAM2 v/s BrcmPatchRAM3 for Mojave and Catalina reap. Yes I am still keeping Mojave installation along with Catalina. 
 

Also, I replaced BrcmFirmwareRepo with BrcmFirmwareData as the former is not suitable to load from the OpenCore but only from /L/E or /S/L/E.

 

5. Converted my clover smbios to OpenCore and iCloud and iMessage etc are all working fine without even needing a logout /login.

 

6. One more thing I never understood and it never caused any trouble is that when Catalina was launched it was told to not rename EC0 to EC. And SSDT-EC-USBX has a section advising to do things such that AppleACPIEC kext should not load.

But I see that it’s loading under boot-ec with our T460 and never caused any trouble with Mojave or Catalina.
 

Basically T460 has an EC device that is by default named EC, would it make sense to disable it and create a fake EC. I don’t think it’s causing any trouble, was working well with existing clover based installation, and even OpenCore with Catalina.

Edited by nijhawank
  • Like 1
Link to comment
Share on other sites

On 4/1/2020 at 10:27 AM, simprecicchiani said:

I only swapped FakeSMC with VirtualSMC, because I was having very poor battery life, and changed PS2 kexts and SSDT to get the physical button working, cause I love them.

 

Does VirtualSMC improve battery life? I have perfectly working installation on Clover, but the battery life is much worse than in Windows. I did various tricks with power management and it improved a little bit, but it's still poor. Great job BTW!

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...