Jump to content

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


tluck
 Share

1,289 posts in this topic

Recommended Posts

@mihu_yo - I used to use a BCM94352Z (DW 1560) and it worked for both macOS and Windows 10 - there is no wifi-whitelist on the T460. I don't remember if i had to download any drivers. but i have seen posts where others had your issue ...

  • Like 1
Link to comment
Share on other sites

@mihu_yo - I used to use a BCM94352Z (DW 1560) and it worked for both macOS and Windows 10 - there is no wifi-whitelist on the T460. I don't remember if i had to download any drivers. but i have seen posts where others had your issue ...

Thankyou! I will give up on BCM94350ZAE and I will not hesitate buying the (DW1560) BCM94352Z.

Link to comment
Share on other sites

  • 3 weeks later...

Is working perfectly with this dell card. I was greedy for 4..5 $ and I took the __50ZAE at first place...

Have you in mind to update the pack for High Sierra?I tested your pack with the last beta 6 update and the only unworking thing was the trackpad prefpane. Updating the voodoops2 was not solving the situation.

 

Thank you for your work!

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Hi,

 

I followed the installation guide and everything went well. Thanks for collecting all the kexts in one convenient package! However, I'm facing an issue with upgrading my WiFi to a working card.

 

I bought what is supposedly a DW1560 from AliExpress (https://www.aliexpress.com/item/DW1560-BCM94352Z-NGFF-M-2-WiFi-WLAN-Bluetooth-4-0-06XRYC-802-11ac-up-to-867/1000003164006.html). When I boot with the WiFi fixes installed (FakePCIID_Broadcom_WiFi.kext seems to make or break it), my 10.12.6 install freezes at a random point during the boot sequence. Sometimes it even gets to the login screen but then freezes there. If it freezes earlier in verbose mode, there is no visible indication for what happened (such as a kernel panic backtrace or something), it just stops scrolling. I'm very sure it has something to do with this card because only the combination with FakePCIID_Broadcom_WiFi.kext AND the card installed in the slot are causing it to freeze.

 

Any idea as to what could be happening or how I would go about debugging further?

 

Thanks!

Leon

Link to comment
Share on other sites

@Leon - do you have all these kexts in /Library/Extensions ? 

 

BrcmFirmwareRepo.kext (v2.2.7) - RehabMan's kext - to load firmware for Broadcom
BrcmPatchRAM2.kext  (v2.2.7) - based on RehabMan's kext, but modified to fix/change sleep/wake timings for T460.
FakePCIID.kext 
Fake_Broadcom_WiFi.kext 

Link to comment
Share on other sites

BrcmPatchRAM2.kext  (v2.2.7) - based on RehabMan's kext, but modified to fix/change sleep/wake timings for T460.

Do you need *all* of those IOSleep changes?

Are you using Android File Transfer or Google Chrome?

Link to comment
Share on other sites

Do you need *all* of those IOSleep changes?

Are you using Android File Transfer or Google Chrome?

@RehabMan

 

- well i dont recall which IOSleep change(s) made the difference. so it could be some are not needed. I don't have a T460 anymore (or a box with that BRCM chip) - but the key issue IIRC was to solve wake from sleep. if the kext tried to load the FW too early upon wake, then it would end up in a limbo state - seems like a conflict between the WiFi part of the chip and the BT part of the chip. so injecting a delay fixed and conflicts etc.

- my browser is Google Chrome and/or Safari. why do you ask?

Link to comment
Share on other sites

@RehabMan

 

- well i dont recall which IOSleep change(s) made the difference. so it could be some are not needed. I don't have a T460 anymore (or a box with that BRCM chip) - but the key issue IIRC was to solve wake from sleep. if the kext tried to load the FW too early upon wake, then it would end up in a limbo state - seems like a conflict between the WiFi part of the chip and the BT part of the chip. so injecting a delay fixed and conflicts etc.

Please use process of elimination to determine which changes are actually needed.

 

- my browser is Google Chrome and/or Safari. why do you ask?

Keep in mind that Chrome will hook the USB ports causing problems with USB (and BrcmPatchRAM) on wake from sleep.

Solution: disable WebUsb in Chrome settings.

  • Like 1
Link to comment
Share on other sites

Hello tluck.

 

I told you that I will test your new releases, I have done it from scratch with your last one.

 

Several points :

 

- I have KP from the beginning and I need to inject fake ID to go ahead. After the whole installation, I still have the KP :

 

mini_573294IMG0281.jpg

 

- One thing which is not important, more aesthetic question, why I have this screen before clover screen :

 

mini_274340IMG0279.jpg

 

- Problem with the creation of the custom AppleBackLightInjector (command sudo ./createAppleBacklightInjector.command) :

 

mini_785241IMG0265.jpg

 

Do you have any ideas?

 

Thanks!

Link to comment
Share on other sites

@Leon - do you have all these kexts in /Library/Extensions ? 

 

BrcmFirmwareRepo.kext (v2.2.7) - RehabMan's kext - to load firmware for Broadcom

BrcmPatchRAM2.kext  (v2.2.7) - based on RehabMan's kext, but modified to fix/change sleep/wake timings for T460.

FakePCIID.kext 

Fake_Broadcom_WiFi.kext 

 

I use Clover to inject all kexts from the ESP to keep modifications to the system to a minimum. I have

 

FakePCIID.kext 
Fake_Broadcom_WiFi.kext
BrcmPatchRAM2.kext - I tried both your patched one and the original one from RehabMan
BrcmFirmwareData.kext - not Repo, as it does not work when injecting via Clover (according to the README at https://github.com/RehabMan/OS-X-BrcmPatchRAM)
 
Do you think that installing to /S/L/E might make a difference? I'm a bit surprised that I can't find any other reports of system freezes due to WiFi. I'm starting to think that maybe the card I bought is dodgy... :(
 
Leon
Link to comment
Share on other sites

@Leon - well ok - most kexts will work with Clover injection. but some won't.  did you try to put the kexts I provide in /Library/Extensions? does the card work in windows?

 

@azerty076 

- i dont know why you KP - Lilu with AppleALC should patch the framebuffers and kexts. 

- that text output is from the apfs driver loading - i don't know how to suppress it! but you need if your OS filesystem is APFS

- i don't think the Backlight script will work until you have the full graphics working - so ioreg can find AppleBacklightDisplay property.

 

you can test the program by running it this way:

copy to say /Temp

 

this part is the key - finds the LCD product number - which also found (swapped) in the EDID

so in this case 41011 (dec) => a033 (hex)

 

run this:

 

ioreg -n AppleBacklightDisplay | grep Product 

tluck@Toms-MB /Temp/Create_AppleBacklightInjector_kext
$ sudo bash -x ./generateInjector.bash T460 .
+ model=T460
+ targetdir=.
+ panels=Panel_Backlight.plist
+ uid=10
+ '[' -e /tmp/org.rehabman.display.plist ']'
+ rm /tmp/org.rehabman.display.plist
+ ioreg -n AppleBacklightDisplay -arxw0
++ /usr/libexec/PlistBuddy -c 'Print :0:DisplayProductID' /tmp/org.rehabman.display.plist
+ id=41011
++ printf F%02dT%04x 10 41011
+ id=F10Ta033
+ sed s/T4601234/F10Ta033/g Panel_Backlight.plist
+ '[' '!' -d . ']'
+ '[' -d ./AppleBacklightInjector.kext ']'
+ printf 'Target Location for Injector kext: . \n'
Target Location for Injector kext: .
+ cp -R /System/Library/Extensions/AppleBacklight.kext ./AppleBacklightInjector.kext
+ plist=./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':IOKitPersonalities:AppleIntelPanelA:ApplePanels'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Merge /tmp/org.rehabman.merge.plist '\'':IOKitPersonalities:AppleIntelPanelA'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':BuildMachineOSBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTCompiler'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTPlatformBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTPlatformVersion'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTSDKBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTSDKName'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTXcode'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTXcodeBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':OSBundleLibraries'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleGetInfoString'\'' '\''0.9.0, Copyright 2013 RehabMan Inc. All rights reserved.'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleIdentifier'\'' '\''org.rehabman.driver.AppleBacklightInjector'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleName'\'' '\''AppleBacklightInjector'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleShortVersionString'\'' '\''0.9.0'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleVersion'\'' '\''0.9.0'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':IOKitPersonalities:AppleIntelPanelA:IOProbeScore'\'' 2500' ./AppleBacklightInjector.kext/Contents/Info.plist
+ rm -R ./AppleBacklightInjector.kext/Contents/_CodeSignature
+ rm -R ./AppleBacklightInjector.kext/Contents/MacOS
+ rm ./AppleBacklightInjector.kext/Contents/version.plist
+ chmod -R go-w ./AppleBacklightInjector.kext
+ chown -R 0:0 ./AppleBacklightInjector.kext
+ printf 'Created AppleBacklightInjector.kext for DisplayID: %s \n' F10Ta033
Created AppleBacklightInjector.kext for DisplayID: F10Ta033
  • Like 1
Link to comment
Share on other sites

You're right for the script...I was certainly using a fake id...

 

For the KP, I don't know why. It's strange...

 

And for the APFS message, I'm still under Sierra so I don't not use the new format. But as I said it's just an aesthetic point.

 

But still I don't understand the problem with KP...I use your folder exactly as it is.

 

 

@Leon - well ok - most kexts will work with Clover injection. but some won't.  did you try to put the kexts I provide in /Library/Extensions? does the card work in windows?

 

@azerty076 

- i dont know why you KP - Lilu with AppleALC should patch the framebuffers and kexts. 

- that text output is from the apfs driver loading - i don't know how to suppress it! but you need if your OS filesystem is APFS

- i don't think the Backlight script will work until you have the full graphics working - so ioreg can find AppleBacklightDisplay property.

 

you can test the program by running it this way:

copy to say /Temp

 

this part is the key - finds the LCD product number - which also found (swapped) in the EDID

so in this case 41011 (dec) => a033 (hex)

 

run this:

 

ioreg -n AppleBacklightDisplay | grep Product 

tluck@Toms-MB /Temp/Create_AppleBacklightInjector_kext
$ sudo bash -x ./generateInjector.bash T460 .
+ model=T460
+ targetdir=.
+ panels=Panel_Backlight.plist
+ uid=10
+ '[' -e /tmp/org.rehabman.display.plist ']'
+ rm /tmp/org.rehabman.display.plist
+ ioreg -n AppleBacklightDisplay -arxw0
++ /usr/libexec/PlistBuddy -c 'Print :0:DisplayProductID' /tmp/org.rehabman.display.plist
+ id=41011
++ printf F%02dT%04x 10 41011
+ id=F10Ta033
+ sed s/T4601234/F10Ta033/g Panel_Backlight.plist
+ '[' '!' -d . ']'
+ '[' -d ./AppleBacklightInjector.kext ']'
+ printf 'Target Location for Injector kext: . \n'
Target Location for Injector kext: .
+ cp -R /System/Library/Extensions/AppleBacklight.kext ./AppleBacklightInjector.kext
+ plist=./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':IOKitPersonalities:AppleIntelPanelA:ApplePanels'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Merge /tmp/org.rehabman.merge.plist '\'':IOKitPersonalities:AppleIntelPanelA'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':BuildMachineOSBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTCompiler'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTPlatformBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTPlatformVersion'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTSDKBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTSDKName'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTXcode'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':DTXcodeBuild'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Delete '\'':OSBundleLibraries'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleGetInfoString'\'' '\''0.9.0, Copyright 2013 RehabMan Inc. All rights reserved.'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleIdentifier'\'' '\''org.rehabman.driver.AppleBacklightInjector'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleName'\'' '\''AppleBacklightInjector'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleShortVersionString'\'' '\''0.9.0'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':CFBundleVersion'\'' '\''0.9.0'\''' ./AppleBacklightInjector.kext/Contents/Info.plist
+ /usr/libexec/PlistBuddy -c 'Set '\'':IOKitPersonalities:AppleIntelPanelA:IOProbeScore'\'' 2500' ./AppleBacklightInjector.kext/Contents/Info.plist
+ rm -R ./AppleBacklightInjector.kext/Contents/_CodeSignature
+ rm -R ./AppleBacklightInjector.kext/Contents/MacOS
+ rm ./AppleBacklightInjector.kext/Contents/version.plist
+ chmod -R go-w ./AppleBacklightInjector.kext
+ chown -R 0:0 ./AppleBacklightInjector.kext
+ printf 'Created AppleBacklightInjector.kext for DisplayID: %s \n' F10Ta033
Created AppleBacklightInjector.kext for DisplayID: F10Ta033
Link to comment
Share on other sites

sorry reposted the bundle one more time. I had compiled Lilu with 10.13 SDK so was not working on Sierra. But now it should work for Sierra and High Sierra as I recompiled Lilu with the 10.12 SDK.

 

Release v2017.09.19 on GitHub
Updated to Clover r4212
Updated Lilu and AppleALC kexts to v1.2 (for Sierra and High Sierra)
Updated USBInjectAll kext

  • Like 2
Link to comment
Share on other sites

Hi truck,

 

It works much better thank you!

 

sorry reposted the bundle one more time. I had compiled Lilu with 10.13 SDK so was not working on Sierra. But now it should work for Sierra and High Sierra as I recompiled Lilu with the 10.12 SDK.

 

Release v2017.09.19 on GitHub
Updated to Clover r4212
Updated Lilu and AppleALC kexts to v1.2 (for Sierra and High Sierra)
Updated USBInjectAll kext

Link to comment
Share on other sites

I get this error in 'DSDT Custom':

thinkgue:DSDT.T460 migue$ ./create_patched_DSDT.command
de-compiling ACPI tables

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160422-64(RM)
Copyright (c) 2000 - 2016 Intel Corporation

Input file SSDT-0.aml, Length 0x4B7 (1207) bytes
ACPI: SSDT 0x0000000000000000 0004B7 (v02 LENOVO Tpm2Tabl 00001000 INTL 20141107)
External object resolution file         DSDT.aml
Input file DSDT.aml, Length 0x127B4 (75700) bytes
ACPI: DSDT 0x0000000000000000 0127B4 (v02 LENOVO TP-R06   00001270 INTL 20141107)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
External object resolution file      SSDT-9x.aml
Input file SSDT-9x.aml, Length 0x3CF (975) bytes
ACPI: SSDT 0x0000000000000000 0003CF (v02 PmRef  Cpu0Cst  00003001 INTL 20141107)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file      SSDT-8x.aml
Input file SSDT-8x.aml, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef  ApIst    00003000 INTL 20141107)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file      SSDT-7x.aml
Input file SSDT-7x.aml, Length 0x68B (1675) bytes
ACPI: SSDT 0x0000000000000000 00068B (v02 PmRef  Cpu0Ist  00003000 INTL 20141107)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file      SSDT-6x.aml
Input file SSDT-6x.aml, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef  ApIst    00003000 INTL 20141107)
Pass 1 parse of [SSDT]
ACPI Error: [_PPC] Namespace lookup failure, AE_ALREADY_EXISTS (20160422/dswload-462)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20160422/psobject-310)
Could not parse external ACPI tables, AE_ALREADY_EXISTS

