Jump to content
K0gen

Lenovo ThinkPad T420 with UEFI Only

4,840 posts in this topic

Recommended Posts

 

On 12/19/2018 at 6:06 PM, goodguess said:

So yeah, the procedure seems to be still doable.

Looks like I did not want to delete anything I had found, though it is not needed to get the downgrade done.

Follow these simple steps:

on Win 7 or earlier :

1. Grab a USB stick and format it FAT32 with the hidden DOS system files on it.

I think I used HPUSBDisk.exe and the files from usbdos.zip while running some Windows OS.

2. Copy over all needed files.

 You will need at least PFLASH.exe, B146.FL1, B146M.FL1 and the TP directory with the winflash.exe.

3. Boot from your USB device into DOS.

4. Type in: PFLASH /sa B146.FL1 (This should downgrade your T420 to BIOS 1.46)

5. Boot into Windows again, open a DOS window and navigate to USB/TP/bios_mod.

6. Type in: winflash /sa B146M.FL1

From the winflash GUI, select "Flash BIOS only" then click on the "Flash" button.

That should be it - reboot and enjoy your modded BIOS.

You may have guessed that M stands for the modded BIOS you finally want.

Besides the whitelist removal, some AMT features are also disabled with the mod.

 

Good luck!

 

For the rare possibility that you already ditched all your Windows installer DVDs:

The Internet Archive has one here: https://archive.org/details/HPOperatingSystemDVDWindows7ProfessionalSP164-bit650434-DN32012

No serial needed, but the install is not a "genuine" W7 of course. ;)

 

HPUSBDisk.exe

usbdos.zip

OpenMe.iso

 

@tluck : I think this procédure (goodguess' one) is great and may be added to your guide for those as me who update there BIOS to newer as 1.46 (DOWNGRADE)

 

@goodguess : THANKS AGAIN for your help :thumbsup_anim:

:thanks_speechbubble: thanks to you my DELL 1510 (BCM94322HM8L) is fully working now :-) :thanks_speechbubble:

For Europeen users : do not use channels 12 and 13 in 2.4GHz, if your BCM94322HM8L card come from China.

this huge tip was brought to me by goodguess too :-)

Edited by Tetonne

Share this post


Link to post
Share on other sites
Advertisement

@goodguess

I've done clear install, so that should be fine. System freezes are suddenly gone after few reboots, so it's really weird. But now I'm getting random graphic glitches (see picture attached), it is happening only in Firefox so maybe it's just its own problem. I'll probably try to install High Sierra instead as it seems to be more stable for now.

Screenshot 2018-12-29 at 17.50.01.png

Share this post


Link to post
Share on other sites

@goodguess hmm. yeah just verified the odd behavior with JPG files. never noticed it before

 

SO switched the model to MBP9,1 vs MBP11,1

- jgp view works in Finder and Preview as well 

nightshift still works etc and will update as expected 

- mojave compatible.

 

I have not tried to see if running as MBP8,1 is more stable. I will run with mbp9,1 for awhile to see if it works better.

 

@bxe if you have 1600x900 LCD then maybe inject the "2e3" EDID. that ism,  move config.1600x900.2e3.plist to config.plist (default)

Edited by tluck

Share this post


Link to post
Share on other sites

Thank you, Goodguess.  I'm running installs while I wait for the new wireless card.  I'm not getting any bluetooth right now, are there steps to get the onboard bluetooth working?

 

Also, my trackpad is working, but I'm not getting single touch, just x and y movement.  Any ideas?  Synaptics hardware, I believe.

Edited by namisloc

Share this post


Link to post
Share on other sites
15 hours ago, namisloc said:

Thank you, Goodguess.  I'm running installs while I wait for the new wireless card.  I'm not getting any bluetooth right now, are there steps to get the onboard bluetooth working?

 

Also, my trackpad is working, but I'm not getting single touch, just x and y movement.  Any ideas?  Synaptics hardware, I believe.

what model do yo have?

 

if you read the guide, you will see the note:

Enable (turn on) Bluetooth so the green light is showing on the LCD bezel (do from Windows or Ubuntu).

  • Also make sure the side switch is set to green too!

on trackpad - use the apple system prefs to turn that feature on under trackpad - called tap to click

Share this post


Link to post
Share on other sites
22 minutes ago, tluck said:

what model do yo have?

 

if you read the guide, you will see the note:

Enable (turn on) Bluetooth so the green light is showing on the LCD bezel (do from Windows or Ubuntu).

  • Also make sure the side switch is set to green too!

on trackpad - use the apple system prefs to turn that feature on under trackpad - called tap to click

 

Weird thing,  I can't access trackpad int he system pref.

  231710235_Screenshot2018-12-3116_02_33.png.7a63fd68634c3f36407b4041d0faa98f.png

 

Bluetooth: This can't be accessed in the BIOS by chance, can it?  I guess I'll have to make a USB bootable OS

Share this post


Link to post
Share on other sites
6 hours ago, tluck said:

@namisloc 

what model laptop do you have? 

what version macOS? 

did you put all the zip contents into the ESP as is?

Sorry friend, I meant to put my build in my signature before making my last post.

 

Bluetooth is working, however I'm unable to access any trackpad preferences.

 

My BIOS was 1.49, and I downloaded what I thought was a 1.52 whitelisted mod, however it rolled my BIOS back to 1.41.  Now, it's a modded 1.41, I have access to the advanced menu and whitelist removed.  Sierra installed smoothly so I decided to just leave it be.   I wanted the modded BIOS because I have 2x8gb DDR3 and an AR9280 on the way.

The EFI folders were copied to ESP.

Edited by namisloc

Share this post


Link to post
Share on other sites

Good you got your hack working so far, namisloc!

Did you repair/refresh kext cashes fequently?

