Go to file
2016-04-27 11:28:21 +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
w530.G4HT39WW.img.d Add keyboard patches for w530 2016-04-25 00:44:48 +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 Add a bootable ISO image target for x230 2016-04-27 00:43:48 +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
autoexec.bat.template Add a warning and some details to the auto flash batch file 2016-04-27 11:28:21 +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
g5uj28us.iso.orig.sha1 Add image extractor for w530 2016-04-25 00:27:13 +10:00
g7uj18us.iso.orig.sha1 Add details for downloading the t430s firmware 2016-04-23 11:52:10 +10:00
gcuj24us.iso.orig.sha1 Add image extractor for x230t 2016-04-24 23:57:04 +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 Add a warning and some details to the auto flash batch file 2016-04-27 11:28:21 +10:00
n10ur10w.iso.orig.sha1 Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
r02uj46d.iso.orig.sha1 Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
README Add a bootable ISO image target for x230 2016-04-27 00:43:48 +10:00
slice.extract Enable generation of FL2 files - unfortunately, needs a custom rule for each output - just x230 for now 2016-04-24 17:42:31 +10:00
slice.insert Enable generation of FL2 files - unfortunately, needs a custom rule for each output - just x230 for now 2016-04-24 17:42:31 +10:00
t430.G1HT35WW.img.enc.slice Make things a little simpler by shortening some filenames 2016-04-24 16:25:56 +10:00
t430.G1HT35WW.img.orig.sha1 Add t430 downloader and extractor 2016-04-24 13:19:17 +10:00
t430s.G7HT39WW.img.enc.slice Make things a little simpler by shortening some filenames 2016-04-24 16:25:56 +10:00
t430s.G7HT39WW.img.orig.sha1 Add details for downloading the t430s firmware 2016-04-23 11:52:10 +10:00
w530.G4HT39WW.img.enc.slice Add image extractor for w530 2016-04-25 00:27:13 +10:00
w530.G4HT39WW.img.orig.sha1 Add image extractor for w530 2016-04-25 00:27:13 +10:00
w530.G4HT39WW.s01D5200.FL2.slice Add image extractor for w530 2016-04-25 00:27:13 +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.slice Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +10:00
x220.8DHT34WW.s01CB000.FL2.orig.sha1 Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +10:00
x220.8DHT34WW.s01CB000.FL2.slice Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +10:00
x230.G2HT35WW.img.enc.slice Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +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
x230.G2HT35WW.s01D3000.FL2.orig.sha1 Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +10:00
x230.G2HT35WW.s01D3000.FL2.slice Start extracting the FL2 files, and use that as the basis for extracting the firmware. This will allow us to update or diff against the FL2 file 2016-04-24 17:26:31 +10:00
x230t.GCHT25WW.img.enc.slice Add image extractor for x230t 2016-04-24 23:57:04 +10:00
x230t.GCHT25WW.img.orig.sha1 Add image extractor for x230t 2016-04-24 23:57:04 +10:00
x230t.GCHT25WW.s01DA000.FL2.slice BUG: x230t FL2 slice was wrong 2016-04-27 10:59:10 +10:00
x250.N10HT17W.img.enc.slice Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
x250.N10HT17W.s01E5000.FL2.orig.sha1 Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
x250.N10HT17W.s01E5000.FL2.slice Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
x260.R02HT29W.img.slice Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
x260.R02HT29W.s0AR0200.FL2.orig.sha1 Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +10:00
x260.R02HT29W.s0AR0200.FL2.slice Have a quick look at the x250 and x260 firmware, it looks like they are both ARC cpus with a similar layout. They both have different checksumming than the xx30 range and the x260 looks like it is not even encrypted (however there is a strange 256byte block at the top of the file - perhaps a signature) 2016-04-24 19:08:34 +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:

    There are similar make target commands for several different laptops,
    this command will produce a list of them:

        make list_images

    To fetch the ISO image, patch it and create a new bootable ISO image:

        make g2uj23us.iso

Slightly slower Start:

If you expect to do development work, the following two make targets
are probably useful:

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

        make x230.G2HT35WW.img

    To create a new FL2, ready for flashing:

        make x230.G2HT35WW.s01D3000.FL2

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

        dosflash /sd /ipf ec /file s01D3000.FL2

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