mirror of
https://github.com/hamishcoleman/thinkpad-ec
synced 2024-11-04 06:00:12 +00:00
110 lines
4.2 KiB
Plaintext
110 lines
4.2 KiB
Plaintext
The main purpose of this software is to patch the EC on xx30 series thinkpads
|
|
to make the classic 7-row keyboards work. There are also patches included (but
|
|
disabled by default) to disable the authentic battery validation check.
|
|
|
|
With the patches included here, you can install the classic keyboard
|
|
hardware on many xx30 series laptops and make almost every key work properly.
|
|
The only keys that are not working are Fn+F3 (Battery) and Fn+F12 (Hibernate)
|
|
|
|
Unfortunately, it turns out that not all xx30 series thinkpads have the same
|
|
BIOS and EC arrangement - some do not have a "FL2" file in the BIOS update
|
|
image and thus the location of the EC to patch is missing. This is known to
|
|
be the case with at least the L530.
|
|
|
|
* A full writeup of the hardware modifications needed can be found at:
|
|
http://www.thinkwiki.org/wiki/Install_Classic_Keyboard_on_xx30_Series_ThinkPads
|
|
|
|
* More information for hacking on this can be found in the docs/HACKING.txt
|
|
file.
|
|
|
|
* A video presenting how these thinkpad laptops were hacked is online:
|
|
https://www.youtube.com/watch?v=Fzmm87oVQ6c
|
|
|
|
Step-by-step instructions:
|
|
--------------------------
|
|
|
|
This software expects to be run under Linux. For best results, ensure you
|
|
have updated your BIOS to a recent version before starting. If there is too
|
|
large a difference between the BIOS and EC versions then the flash process
|
|
will not complete.
|
|
|
|
1. Ensure you have installed the prerequisite packages
|
|
On debian, this can be done with:
|
|
|
|
apt-get install build-essential git mtools libssl-dev
|
|
|
|
2. Clone a copy of this repo on to your computer:
|
|
|
|
git clone https://github.com/hamishcoleman/thinkpad-ec
|
|
|
|
3. Change to the directory created by the clone:
|
|
|
|
cd thinkpad-ec
|
|
|
|
4. Show the list of laptops and USB image file names:
|
|
|
|
make list_laptops
|
|
|
|
5. Choose your laptop model name from the list shown.
|
|
E.G. "patched.x230.img" for a x230 laptop.
|
|
|
|
6. Using the name chosen in the previous step, make the fully
|
|
patched image for this laptop (this will download the original
|
|
file from Lenovo and patch it):
|
|
|
|
make patched.x230.img
|
|
|
|
7. Insert your USB stick and determine what device name it has.
|
|
(Note: chose a USB stick with nothing important on it, it will
|
|
be erased in the next step) This command should help you find the
|
|
right device:
|
|
|
|
lsblk -d -o NAME,SIZE,LABEL
|
|
|
|
8. Write the bootable patched image onto the USB stick device (replace
|
|
the "sdx" in this command with the correct name for your usb stick)
|
|
|
|
WARNING: if you do not have the right device name, you might overwrite
|
|
your hard drive!
|
|
|
|
sudo dd if=patched.x230.img of=/dev/sdx
|
|
|
|
Your USB stick is now ready to boot and install the patched firmware.
|
|
|
|
Notes:
|
|
------
|
|
|
|
* You can also create a bootable CDROM image for burning to a disk
|
|
by asking for a ".iso" file instead of the ".img" in step 6 above.
|
|
Then you can use your normal CDROM burning tools to put this image on
|
|
a blank cd and boot it up, skipping steps 7 and 8.
|
|
|
|
* To include the battery validation patch or to make a build that
|
|
reverts any EC changes, read the docs/CONFIG.txt and follow
|
|
the configuration instructions in it before running step 6.
|
|
|
|
|
|
Booting the stick and flashing the firmware:
|
|
--------------------------------------------
|
|
|
|
While flashing the firmware is as simple as booting the USB stick
|
|
created above, there are a couple of steps that can help the process.
|
|
This is more a list of issues that the community has discovered as the
|
|
patch was applied in different circumstances than a hard and fast set
|
|
of requirements.
|
|
|
|
* The firmware flash process generally requires you to have a charged
|
|
battery plugged in to the laptop before it will complete.
|
|
|
|
* Ensure your BIOS has been configured to boot from "Legacy" and not
|
|
"UEFI" before trying to boot.
|
|
|
|
* If you do normally use UEFI boot, there has been at least one case where
|
|
the EC does not get flashed until the BIOS is switched back into UEFI
|
|
mode - after which the EC was automatically flashed on the next reboot.
|
|
|
|
* When you boot the stick, you will be shown information about the patch,
|
|
including which laptop type it was built for. It pauses at this point
|
|
for you to confirm that you wish to proceed. It will then automatically
|
|
flash the patched firmware.
|