If no, use Kext Utility to maintain system files after any changes you made to your hack.

I´ll attach Kext Utility, just in case.

 

Sierra is probably the best OS for a T420.

If you have a spare SSD, you may always clone what you got and upgrade the clone to HS or Mojave, if you feel the need.

 

A Atheros WLAN mPCIe should work as Airport.

I´m using these, as they are supported OOB:

https://www.ebay.com/itm/DELL-DW1510-Wireless-N-Wlan-Half-Mini-WIFI-Card-BCM94322HM8L-Dual-brand-0PW934/271557237987?epid=28023372237&hash=item3f3a129ce3:g:6oEAAOSwXeJXeTIW:rk:2:pf:0

 

Why your trackpad does not show up, remains a riddle to me. I have got a 4336-5U2 with everything working.

 

262369999_Screenshot2019-01-02at12_15_20.thumb.png.bfcc9409c7db14a90f11faf541fed362.png

 

EDIT:

Went back to Sierra and the Trackpad setting there is not found either.

Lenovo Trackpoint and Touchpad, do work though. ;)

 

 

Kext Utility.app.zip

Edited by goodguess
Sierra Trackpad

Share this post


Link to post
Share on other sites

My Lenovo T420s is sierra,I have reinstall mojave on it,everything is perfect !! then someday I open apple maps ,it seem to be black screen.but I click "show all tabs".  I can see the map thumbnail.

Did anybody got the same problem ?

Share this post


Link to post
Share on other sites

Tluck & all other contributors - Thank you for your work in keeping this topic current and for the work past/present.

 

I have been attempting to upgrade from El Capitan (HDD) on my T420 to High Sierra (SSD), but am unable to get the Dell 1510 card working with the 1.46 Bios mod.  I have attempted to use the Wifi kext through the kext utility2 from RehabMan with the FakePCIID kext as well with no luck.

 

Now that I punched my old HDD in to post, wifi does not work again so using a secondary PC.

 

Everything else appears to work on HS (bluetooth, good video) just need to do the iMessage fix but don't want to do that until I get the wifi working.

 

I may just pull the trigger and jump to Mojave, but wanted to talk to you all first.  Let me know what other PC info you needed/code run in order to help troubleshooting.  Thank you in advance.

 

PC Specs:

CPU: i5 - 2.59 GHz

RAM: 16GB 1333 MHz

Graphics: Intel HD 3000

SSD: Kingston 480GB

 

Share this post


Link to post
Share on other sites

@alcheng3344

 

did you properly install the HD3000 in /S/L/E? if not you may not have fully accelerated graphics QE/CI with Mojave

 

@namisloc

- you need to see if the VoodooPS2 kexts are loading.

run:

$ kextstat|grep voodoo
   59    2 0xffffff7f82de1000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Controller (1.9.2) 39822203-AB99-38FA-85DB-A83BA02A60CA <11 7 5 4 3 1>
   87    0 0xffffff7f82e0f000 0x6000     0x6000     org.rehabman.voodoo.driver.PS2Keyboard (1.9.2) 3D5B784B-4D8C-3838-BD2F-3AB5E20742A9 <59 48 15 7 6 5 4 3 1>
   88    0 0xffffff7f82e15000 0xc000     0xc000     org.rehabman.voodoo.driver.PS2Trackpad (1.9.2) E616F856-B251-31D5-8A8F-767E322E1C24 <59 48 15 7 6 5 4 3 1>

should see 3 items

 

if good, then check ioreg:

 

$ ioreg -l -w0|sed -n "/o ApplePS2SynapticsTouchPad/,/RM,Build/p"  

 

should look like this:

    | |       +-o ApplePS2SynapticsTouchPad  <class ApplePS2SynapticsTouchPad, id 0x10000028d, registered, matched, active, busy 0 (32 ms), retain 10>

    | |         | {

    | |         |   "StickyMultiFingerScrolling" = No

    | |         |   "UnitsPerMMX" = 50

    | |         |   "DisableZoneBottom" = 4200

    | |         |   "HIDPointerConvertAbsolute" = <00>

    | |         |   "IOProviderClass" = "ApplePS2MouseDevice"

    | |         |   "HIDScrollResolution" = 52428800

    | |         |   "MomentumScrollTimer" = 10000000

 

@leaddonkey

 

did your wifi work before you upgraded from el cap to high sierra? if so, then maybe missing a kext?

 

@Dabman1988

 

moving to Mojave is almost as easy as upgrading from Sierra to HighSierra. but i dont know about nvidia ? other than to recommend to disable it.

1) update your ESP with a recent version

2) get your current system running with a mojave config.plist which essentially means you change the model from MPB8,1 to MPB9,1.

3) install Mojave

4) on the post install side you need to install the HD3000 in /S/L/E.

 

all of this is outlined in the Guide.

Share this post


Link to post
Share on other sites

I saw that the latest EFI has HD3000 in EFI\CLOVER\kexts\10.14\ , if I have already installed the HD3000 in the /S/L/E and than update EFI , will it affect?

Share this post


Link to post
Share on other sites
5 hours ago, tluck said:

@alcheng3344

 

did you properly install the HD3000 in /S/L/E? if not you may not have fully accelerated graphics QE/CI with Mojave

 

@namisloc

- you need to see if the VoodooPS2 kexts are loading.

run:


$ kextstat|grep voodoo
   59    2 0xffffff7f82de1000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Controller (1.9.2) 39822203-AB99-38FA-85DB-A83BA02A60CA <11 7 5 4 3 1>
   87    0 0xffffff7f82e0f000 0x6000     0x6000     org.rehabman.voodoo.driver.PS2Keyboard (1.9.2) 3D5B784B-4D8C-3838-BD2F-3AB5E20742A9 <59 48 15 7 6 5 4 3 1>
   88    0 0xffffff7f82e15000 0xc000     0xc000     org.rehabman.voodoo.driver.PS2Trackpad (1.9.2) E616F856-B251-31D5-8A8F-767E322E1C24 <59 48 15 7 6 5 4 3 1>

