|
@ -1,16 +1,32 @@ |
|
|
# x230patcher |
|
|
# x230patcher |
|
|
X230 automated UEFI firmware patcher using CH341A and SOIC clip. For firmware version 2.75 only! |
|
|
X230 automated UEFI firmware patcher using CH341A and SOIC clip. For firmware version 2.75 only! |
|
|
|
|
|
With this patcher you can remove the WLAN whitelist and unlock the advanced menu. You could modify the source to include your own patches. |
|
|
|
|
|
|
|
|
## Initial setup |
|
|
## Initial setup |
|
|
First install [flashrom](https://flashrom.org/Flashrom). |
|
|
|
|
|
|
|
|
First install [flashrom](https://flashrom.org/Flashrom). On macOS this will probably come from [homebrew](https://brew.sh), on Linux from your distribution's package manager. |
|
|
|
|
|
|
|
|
You will need to obtain a version of UEFIPatch that runs on your operating system. In the file `romtools.py` there is a variable called `UEFIPATCH_LOCATION`. Please set this to the path (relative or absolute) of your UEFIPatch executable, which can be downloaded from [here](https://github.com/LongSoft/UEFITool/releases). **Be sure to download version 0.28.0 and _NOT_ version A57 or A56 etc, these are from a separate codebase and do not yet support patching.** |
|
|
You will need to obtain a version of UEFIPatch that runs on your operating system. In the file `romtools.py` there is a variable called `UEFIPATCH_LOCATION`. Please set this to the path (relative or absolute) of your UEFIPatch executable, which can be downloaded from [here](https://github.com/LongSoft/UEFITool/releases). **Be sure to download version 0.28.0 and _NOT_ version A57 or A56 etc, these are from a separate codebase and do not yet support patching.** |
|
|
After this you are ready to go. |
|
|
After this you are ready to go. |
|
|
|
|
|
|
|
|
## Preparing the laptop |
|
|
## Preparing the laptop |
|
|
Install Lenovo UEFI firmware version 2.75, found [here on their website](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x230/downloads/ds029187). This can be done from Windows or from a bootable USB. Enter the UEFI Setup (BIOS) and disable the security chip. |
|
|
|
|
|
|
|
|
Install Lenovo UEFI firmware version **2.75**, found [here on their website](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x230/downloads/ds029187). This can be done from Windows or from a bootable USB. Enter the UEFI Setup (BIOS) and disable the security chip. |
|
|
|
|
|
|
|
|
## How to use |
|
|
## How to use |
|
|
1. Open a terminal and cd into the directory under which your 'projects' are stored |
|
|
|
|
|
2. Run python3 ~/path/to/auto.py (probably have to do this using its full path) |
|
|
|
|
|
|
|
|
1. Open a terminal and cd into the directory under which you would like to store your UEFI firmware 'projects' |
|
|
|
|
|
2. Run python3 ~/path/to/auto.py, on Linux you will need to add yourself to the right group to access the programmer or just run the script with root privileges (sudo) |
|
|
3. Simply follow the instructions on screen |
|
|
3. Simply follow the instructions on screen |
|
|
4. Profit?? |
|
|
4. Profit?? |
|
|
|
|
|
|
|
|
|
|
|
## My disclaimer |
|
|
|
|
|
If you are... |
|
|
|
|
|
- not confident in your abilities to use this software |
|
|
|
|
|
- not willing to accept that via defects in this software (which I have done my best to make sure are not present) your computer hardware may be damaged irreparably |
|
|
|
|
|
- expecting any help or support from me |
|
|
|
|
|
then you are kindly requested not to use this software under any circumstances. |
|
|
|
|
|
**If you do decide to use it and your equipment is damaged, don't come crying to me!** |
|
|
|
|
|
There's a full disclaimer included in the license. |
|
|
|
|
|
|
|
|
|
|
|
With all this said, as far as I know the code is safe and works properly. In the interests of safety the chip is read twice and the results compared, to make sure the read was accurate. The original contents of the chip (both dumps) are saved and can be flashed back using flashrom if writing the patched firmware fails, or the patched firmware doesn't work. |
|
|
|
|
|
|
|
|
|
|
|
## License |
|
|
|
|
|
The contents of this repository are licensed under the GNU General Public License, version 3. |