Go to file
2016-04-24 16:12:10 +10:00
mec-tools@5e30f2bf7d Add x230 image and infrastructure 2016-04-19 19:39:23 +10:00
radare Some more minor duplicate label cleanups in the x230 radare project 2016-04-23 13:16:19 +10:00
t430.G1HT35WW.img.d Add patches for t430 2016-04-24 15:29:59 +10:00
t430s.G7HT39WW.img.d Replicate the x230 keyboard patches on the t430s 2016-04-23 13:37:37 +10:00
x230.G2HT35WW.img.d Add two more patches, and a way to get a pre-patched bin, ready to hack on 2016-04-22 17:13:50 +10:00
.gitignore Continue to make filenames more consistant, and ignore the generated outputs 2016-04-20 10:54:33 +10:00
.gitmodules Add x230 image and infrastructure 2016-04-19 19:39:23 +10:00
8duj27us.iso.orig.sha1 Use the same orig tail filename everywhere 2016-04-19 20:52:09 +10:00
g1uj38us.iso.orig.sha1 Add t430 downloader and extractor 2016-04-24 13:19:17 +10:00
g2uj23us.iso.orig.sha1 Use the same orig tail filename everywhere 2016-04-19 20:52:09 +10:00
g7uj18us.iso.orig.sha1 Add details for downloading the t430s firmware 2016-04-23 11:52:10 +10:00
hexpatch.pl Add License details 2016-04-23 14:02:28 +10:00
LICENSE Add License details 2016-04-23 14:02:28 +10:00
Makefile Make the binary slice extraction completely generic 2016-04-24 15:47:23 +10:00
README Quick Fix the wording to make more sense 2016-04-23 14:23:42 +10:00
slice.extract BUG: make slicer work when input file is larger then offset, also it is now more optimised 2016-04-24 16:12:10 +10:00
t430.G1HT35WW.img.enc.orig.slice Make the binary slice extraction completely generic 2016-04-24 15:47:23 +10:00
t430.G1HT35WW.img.orig.sha1 Add t430 downloader and extractor 2016-04-24 13:19:17 +10:00
t430s.G7HT39WW.img.enc.orig.slice Make the binary slice extraction completely generic 2016-04-24 15:47:23 +10:00
t430s.G7HT39WW.img.orig.sha1 Add details for downloading the t430s firmware 2016-04-23 11:52:10 +10:00
x220.8DHT34WW.img.enc.orig.sha1 Update slice definition for x220 reference code as it was incorrect 2016-04-24 16:00:14 +10:00
x220.8DHT34WW.img.enc.orig.slice Update slice definition for x220 reference code as it was incorrect 2016-04-24 16:00:14 +10:00
x230.G2HT35WW.img.enc.orig.slice Make the binary slice extraction completely generic 2016-04-24 15:47:23 +10:00
x230.G2HT35WW.img.orig.sha1 Ensure we have an original file left around to diff against later 2016-04-19 19:54:56 +10:00
xx30.encrypt Add License details 2016-04-23 14:02:28 +10:00

This repository consists of a number of tools and utilities for examining and
modifying Thinkpad Embedded Controller firmware.

Including:
*   radare projects with partial disassembly of several thinkpads EC firmware
*   scripts for downloading the ISO image and extracting the firmware
*   script for patching the firmware
*   documentation on the tables found in the firmware (TODO)

Quick Start:

    To fetch the firmware from Lenovo, extract, decrypt and patch
    it, ready for more patching, choose one of:

        make x230.G2HT35WW.img
        make t430s.G7HT39WW.img

    To update the checksums and encrypt the patched firmware, ready to
    be inserted into the FL2 file, choose one of:

        make x230.G2HT35WW.img.enc
        make t430s.G7HT39WW.img.enc

    To re-insert the EC firmware into the bios flash file, use a command
    similar to the following:

        dd if=x230.G2HT35WW.img.enc of=\$01D3000.FL2 conv=notrunc bs=4096 seek=1280

    To update your firmware, prepare a DOS boot disk with the FL2 file and
    the dosflash.exe utility and then use a command similar to:

        dosflash /sd /ipf ec /file $01D3000.FL2

References:
    http://forum.thinkpads.com/viewtopic.php?f=69&t=120776
    http://www.thinkwiki.org/wiki/Install_Classic_Keyboard_on_xx30_Series_ThinkPads#Experimental_X230_Embedded_Controller_Mod
    http://www.zmatt.net/unlocking-my-lenovo-laptop-part-3/