should see 3 items

 

if good, then check ioreg:

 


$ ioreg -l -w0|sed -n "/o ApplePS2SynapticsTouchPad/,/RM,Build/p"  

 

should look like this:

    | |       +-o ApplePS2SynapticsTouchPad  <class ApplePS2SynapticsTouchPad, id 0x10000028d, registered, matched, active, busy 0 (32 ms), retain 10>

    | |         | {

    | |         |   "StickyMultiFingerScrolling" = No

    | |         |   "UnitsPerMMX" = 50

    | |         |   "DisableZoneBottom" = 4200

    | |         |   "HIDPointerConvertAbsolute" = <00>

    | |         |   "IOProviderClass" = "ApplePS2MouseDevice"

    | |         |   "HIDScrollResolution" = 52428800

    | |         |   "MomentumScrollTimer" = 10000000

 

@leaddonkey

 

did your wifi work before you upgraded from el cap to high sierra? if so, then maybe missing a kext?

 

@Dabman1988

 

moving to Mojave is almost as easy as upgrading from Sierra to HighSierra. but i dont know about nvidia ? other than to recommend to disable it.

1) update your ESP with a recent version

2) get your current system running with a mojave config.plist which essentially means you change the model from MPB8,1 to MPB9,1.

3) install Mojave

4) on the post install side you need to install the HD3000 in /S/L/E.

 

all of this is outlined in the Guide.

@tluck - It did work in El Cap prior to the change.  I tried porting over the IO80211Family.kext from El Capitan to High Sierra for the Broadcom BCM94322HM8L.  I checked a few forms and did not see it on the list of kext which Apple did not bring forward and the data from https[:]//wikidevi[.]com/wiki/Broadcom_BCM94322HM8L showed BCM94322HM8L - 14e4:432b 802.11abgn 2T2R.  Still not working, so back at it in the morning. Thanks for any/all the help.

 

Also, tried bringing over my old config.plist to see if it "magically" worked for wifi.  It did not, but my Serial # came over, so one less thing to do!  (It's the little wins!!)

Edited by leaddonkey

Share this post


Link to post
Share on other sites

@leaddonkey - get these kext from the T460 repo vs T420 - 

 

these 4 kext may make it work:

FakePCIID.kext

FakePCIID_Broadcom_WiFi.kext

BrcmPatchRAM2.kext

BrcmFirmwareRepo.kext

 

@tonyyang123 - the HD3000 kexts are in the kext/10.14 folder just as part of the zip (people asked for them instead having to get them from a High Sierra install) - they don't work right fully unless you put them in /S/L/E in my experience.  

 

so having these kexts duplicated in ESP is ok - the ones in OS /S/L/E should be used

Edited by tluck

Share this post


Link to post
Share on other sites
On 1/3/2019 at 1:06 AM, tluck said:

@leaddonkey - get these kext from the T460 repo vs T420 - 

 

these 4 kext may make it work:

FakePCIID.kext

FakePCIID_Broadcom_WiFi.kext

BrcmPatchRAM2.kext

BrcmFirmwareRepo.kext

 

@tonyyang123 - the HD3000 kexts are in the kext/10.14 folder just as part of the zip (people asked for them instead having to get them from a High Sierra install) - they don't work right fully unless you put them in /S/L/E in my experience.  

 

so having these kexts duplicated in ESP is ok - the ones in OS /S/L/E should be used

 

So tried the kexts from the T460 repo and did not work.  Dug into some of my old notes from El Capitan (again thanks tluck) and ran lspci on a Ubuntu USB and noticed that I am running BCM43224 [14E4:4353] which is the DW1520.  In reviewing other forums it looks like it might not work too well in High Sierra.  Trying to force load the \System\Library\Extensions\IO80211Family.kext\Contents\Plugins\AppleAirPortBrcm43224.kext from my El Capitan HDD.

 

I have the hex and a few other screenshots if anyone has a way to Force the kext to load or alter my kexts to patch.

 

Side Note:  If you got a system running, save that exact setup and write some notes in a textpad file.  Never know when you'll have to dig deep due to a fubar HDD or just because you want to upgrade and it doesn't work on that 1st attempt.

 

If this fails two questions:

1) Any other thoughts?  If not,

2) What is a good Half mini pci card that'll work in both High Sierra and/or Mojave?  want to attempt to "future" proof a bit because I like my hackbook!

 

Thank you all.

Share this post


Link to post
Share on other sites

@leaddonkey I have the same card, DW1520 will work almost OOB, without any extra kexts in Sierra/Mojave with just a small config plist patch:

            <dict>
                <key>Comment</key>
                <string>DW1520 Whitelist Patch (MBP11,1)</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                TWFjLTJFNkZBQjk2NTY2RkU1OEM=
                </data>
                <key>Name</key>
                <string>com.apple.driver.AirPort.Brcm4360</string>
                <key>Replace</key>
                <data>
                TWFjLTE4OUEzRDRGOTc1RDVGRkM=
                </data>
            </dict>
 

If you use for example MBP9,1, as tluck suggested recently, you will need to change the replace data appropriately (base64 encoding of Mac Board-Id). For MBP9,1 use 

TWFjLTRCN0FDN0U0Mzk0NTU5N0U=

 

For El Capitan search here for DW1520, you will find the solution with MBP8,1.

 

Edited by davidian

Share this post


Link to post
Share on other sites
 

 

Not sure what you mean by optimizing it, I have this one too and it works out of the box, nothing needed (besides bios whitelist removal of course).

 

