Skip to content

Commit b4b8cb4

Browse files
authored
Merge pull request #167 from notgivenby/t430/t420-manuals
add t430/t420 flashing guides
2 parents 58be595 + a3699c0 commit b4b8cb4

20 files changed

+159
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
layout: default
3+
title: Lenovo T420 Maximized
4+
permalink: /T420-maximized-flashing/
5+
nav_order: 1
6+
parent: Step 2 - Flashing Guides
7+
grand_parent: Installing and configuring
8+
---
9+
10+
Lenovo T420 (Maximized)
11+
===
12+
13+
[T420 Hardware Maintenance Manual](https://download.lenovo.com/pccbbs/mobiles_pdf/t420_and_t420i_ug_en.pdf)
14+
15+
The thinkpad T420 has only one SPI flash chip that hold the BIOS, ME, etc. It is located under the palm rest. Similarly to the T430, to access this chip complete disassembly is required. It is a straightforward process and takes approximately 30 minutes. For this follow the T430/x230 guide.
16+
17+
[Here](https://www.coreboot.org/Board:lenovo/t420) is the location of the chip. At some models the location of the dot where the red wire from programmer should go may be misleading. The dot you need is just black.
18+
19+
![T420 SPI flash chip]({{ site.baseurl }}/images/T420_SPI_chip.jpg)
20+
21+
You should then follow through with [configuring keys]({{ site.baseurl }}/Configuring-Keys/).
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
layout: default
3+
title: Lenovo T430 Maximized
4+
permalink: /T430-maximized-flashing/
5+
nav_order: 1
6+
parent: Step 2 - Flashing Guides
7+
grand_parent: Installing and configuring
8+
---
9+
10+
Lenovo T430 (Maximized)
11+
===
12+
13+
[T430 Hardware Maintenance Manual](https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/t430_t430i_hmm_en_0b48304_04.pdf)
14+
15+
Similarly to the x230, the thinkpad T430 has two SPI flash chips that hold the BIOS, ME, etc. They are located under the palm rest. To access these chips, complete disassembly is required. It is a straightforward process and takes approximately 30 minutes. For this you will need: some screwdrivers, thermal paste (since the CPU cooler needs to be removed too), an assembled ch341a SPI programmer (e.g. [Modified ch341a SPI programmer](https://novacustom.com/product/modded-ch341a-bios-firmware-programmer-3v/) by Novacustom) and a other laptop/PC with Ubuntu installed. Other linux based OS should be fine too.
16+
17+
First remove the battery and the cable powering your device.
18+
19+
![Keyboard tilted up]({{ site.baseurl }}/images/t430/1_1_back_view_removed_battery.jpg)
20+
21+
Removing these screws will allow you to remove the keyboard and palm rest.
22+
23+
![Last 3 crews]({{ site.baseurl }}/images/t430/1_2_back_view_remove_last3_screws.jpg)
24+
25+
First, slightly shift the keyboard towards the screen.
26+
27+
![Shift the keyboard]({{ site.baseurl }}/images/t430/3_keyboard_shift.jpg)
28+
The keyboard is connected to the motherboard by a ribbon cable which easily
29+
detaches from the motherboard.
30+
31+
![Keyboard disconnected]({{ site.baseurl }}/images/t430/4_keyboard_disconnected.jpg)
32+
33+
Remove these screws in order to remove the palm-rest.
34+
35+
![Palm-rest screws]({{ site.baseurl }}/images/t430/5_palmrest_screws.jpg)
36+
37+
The palm-rest is removed. Removing these screws will allow you to further detach the screen and the CPU cooler.
38+
39+
![Palm-rest removed]({{ site.baseurl }}/images/t430/6_palmrest_removed.jpg)
40+
41+
The screen and CPU with left speaker are removed.
42+
43+
![CPU cooler and screen removed]({{ site.baseurl }}/images/t430/7_remove_cpu_cooler_screen.jpg)
44+
45+
Flip the board and remove these screws too. This should allow you to get rid of the aluminium part to access the SPI flash chips.
46+
47+
![Flipped board]({{ site.baseurl }}/images/t430/8_back_view.jpg)
48+
49+
Flip the board again. The SPI flash chips are located under this plastic.
50+
51+
![Flipped board again]({{ site.baseurl }}/images/t430/9_flipped_again.jpg)
52+
53+
Left chip corresponds to the "bottom" flash chip (8192 kb) and right corresponds to the "top" (4096 kb) chip, respectively. The top chip is 4MB and contains the BIOS and reset vector. The bottom chip is 8MB and has the [Intel Management Engine (ME)](https://www.flashrom.org/ME) firmware, plus the flash descriptor. To be on the safe side, you may want to disconnect CMOS battery before next steps.
54+
55+
![SPI flash chips]({{ site.baseurl }}/images/t430/10_spi_flash_chips.jpg)
56+
57+
58+
First [download]({{ site.baseurl }}/Downloading) or build (please see [general building]({{ site.baseurl }}/{{ site.baseurl }}/x230-maximized-building/) / [building x230]({{ site.baseurl }}/x230-maximized-building/)) the maximized board roms (top and bottom) for this board and verify their hashes.
59+
60+
61+
Try to read the name on the top SPI flash chip. I was unable to do that. The dots on the chip help to identify the correct clip orientation.
62+
63+
![SPI flash chips closed view]({{ site.baseurl }}/images/t430/11_spi_chips_closed_view.jpg)
64+
65+
Then, connect the clip and ch341a programmer to the "top" (4096 kb) SPI flash chip. In my set up, the red wire should be where the dot is.
66+
67+
![Flashing 4 mb chip]({{ site.baseurl }}/images/t430/12_flash_4mb_spi_chip.jpg)
68+
69+
Use flashrom to check the chip that you are connected to:
70+
71+
```shell
72+
sudo flashrom -p ch341a_spi
73+
```
74+
75+
76+
Here is my output.
77+
78+
![output top 4 mb chip]({{ site.baseurl }}/images/t430/13_ubuntu_output_4mb.jpg)
79+
80+
Find the chip and read from it twice (For me the SPI flash chip is `YYY`):
81+
82+
```shell
83+
sudo flashrom -r ~/top.bin --programmer ch341a_spi -c YYY && \
84+
sudo flashrom -v ~/top.bin --programmer ch341a_spi -c YYY
85+
```
86+
87+
If the files differ then try reconnecting your programmer to the SPI flash chip
88+
and make sure your flashrom software is up to date.
89+
90+
91+
If they are the same then write `t430-maximized-top.rom` to the SPI flash chip:
92+
93+
```shell
94+
sudo flashrom -p ch341a_spi -c YYY -w ~/heads/build/x86/t430-maximized/t430-maximized-top.rom
95+
```
96+
97+
While everything goes well you should see the blue LED on the programmer.
98+
99+
![erase/write done]({{ site.baseurl }}/images/t430/14_programmer_flashing.jpg)
100+
101+
102+
Here is a successful attempt.
103+
104+
![erase/write done]({{ site.baseurl }}/images/t430/15_successful_output_top.jpg)
105+
106+
107+
Try to read the name on the bottom SPI flash chip. Then, connect the clip and
108+
ch341a programmer to the bottom SPI flash chip.
109+
110+
![flashing bottom 8 mb chip]({{ site.baseurl }}/images/t430/16_flash_8mb_chip.jpg)
111+
112+
Use flashrom to check the chip that you are connected to:
113+
114+
```shell
115+
sudo flashrom -p ch341a_spi
116+
```
117+
118+
Here is my output.
119+
120+
![output bottom 8 mb chip]({{ site.baseurl }}/images/t430/17_ubuntu_output_8mb.jpg)
121+
122+
Find the chip and read from the chip twice (For me the SPI flash chip is `ZZZ`):
123+
124+
```shell
125+
sudo flashrom -r ~/bottom.bin --programmer ch341a_spi -c ZZZ && \
126+
sudo flashrom -v ~/bottom.bin --programmer ch341a_spi -c ZZZ
127+
```
128+
129+
The 8M bottom chip contains the ME firmware. It is neutralized in maximized version. You can flash it specifying the same chip you found under ZZZ:
130+
```shell
131+
sudo flashrom -p ch341a_spi -c ZZZ -w ~/heads/build/x86/t430-maximized/t430-maximized-bottom.rom
132+
```
133+
134+
If all goes well, you should see the keyboard LED flash, and within a second Heads will boot in its GUI.
135+
136+
Two reboots are sometimes needed after flash. Force power off by holding the power button for 10 seconds. Since the memory training data was wiped by the content of the full flashed ROM, this is normal.
137+
138+
You should then follow through with [configuring keys]({{ site.baseurl }}/Configuring-Keys/).

images/T420_SPI_chip.jpg

58.7 KB
Loading

images/t430/10_spi_flash_chips.jpg

3.08 MB
Loading
1.14 MB
Loading

images/t430/12_flash_4mb_spi_chip.jpg

1.18 MB
Loading

images/t430/13_ubuntu_output_4mb.jpg

539 KB
Loading
659 KB
Loading
757 KB
Loading

images/t430/16_flash_8mb_chip.jpg

1.45 MB
Loading

0 commit comments

Comments
 (0)