Code Monkey home page Code Monkey logo

undervoltpatchmacbook's Introduction

Undervolt Patch for MacBooks

Disclaimer: This tutorial requires some knowledge about disassembling laptops and using EEPROM programmers. Always make sure you have a backup of your original Firmware ROM. If the firmware gets corrupted, you won't be able to use your computer at all until you flash a proper ROM.

Full explanation about how this mod works will be available soon at my site

This tutorial is currently only for Haswell based macs (2013-2014). Macs with Broadwell CPUs (2015) are already unlocked. Support for Skylake/Kaby Lake models (2016-2017) is expected on the future.

Once you follow the steps, you should be able to write on "MSR 0x150" which basically means you can do Undervolting with VoltageShift/Volta/ThrottleStop on your Mac.

You should only use this tutorial if you get an "OC_Locked" message on VoltageShift or "FIVR Control - locked" on ThrottleStop

  1. Dump the firmware from your mac: You can do this by using the flashrom tool on a live usb with a Linux distribution (like Ubuntu) or directly with an external programmer like the CH341A using an SOP8 Clip (only for 15" 2013-2015 models) / JTAG adapter or desoldering the Firmware Chip. Check issue #1 about how to connect the programmer
  2. When you're done, you should have an 8MB (8.388.608 bytes) file. Make sure you have a backup of this unmodified file
  3. Download UEFIPatch , it's available for both Windows and Mac
  4. Extract the zip and open the extracted folder. You'll see an "patched.txt" file.
  5. Replace this file with the patches.txt file I uploaded on this repository alt text
  6. Copy the ROM file from step 1 into the folder
  7. Open a terminal, cd to the extracted folder, type the command "UEFIPatch.exe firmware.bin" or "UEFIPatch firmware.bin" on macOS. Don't worry about any "Unknown file system" warnings, if it says "Image Patched" you're ready to go.
    alt text
  8. Now you should see a new file "firmware.bin.patched" on your folder with same size as the old file (8.388.608 bytes).
  9. Flash this patched firmware with an external programmer and your done. For my model, I used an CH341A connected with an SOP8 Clip

As you can see, I'm now able to undervolt with my 2014 15" MBP while using the latest Big Sur 11.3 Update which includes the 431.0.0.0.0 firmware.

alt text

This tutorial was tested on the following MacBooks:

  • Mid 2014 MacBook Pro 15" | Haswell
  • Late 2013 MacBook Pro 15" | Haswell (tested by binh-geomatics)

UPDATES

  • 23/07/2021 - Big Sur 11.5 Update introduces a new firmware version (431.140.6.0.0 on 15"). Patcher is still compatible but you'll need to repatch the ROM.
  • 28/04/2021 - First Release

undervoltpatchmacbook's People

Contributors

ismaelhg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

xiaxichen

undervoltpatchmacbook's Issues

Programmer Connector

You will need an external programmer for the firmware flashing process.

@IsmaelHG programmer with which type of connector? Proprietary Apple's one?
Cause I've searched it recently on AliExpress and one connector with short cable costs more than 100$.

Originally posted by @th3sk4 in sicreative/VoltageShift#44 (comment)

If you have an 15" 2013-2015 MacBook Pro, you can flash with a SOP8 Clip which costs only $3.

On other MacBooks, you can use a JTAG adapter or desolder the BIOS chip and solder it into an WSON8 adapter.

Bad news is that the JTAG cable is expensive as you said, the cheapest option I found is this one in eBay for $60
https://www.ebay.com/itm/133187974519

I bought this exact same cable a year ago and it works fine.

parseVolume: non-UEFI data found in volume's free space

Hello, this github has saved many 2013 and 2014 macbooks, but i cannot get it to work on 2015 15": i can read and flash the original rom correctly, but if i try to mod it i get the error "parseVolume: non-UEFI data found in volume's free space" and the resulting patched file (i still get success) doesn't boot. This is with latest 476 firmware
If you can help i am willing to provide donation, thanks!

Bricked my rMBP 2013?

I did all the process on osx 11.3 with success, but after 11.5 I did same and my rMBP doesn't startup properly. Could you guys give me some help to figure out what's going wrong?

The process I follow was:

  1. I did boot with Linux ubuntu 18, on terminal I did use sudo flashrom --programmer internal -r backup.rom -c MX25L6406E/MX25L6408E to dump eprom original rom.

  2. Copy the the file to a Win10 PC and with a ch341a mini and SOP8 I connected to the eprom chip.

  3. After patch the original rom with UEFI I tried to write the new patched rom using ch341A programmer v1.29 and all I did get was "CHIP MAIN MEMORY WITH THE CONTENTS ARE IN DISAGREEMENT" error. I tried different programmer versions as v1.18, v1.30 and get same message.

  4. After that my MacBook didn't startup.

  5. I tried to revert all trying to flash my backup but all I can get is same error. Only fan start to spin when I try to start my rMBP

Error image similar to this one. "CHIP MAIN MEMORY WITH THE CONTENTS ARE IN DISAGREEMENT"
image

My dumb rom has same size of my previous backup that I get on first patch on osx 11.3, around 8mb (8,388,608 bytes).

Will this method work with Volta

First, thank you for creating this tool and guide.

I was looking for a way to undervolt my mid-2104 MacBook Pro with Volta in BigSur and came across VoltageShift and your mod.

Would you happen to know if this method will work with Volta as well?

Connecting CH341A with SOP8 clip to BIOS chip at 3.3V

Could someone please post some details pictures for how to connect the CH341A programmer with SOP8 chip to the MacBook Pro chip? I get "No EEPROM/flash device found." after using flashrom on MacOS.

Looking up the bios chip (mxic mx 25L6406E) online shows it should be read / written to at 2.7V to 3.6V. How do you set the programmer to 3.3V mode? Some are saying online that the data lines are always 5V anyway and the programmer has to be modded. I can't get it to read the chip using flashrom.

Full output from flashrom:

sudo flashrom -p ch341a_spi -r test.bin

flashrom v1.3.0 on Darwin 20.6.0 (x86_64)

flashrom is free software, get the source code at https://flashrom.org/

Calibrating delay loop... OK.

libusb: info [darwin_detach_kernel_driver] no capture entitlements. may not be able to detach the kernel driver for this device

libusb: info [darwin_claim_interface] no interface found; setting configuration: 1

No EEPROM/flash device found.

Note: flashrom can never write if the flash chip isn't found automatically.

skylake/kabylake support

Hi! Is there any hint on the patches for skylake and later cpus? assuming the t1/t2 will not lock it

Patching firmwares after Big Sur

Has anyone tried this after Big Sur? I am now looking to try OCLP on my late 2013 15" MacBook Pro with Sonoma. Will that update my firmware from my patched Big Sur 478.0.0.0 firmware? Will that require patching it again?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.