Share this post


Link to post
Share on other sites

 

 

 

Thats what I was asking myself either.

So far my two DW 1510 were working oob since ElCap IIRC.

If a config.plist edit would show the card as Apple instead of "Third-Party Wireless Card" it might be nice to have.

If channel 12 and 13 in the 2.4GHz band could be enabled that way, it would be a real improvement.

(I doubt that, flashing the card will be needed - not worth the hassle, I would suppose.)

 

MBP 8.1 / 9.1

On my side, re-enabling Preview is bettering things a lot.

However, I feel that a config.plist with MBP8.1 or MBP9.1 slows down things compared to MBP11.1.

E.g. opening "About This Mac" or inserting a text string here by copy/paste seems to lag for a second or so.

Which setting do you use or like best for Mojave?

 

 

 

Edited by goodguess

Share this post


Link to post
Share on other sites
On 1/2/2019 at 5:04 PM, tluck said:

 

@namisloc

- you need to see if the VoodooPS2 kexts are loading.

run:


$ kextstat|grep voodoo
   59    2 0xffffff7f82de1000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Controller (1.9.2) 39822203-AB99-38FA-85DB-A83BA02A60CA <11 7 5 4 3 1>
   87    0 0xffffff7f82e0f000 0x6000     0x6000     org.rehabman.voodoo.driver.PS2Keyboard (1.9.2) 3D5B784B-4D8C-3838-BD2F-3AB5E20742A9 <59 48 15 7 6 5 4 3 1>
   88    0 0xffffff7f82e15000 0xc000     0xc000     org.rehabman.voodoo.driver.PS2Trackpad (1.9.2) E616F856-B251-31D5-8A8F-767E322E1C24 <59 48 15 7 6 5 4 3 1>

should see 3 items

 

if good, then check ioreg:

 


$ ioreg -l -w0|sed -n "/o ApplePS2SynapticsTouchPad/,/RM,Build/p"  

 