Thanks


Thank you m1gue. Can you tell what model in your picture? 

 

Sorry for delay in response...
 

Model is: M471B5173EB0-YK0

 

Yesterday I put +4GB more...

BANK 0/DIMM0:

 

  Tamaño: 4 GB

  Tipo: DDR3

  Velocidad: 1600 MHz

  Estado: Correcto

  Fabricante: Samsung

  Número de pieza: M471B5173EB0-YK0

 

BANK 0/DIMM1:

 

  Tamaño: 8 GB

  Tipo: DDR3

  Velocidad: 1600 MHz

  Estado: Correcto

  Fabricante: Samsung

  Número de pieza: M471B1G73EB0-YK0

 

Link to comment
Share on other sites

I get this error in 'DSDT Custom':


External object resolution file      SSDT-6x.aml
Input file SSDT-6x.aml, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef  ApIst    00003000 INTL 20141107)
Pass 1 parse of [SSDT]
ACPI Error: [_PPC] Namespace lookup failure, AE_ALREADY_EXISTS (20160422/dswload-462)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20160422/psobject-310)
Could not parse external ACPI tables, AE_ALREADY_EXISTS

well maybe try removing SSDT-6x.aml and rerun.

  • Like 1
Link to comment
Share on other sites

well maybe try removing SSDT-6x.aml and rerun.

 

Thanks, works :) I also had to remove SSDT-5x and 12.aml. BT now find devices!!!! :)

 
To understand it, the error obtained "AE_ALREADY_EXISTS" means that it is not necessary that SSDT??
 
 

Others problems here:

  1. When I use mini-displayport and wake from sleep display the display have refresh problems and I have reboot laptop to solve it. (test with 2 different monitors) 
  2. Also from sleep display, in some cases keyboard seems disabled and not responding... but if I press 2 or more times 'Fn' key then keyboard going on.

Thanks a lot

Link to comment
Share on other sites

 Share

×
×
  • Create New...