should look like this:

    | |       +-o ApplePS2SynapticsTouchPad  <class ApplePS2SynapticsTouchPad, id 0x10000028d, registered, matched, active, busy 0 (32 ms), retain 10>

    | |         | {

    | |         |   "StickyMultiFingerScrolling" = No

    | |         |   "UnitsPerMMX" = 50

    | |         |   "DisableZoneBottom" = 4200

    | |         |   "HIDPointerConvertAbsolute" = <00>

    | |         |   "IOProviderClass" = "ApplePS2MouseDevice"

    | |         |   "HIDScrollResolution" = 52428800

    | |         |   "MomentumScrollTimer" = 10000000

 

 

 

Cheers, appreciate the help!

Trackpad is blank in system preferences.  Ran both scripts, here are the results.

$ kextstat|grep voodoo
   49    2 0xffffff7f82af9000 0xb000     0xb000     org.rehabman.voodoo.driver.PS2Controller (1.9.2) 39822203-AB99-38FA-85DB-A83BA02A60CA <11 7 5 4 3 1>
   69    0 0xffffff7f82b3f000 0xc000     0xc000     org.rehabman.voodoo.driver.PS2Trackpad (1.9.2) E616F856-B251-31D5-8A8F-767E322E1C24 <49 41 15 7 6 5 4 3 1>
   70    0 0xffffff7f82b4b000 0x6000     0x6000     org.rehabman.voodoo.driver.PS2Keyboard (1.9.2) 3D5B784B-4D8C-3838-BD2F-3AB5E20742A9 <49 41 15 7 6 5 4 3 1>
$ ioreg -l -w0|sed -n "/o ApplePS2SynapticsTouchPad/,/RM,Build/p"  
    | |       +-o ApplePS2SynapticsTouchPad  <class ApplePS2SynapticsTouchPad, id 0x100000259, registered, matched, active, busy 0 (114 ms), retain 11>
    | |         | {
    | |         |   "StickyMultiFingerScrolling" = No
    | |         |   "UnitsPerMMX" = 50
    | |         |   "DisableZoneBottom" = 4200
    | |         |   "HIDPointerConvertAbsolute" = <00>
    | |         |   "IOProviderClass" = "ApplePS2MouseDevice"
    | |         |   "HIDScrollResolution" = 52428800
    | |         |   "MomentumScrollTimer" = 10000000
    | |         |   "SwipeDeltaY" = 800
    | |         |   "HIDResetPointer" = Yes
    | |         |   "ScrollDeltaThreshY" = 10
    | |         |   "BogusDeltaThreshY" = 800
    | |         |   "HIDClickTime" = 500000000
    | |         |   "ZoneRight" = 5200
    | |         |   "IOClass" = "ApplePS2SynapticsTouchPad"
    | |         |   "FakeMiddleButton" = No
    | |         |   "StickyVerticalScrolling" = No
    | |         |   "UnsmoothInput" = Yes
    | |         |   "HIDInterfaceID" = 5
    | |         |   "DisableZoneRight" = 1700
    | |         |   "VendorID" = 1452
    | |         |   "MaxTapTime" = 100000000
    | |         |   "HIDPointerResolution" = 209715200
    | |         |   "MomentumScrollMultiplier" = 98
    | |         |   "UnitsPerMMY" = 50
    | |         |   "HWResetOnStart" = Yes
    | |         |   "DoubleTapThresholdX" = 150
    | |         |   "TrackpointScrollXMultiplier" = 1
    | |         |   "Revision" = 24
    | |         |   "RM,Build" = "Release-"
    | |       +-o ApplePS2SynapticsTouchPad  <class ApplePS2SynapticsTouchPad, id 0x100000259, registered, matched, active, busy 0 (114 ms), retain 11>
    | |         | {
    | |         |   "StickyMultiFingerScrolling" = No
    | |         |   "UnitsPerMMX" = 50
    | |         |   "DisableZoneBottom" = 4200
    | |         |   "HIDPointerConvertAbsolute" = <00>
    | |         |   "IOProviderClass" = "ApplePS2MouseDevice"
    | |         |   "HIDScrollResolution" = 52428800
    | |         |   "MomentumScrollTimer" = 10000000
    | |         |   "SwipeDeltaY" = 800
    | |         |   "HIDResetPointer" = Yes
    | |         |   "ScrollDeltaThreshY" = 10
    | |         |   "BogusDeltaThreshY" = 800
    | |         |   "HIDClickTime" = 500000000
    | |         |   "ZoneRight" = 5200
    | |         |   "IOClass" = "ApplePS2SynapticsTouchPad"
    | |         |   "FakeMiddleButton" = No
    | |         |   "StickyVerticalScrolling" = No
    | |         |   "UnsmoothInput" = Yes
    | |         |   "HIDInterfaceID" = 5
    | |         |   "DisableZoneRight" = 1700
    | |         |   "VendorID" = 1452
    | |         |   "MaxTapTime" = 100000000
    | |         |   "HIDPointerResolution" = 209715200
    | |         |   "MomentumScrollMultiplier" = 98
    | |         |   "UnitsPerMMY" = 50
    | |         |   "HWResetOnStart" = Yes
    | |         |   "DoubleTapThresholdX" = 150
    | |         |   "TrackpointScrollXMultiplier" = 1
    | |         |   "Revision" = 24
    | |         |   "RM,Build" = "Release-"
sed: RE error: illegal byte sequence

 

Share this post


Link to post
Share on other sites

@namisloc - odd i saw the same thing on Sierra . but installed the final Sierra Security patch and somehow the trackpad started showing up. 

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 nijhawank
      Hi friends,
       
      Recently I had been looking for ways to control the battery charging on my hackintosh which is a Thinkpad T460 with dual batteries. On Windows there's a program Lenovo Vantage that lets you set the Battery Charging Start and Stop Thresholds. These thresholds continue to apply even when the laptop is turned off as these thresholds are managed by the embedded controller, so from that perspective its a set once and forget.
       
      But there was one more thing that was frustrating me. By default Lenovo uses the external battery first and once its almost drained (less than 5%), it switches to the internal battery.
      Although the Charging Start and Stop Limits are a good way to increase the life span of Lithium batteries (by lowering the max charge limit), the complete drainage of the external battery prior to switching to internal is not a good idea.
      Fortunately Lenovo EC provide options to force drain (use) a battery (even with the ac adapter connected) thereby allowing to manually switch to the internal one, however these are manual controls. In Linux, there's a program tpacpi-bat that runs as a daemon and performs an efficient management of the dual batteries such as switching to internal battery when the external one reaches a configurable lower limit. However, this is Linux only and uses the ACPI interface.
       
      I did some research to understand my options in macOS. I found RehabMan's ACPIDebug.kext and its ability (using another RehabMan's tool ioio) to call a function defined in the DSDT. With information collected tpacpi-bat and ACPIDebug.kext, I have created a dirty version. 
       
      So this is how you use it...
      1. Use the attached SSDT-RMDT. As this was just a rough work to validate my understanding, I just did a hard coding for the first battery. 
      2. Install ACPIDebug.kext
      3. After the reboot, you can trigger the following battery operations...
      a. Set Battery Charge Start Threshold
      ioio -s org_rehabman_ACPIDebug dbg1 <start-percent>
      a. Set Battery Charge Stop Threshold
      ioio -s org_rehabman_ACPIDebug dbg2 <stop-percent>
      a. Force Discharge
      ioio -s org_rehabman_ACPIDebug dbg3 <0|1> //0 to disable, 1 to enable
      a. Inhibit battery charging for specified number of minutes
      ioio -s org_rehabman_ACPIDebug dbg4 <minutes> //0 to disable
      a. View Battery Info
      ioio -s org_rehabman_ACPIDebug dbg5 <anything> //pass anything, its ignored
      a. View Battery Charge Start/Stop Thresholds
      ioio -s org_rehabman_ACPIDebug dbg0 <anything> //pass anything, its ignored
       
      You can see the output using the Log Viewer Console (filter on ACPIDebug). You'd see something like this...
      default    19:34:35.175265 -0800    kernel    ACPIDebug: "View Thresholds"
      default    19:34:35.176349 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x28, }
      default    19:34:35.176489 -0800    kernel    ACPIDebug: { "Charge Stop  Threshold=", 0x3c, }
      default    21:07:36.023627 -0800    kernel    ACPIDebug: "Battery Info"
      default    21:07:36.032040 -0800    kernel    ACPIDebug: { "Conversion (mW[h] -> mA[h]) Required?=", 0x0, }
      default    21:07:36.032323 -0800    kernel    ACPIDebug: { "Design Voltage=", 0x2a30, }
      default    21:07:36.032519 -0800    kernel    ACPIDebug: { "Design Capacity=", 0xdb60, }
      default    21:07:36.032772 -0800    kernel    ACPIDebug: { "Last Full Capacity=", 0x6a9a, }
      default    21:07:36.033783 -0800    kernel    ACPIDebug: { "Remaining Capacity=", 0x2e7c, }
      default    21:07:36.033968 -0800    kernel    ACPIDebug: { "Remaining Percent=", 0x2b, }
      default    21:11:19.319090 -0800    kernel    ACPIDebug: { "Charge Stop Threshold=", 0x5a, }
      default    21:11:30.722450 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x50, }
      default    23:34:39.071335 -0800    kernel    ACPIDebug: "Force Discharge=Enabled"
      default    23:34:59.427494 -0800    kernel    ACPIDebug: "Force Discharge=Disabled"
      default    23:35:08.475281 -0800    kernel    ACPIDebug: { "Inhibit Charge Enabled (in Minutes)=", 0xf, }
      default    23:35:12.971671 -0800    kernel    ACPIDebug: "Inhibit Charge=Disabled"
       
      At this time, I just hard-coded for the BAT0 to quickly validate my understanding and its working well. 
       
      What's next? As I understand (and please correct me if I'm wrong), I can't return values with ACPIDebug.kext along with ioio, plus this is also all very hacky.
      To be able to create a program that reads the current remaining capacity (percent) and switches control to internal batter, I need a way to return this info. Currently I'm just outputting it to the logs.
       
      My thinking is to modify ACPIDebug.kext or one of these other kexts (ACPISensors.kext) to add code for above and then create a program to optimally manage the operation of my two batteries.
      However, I'm very new to all of this and will take some time.
       
      In the meanwhile, here is it for your playing pleasures. Please be aware that my SSDT-RMDT is currently hard-coded for BAT0 and doesn't have all the validations. 
      Credits to RehabMan, tpacpi-bat, and other resources on internet.
       
      Thanks all.
       
       
      SSDT-RMDT.dsl
    • By kingoffright
      Dear all,
       
      I have a external harddisk about 500GB, I installed the clover into it and the harddisk is GPT format, below is the 3 partitions details:
      FS01: EFI - disk0s1 - fat32
      FS02: install mac  image - disk0s2 -  hfs+
      FS03: install windows 10 - disk0s3 - fat32
       
      I can use this external harddisk to install Mac without issue, I use below steps to install windows 10
      enter the FS03:
      cd to efi/boot/ and excuete bootx64.efi
      after pop up the windows install screen, i click next and it shows error 'A media driver your computer needs is missing...' and the installation can not go any further.
      Firstly I use ultraiso to write the windows 10 image to a flash disk and no issue to start install window 10 so the image is working fine. Since I dont know how to write
      a wiindow installation image into harddisk partition, I used winrar extra all the files into disk0s3, am I missing some steps or actually clover not support to install windows
      by partitions, apprecating any helps.
       
    • By kushwavez
      Acer Aspire V15 V5-591G - Catalina 10.15.1
      This post will no longer updated, go for the osxlatitude link for further updates
      Original and updated link:
      https://osxlatitude.com/forums/topic/11355-acer-aspire-v-15-v5-591g-catalina-windows-10/
      (Note: mine is 55TU version, but the bootpack will work fine with another versions of 591G, for example: V5-591G-71K2, -764Z, -59PU, etc.)
      Specifications:
      - Motherboard: USOPP_SLS (Skylake-H PCH)
      - BIOS: Insyde Corp. v 1.15
      - CPU: Intel Core i5-6300HQ 2.3 GHz (Skylake)
      - GPU: NVIDIA GeForce GTX 950M 2 GB (Optimus) & Intel HD Graphics 530
      - RAM: SK hynix 4 GB DDR4 (Later I bought + KINGSTON 4 GB) 2133 MHz
      - WiFi + Bluetooth: Qualcomm Atheros QCNFA344A 5 GHz (Later -> Broadcom BRCM94352Z M.2 5 GHz WiFi + 4.0 Bluetooth)
      - Audio: Realtek HD Audio: ALC 255 
      - Ethernet: Realtek RTL8168/8111
      - Card Reader: Realtek USB 2.0 Card Reader (USB2.0-CRW)
      - Webcam: HD Webcam
      - HDD: TOSHIBA MQ01ACF032 320 GB HDD
      - SSD: SPCC M.2 230 GB SSD
      - Display: 1366x768 (15.6", Matte)
      - Battery: 6 cell 56Wh / 5040mAh
      - Connectors: 
      1x SD Card Reader 2x USB 3.0 (1x USB Charging), 1x USB 2.0 1x VGA 1x HDMI 1x 3.5mm microphone/audio combined jack connector 1x Ethernet (Rj-45) - Keyboard & Touchpad: Multi-Touch & Multi-gestures ELAN 501 Touchpad, Backlight Keyboard.
      Working:  
      - Wi-Fi (with BCM94352Z)
      - Bluetooth hand-off (With BCM94352Z)
      - Full Graphics enabled on HD 530: ig-platform-id: 0x191b0000 (HD 530 Mobile)
      - Display: if default colour profile is corrupted (blue is not actual blue but purplish) Use "Rec. ITU-R BT. 709-5" Color Profile (System Pref. -> Displays -> Color)
      - HDMI & VGA Outputs: AppleGraphicsDevicePolicy.kext Clover patch
      - Audio (ALC 255): (Internal Speakers, Internal Microphone, Headphone jack with AppleALC, ALCPlugFix -> layout-id=17)
      - Ethernet Realtek 8168/8111: RealtekRTL8111.kext
      - App Store, Messages, FaceTime, Siri, iCloud (native)
      - Integrated webcam (native)
      - 3.0 USB (native)
      - Touchpad and Keyboard (ELAN501): Fn keys are good, the weird thing is the Brightness key. On my keyboard it's Pause Break:Br-up, Fn+F12:Br-dwn-> To fix this try Karabiner (VoodoPS2Controller.kext), - for gestures try SmartTouchpad drivers
      - Battery info: Install ACPIBatteryManager.kext with Kext Utility or other installer.
      - Sleep Mode
      - SSD with TRIM enabled (to enable trim, open Terminal and write "sudo trimforce enable")
      Not working:
      - Original Wi-Fi (Qualcomm Atheros QCNFA344A):  unsupported, you need switch to BCM94352Z or just use a mini usb wifi dongle.
      - NVIDIA GeForce GTX 950M: Optimus not supported.
      - Card Reader: Unsupported -> Can't really fix because I don't have any SD Card at the moment, maybe can be fixed by adding Prod & Ven IDs to AppleStorageDevices.kext, I never used it anyway. name: "USB2.0-CRW" Prod ID: "0x0129" Ven ID: "0x0bda  (Realtek Semiconductor Corp.)"
      For Wi-Fi:
      - 1st method: You can choose an external USB wifi dongle (I used TP-Link Archer T1U (5GHz support), TP-Link has official macOS drivers, you just need to install it
      - 2nd and I think the best method: Replace your M.2 Qualcomm Card with a compatible BCM94352Z card (you will have hand-off Bluetooth too), just install the kexts (enabled with BrcmFirmwareRepo.kext, BrcmPatchRAM2.kext, FakePCIID.kext, FakePCIID_Broadcom_WiFi.kext, they're all in my attached zip). You could buy this card from ebay, aliexpress, or amazon
       
      Issues:
      - None
      BIOS Settings:
      - BIOS version 1.15 (irrelevant)
      - Secure Boot: Disabled
      - Touchpad: Advanced
      - Boot mode: UEFI
      Getting ready for Installation:
      - Download the Catalina install zip (bootpack & postinstall): acer_aspire_V591G-55TU_cata.zip
      Installation:
      - Create an installer with any method you know (- Mac: createinstallmedia - Windows: Transmac, Vmware, Win32diskimager)
      - Copy my Clover folder to the USB's EFI folder
      - Boot with the Installer USB
      - If you stuck in boot, reboot and in the Clover bootloader select "config_debug.cfg" -> you'll have more informations about the freeze
       
      Please open the README.rtf in my install zip for more informations about the USB Installer & Post installation!
      On Catalina the System folder is read-only, so you need to remount in rw to modify System/Library. 
      If you have a single RAM and getting panic at boot, then you need to edit the "config.plist" with these (SMBIOS->after "Version 1.0"):
      ->Edit "Frequency" and "Size" to match your RAM values
      <key>Version</key> <string>1.0</string> <key>Memory</key> <dict> <key>Channels</key> <integer>1</integer> <key>SlotCount</key> <integer>1</integer> <key>Modules</key> <array> <dict> <key>Slot</key> <integer>0</integer> <key>Size</key> <integer>8192</integer> <key>Frequency</key> <integer>2133</integer> <key>Type</key> <string>DDR4</string> </dict> </array> </dict> </dict>  
      PowerManagement  fix:
      Set HWPEnable=YES in Clover (already set), CPUFloor to "700", Frequency to "2300" and "3200"(Normal and Turbo, if you have i7-6700HQ version then it should be "2600", "3500") and "FrequencyVectors" from "0x0d000000" to "0x07000000" in "S/L/E/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-A5C67F76ED83108C.plist", MSR _xcpm_idle Patch to KernelToPatch in Clover (If you have High Sierra, change "MatchOS" to 10.13):

      <key>KernelToPatch</key> <array> <dict> <key>Comment</key> <string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string> <key>Disabled</key> <false/> <key>Find</key> <data> ILniAAAADzA= </data> <key>MatchOS</key> <string>10.14</string> <key>Replace</key> <data> ILniAAAAkJA= </data> </dict> </array> Reboot, and it's 800MHz in idle state, same on Windows.
       

      Elan SmartTouchpad
      I only use scrolling, one-, double- & tripletap
      If you want to try other gestures go to this link for more informations, options (v4.6.5) ->  DETAILS ABOUT THE SMART TOUCHPAD DRIVER FEATURES
      Fn Brightness keys not working with this, tried several things without success. With VoodoPS2Controller it's working, but you'll have no gestures (neither scrolling).
       
       
      Before updating to a new version of Catalina please update kexts (and clover if necessary) to newer versions to avoid kernel panics.
      Generate a serial number with Clover Configurator.app (open up your config.plist with CC then -> SMBIOS -> Serial Number -> Generate New)
       
      Catalina & Windows 10 Dual-Boot:
      Dual-boot clean install (on one drive), UEFI Only:
       
       Boot into your Mac installer, Create 2 partitions in GUID table (1 for Win (I used FAT32 but I think it doesn't matter what you choose), 1 for Mac),   Install Mac, boot with your USB, mount your EFI partition (use terminal or an EFI mounter app), create an EFI folder (if there is no folder), copy the CLOVER folder I attached to the EFI folder, restart,  Boot into your Win installer, Format the partition you created for Win, install.   Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type:  bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi       5.  You're done! It will booting into Clover when you start the system, and you can select Win or Mac (or another OS if installed on a 3rd partition).
       
      Dual-boot with Windows installed first (on one drive), UEFI Only:
      If you already have Windows and you don't want to lose all your data there is a hope:
      I created a video from this restore method: [Hackintosh] Dual-Boot High Sierra & Windows - when Windows already installed - no data waste - UEFI
      You need bootable Mac Installer and a full system restore image (link is in my video's description).
      (You may see errors if your EFI partition is not 200 MB)
       Boot into your Windows, resize your partition or create one for Mac.  Boot into your Mac installer and in Disk Utility format the partition you created.  Restore from image: select your full system restore image.  When it's finished restoring you just need to restart, then boot to the system with your usb.  When you successfully booted to Mac desktop, mount your EFI partition (use terminal or an EFI mounter app), open EFI, you will see there is a Microsoft folder already (don't touch that!). Copy my CLOVER folder to the EFI folder then Restart.  Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type:  bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi       7.  You're done! You can select your old Windows and your new macOS!
      (Only tried with Windows 8/8.1/10. I don't know Windows 7,etc.)
       
      IF YOU GETTING ERRORS DURING MAC RESTORE:
      - Make sure you have partitions in GPT
      - Windows using 100 MB EFI and will annoy the Mac restore. Don't worry, just ignore the errors.
       
      IF YOU GETTING ERRORS DURING WINDOWS INSTALLATION (could not be formatted, etc):
      - Make sure you have GPT partitions, and GPT (UEFI) installer, also disconnect all external storage drives (except the installer USB)
       
      IF YOU USED RESTORE METHOD THEN CAN'T MOUNT YOUR EFI PARTITION (No EFI partition found):
      - It's because your EFI is not 200 MB or not an "Apple" original EFI,  but do not worry, try another EFI mounter, or mount from terminal (I used EFI mounter v3: Getting errors, but you can mount and use without problem)
      - You also could "mount" the EFI from Windows:
      1st method: open cmd in administrator mode and type:
      diskpart list vol (Now select the "System" volume,(FAT 32) For example I select 4) sel vol 4 list part (Select System type partition, for example 2) sel part 2 assign letter=b (This will "mount" your EFI partition) Open Explorer++ or TotalCommander in administrator mode to manage EFI remove letter=b (This will "unmount" your EFI) 2nd method: open cmd in administrator mode and type:
      mountvol b: /s (This will mount your EFI) Open Explorer++ or TotalCommander in administrator mode to manage EFI mountvol b: /d (This will unmount your EFI) Thanks to all OSXLatitude members for helping me out! (Jake Lo, Hervé, Bronxteck, black.dragon74)!
      Notes:
      2019.11.03: Enabled SIP caused a lots of issues so now it's disabled -> updated bootpack
      2019.11.02: Updated to 10.15.1 -> no problem when/after installing
      2019.10.09: Installed macOS Catalina 10.15 -> Updated Clover, kexts & config.plist -> no problem so far
      2019.08.18: Updated to 10.14.6 -> no problem when/after installing
      2019.06.01: Updated to 10.14.5 -> no problem when/after installing
      2019.04.25: Optimized touchpad scrolling -> updated install files
      2019.03.30: Fixed USB 3.0 ports, fixed Bluetooth crashes after sleep -> updated bootpack
      2019.03.28: Updated to 10.14.4. Unexpected crashes while updating to 10.14.4 -> fixed by updating Clover to the latest (v4910) version. Bluetooth crashes appeared -> fixed by downgraded Brcm*.kexts. Updated bootpack.
      2019.02.24: Bluetooth crashes after sleep -> fixed, updated bootpack. 
      2019.02.22: Updated to 10.14.3. Fixed HDMI Audio by installing "FakePCIID_Intel_HDMI_Audio.kext" -> fixed freezing during boot. Fixed brightness levels by installing "AppleBacklightFixup.kext". Also updated bootpack & postinstall zip down in attachments.
      2019.01.21: Removed FakeSMC.kext, SMCHelper-64.efi, replaced by VirtualSMC.kext, VirtualSMC.efi because I got random freezes when booting system (kextd stall[0], (120s): 'AppleACPICPU' -> CPU is at 100%, fans are spinning fast), also updated bootpack in the attachments "acer_aspire_v591g-55tu_clover.zip" -> Freeze continued, brought back FakeSMC, deleted VirtualSMC (caused BT crashes).
      2019.01.18: HDMI Audio is fixed, I didn't do anything HDMI Audio is not fixed, sometimes it worked but most likely not. (no idea why)
      2018.12.09: Updated to 10.14.2 -> did without any complication
      2018.11.28: Fixed combo-jack garbage sound output by installing ALCPlugFix and CodecCommander.kext
      2018.11.01: Updated to 10.14.1 -> HDMI & VGA ports are gone again. -> Fixed by "AppleIntelSKLGraphicsFramebuffer.kext" rollback from 10.14.
      2018.09.28: Updated to Mojave 10.14 -> Fixed HDMI & VGA Outputs by adding "AppleGraphicsDevicePolicy.kext" patches to config.plist, HDMI audio not working
    • By Cwtf
      I just made a clean install of High Sierra on a 1TB crucial ssd. Installed clover Clover_v2.5k_r5070 into the EFI of this ssd, but when I tried to make it my default boot drive, the clover screen wouldn't come up, and left a black screen.
      I tried using the Olarilia usb drive and clover did the same thing.  The only way I can currently boot is to use my old drive with clover v2.4k_4945 then select  my new drive from the clover menu.   
       
      Do I need to install v2.4k on my new drive or is there a way I can get v2.5k working?
       
      I have a GA-x79-ud5 motherboard, AMD  rx580 graphics card and use a Sony 4k tv as my monitor.
    • By kylon
      Cloud Clover Editor is an open source application that allows you to manage the configuration of various Hackintosh Bootloaders.

      Open Cloud Clover Editor
       
      Cloud Clover Editor Wiki
      Cloud Clover Editor Sources
       
       
      Features
      Supports Clover EFI, Ozmosis, Chameleon, OpenCore GUI and Text Editor Mode CCE Bank Mobile friendly and more...  
      Officially supported browsers
      Chrome 42+ Microsoft Edge 14+ Firefox 39+ Safari 10+ Opera 29+ Opera Mobile 12+ Chrome for Android 75+ Firefox for Android 67+  
       
      Credits
      mackie100 - took some ideas from his app Clover EFI dev team Eric Slivka - new serial number Virtual1 - new serial number cecekpawon - PHP 5.3.3 patch, , help with the ACPI Loader Mode flag and more Micky1979 - Clover flying editor  (Discontinued) crusher. - Help with the ACPI Loader Mode flag Download-Fritz - Help with the ACPI Loader Mode flag Pavo - Ozmosis fields and values stehor - Ozmosis fields and values Sherlocks - General help and support gujiangjiang - General help and support  
      Please let me know if i forgot you!
×