You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It has never been so easy to access and flash the BIOS chip on a Tseries machine. It is a straightforward process and takes approximately 10 minutes.
15
+
Accessing and flashing the BIOS chip on a T-series machine has never been easier. The process is straightforward and takes approximately 10 minutes.
16
16
17
-
The ThinkPad T480 has two SPI flash chips important for the port. First chip holds the BIOS, ME, etc. Second holds the Thunderbolt firmware. To access these chips, you only need to remove the back panel. For whole procedure you will need: a screwdriver, an assembled raspberry pi pico or ch341a SPI programmer 3.3V (3.3V is important!) (e.g. [Modified ch341a SPI programmer](https://novacustom.com/product/modded-ch341a-bios-firmware-programmer-3v/) by Novacustom) and an other laptop/PC with Ubuntu installed. Other linux based OS (in this example Qubes OS, fedora-41-xfce) should be fine too.
18
-
It is still debated which programmer should be used and which software (flashprog vs flashrom).
19
-
Before you follow the guide make sure you read the [README.md](https://github.com/linuxboot/heads/tree/master/blobs/xx80/README.md) and following information. Some T480 on used marked are affected by an intel bug in the Thunderbolt firmware. In short, the flash chip gets full, so the Thunderbolt fast charging stops working, but slow charging still works. It can affect the usb-c port too. You may want to resolve the problem before flashing Heads using [Lenovo guide ](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t480-type-20l5-20l6/solutions/ht508988-critical-intel-thunderbolt-software-and-firmware-updates-thinkpad) or [libreboot guide](https://libreboot.org/docs/install/t480.html#thunderbolt-issue-read-this-before-flashing).
20
-
Please note, at the moment (Feb 2025) the Thunderbolt data transfer is not supported upstream by coreboot. However, the video output through the Thunderbolt and charging works. So, only the usb-c charging port can be used for the data transfer. Heads provides fixed and padded Thunderbolt firmware for your convenience that will only fix "charging problem" if the bug affected your laptop. The flashing steps are based on libreboot strategy and described in the second part of the guide. Board testers did not have the problem. It is unlikely that you get it if your laptop was in use longer than 12 months before. If you get "charging bug" it is possible to fix with external flashing. However, please note that this neither was tested after Heads installation nor the bug appeared after extensive Heads testing of the board.
17
+
The ThinkPad T480 has two SPI flash chips important for the port. The first chip holds the BIOS, ME, etc., while the second holds the Thunderbolt firmware. To access these chips, you only need to remove the back panel, which is secured by six screws.
18
+
19
+
For whole procedure you will need:
20
+
- A Phillips screwdriver +1 (PH1), which is standard for most laptop screws.
21
+
- An assembled Raspberry Pi or CH341A SPI programmer. You should use a CH341A revision 1.6 or later (e.g., 1.6, 1.7, etc.) because these versions have a properly implemented and enforced voltage regulator, ensuring stable 3.3V operation (3.3V is important!) (e.g. [Modified CH341A SPI programmer](https://novacustom.com/product/modded-ch341a-bios-firmware-programmer-3v/) by Novacustom) or [open-source Tigard tool](https://github.com/tigard-tools/tigard). Using Raspberry Pi pico is described in the [Libreboot flash guide](https://libreboot.org/docs/install/spi.html).
22
+
- Other laptop/PC with a Linux-based OS installed.
23
+
- Optional: A plastic guitar pick or an old credit card to help detach the bottom case from the clips holding it in place. Otherwise, it can be difficult to remove, increasing the risk of breaking the tabs or the top part of the bottom case above the battery connector.
24
+
25
+
There is still debate over which programmer and software should be used (flashprog vs. flashrom). Before following this guide, make sure you read [README.md](https://github.com/linuxboot/heads/tree/master/blobs/xx80/README.md) and the related information.
26
+
27
+
Some ThinkPad T480 units on the used market are affected by an Intel bug in the Thunderbolt firmware. In short, the flash chip becomes full, causing Thunderbolt fast charging to stop working, though slow charging still functions. This issue can also affect the USB-C port. For convenience, Heads provides a fixed and padded Thunderbolt firmware that resolves the "charging problem" if your laptop is affected. Board testers did not encounter this issue, and it is unlikely to occur if your laptop was in use for more than 12 months before flashing. If you do experience the "charging bug," it is possible to fix it with external flashing. Also the update is possible prior flashing heads using [fwupd from a Linux distribution](https://www.reddit.com/r/thinkpad/comments/12tf6xv/psa_t480_thunderbolt_controller_v23_is_now_on/?rdt=44850)
28
+
29
+
Please note that as of March 2025, Thunderbolt data transfer is not supported upstream by [coreboot](https://review.coreboot.org/c/coreboot/+/83274). However, video output through Thunderbolt and charging still work. This means only the USB-C charging port can be used for data transfer.
21
30
22
31
## Flashing Heads
23
32
24
-
First remove the battery and the cable powering your device. Removing these screws will allow you to remove the back panel. Using a guitar pick or an old credit card may be helpful for removing the panel.
33
+
First, remove the battery and disconnect the power cable from your device. Removing the screws will allow you to remove the back panel. A guitar pick or an old credit card can be helpful for detaching the panel.
The back panel and the battery are removed. Important, detach the internal battery and CMOS. Arrows point to the direction you should pull the connectors. Pull the plastic part and not the wires, since they are thin and can be damaged.
37
+
The back panel and the battery are removed. Important, ensure that all batteries, including the CMOS battery, are disconnected. Arrows indicate the direction you should pull the connectors. Pull the plastic part, not the wires, as the wires are thin and can be damaged.
Top right chip corresponds to the Thunderbolt SPI flash chip (1 mb). Chip located in the middle of the board corresponds to the BIOS (16 mb) chip, respectively.
41
+
The top-right chip corresponds to the Thunderbolt SPI flash chip (1 MB). The chip located in the middle of the board corresponds to the BIOS (16 MB) chip, respectively.
33
42
34
43
The chip located in the middle of the board contains the [Intel Management Engine (ME)](https://www.flashrom.org/ME) firmware.
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 board rom for this board and verify its hash value.
39
48
40
-
41
49
Try to read the name of the SPI flash chip. The dot on the chip helps to identify the correct clip orientation.
First, connect the clip of the ch341a programmer to the chip. Next, connect the programmer to the usb port of your other Linux-based computer with flashrom installed. In my set up, the red wire should be where the dot is (dot indicates pin 1). Here, please see flashing guide for the t430. Using raspberry pi pico is nicely described in the libreboot guide [Libreboot flash ](https://libreboot.org/docs/install/spi.html).
53
+
First, connect the clip of the CH341A programmer to the chip. Next, connect the programmer to the USB port of your other Linux-based computer with flashrom installed. In my setup, the red wire should be where the dot is (the dot indicates pin 1). Here, please also see the flashing guide for the T430.
46
54
47
-
Use flashrom to check the chip that you are connected to:
55
+
Use flashrom to check the chip you are connected to:
If the files differ then try reconnecting your programmer to the SPI flash chip and make sure your flashrom software is up to date.
95
+
Alternative compairson is bit-by-bit. If the files are the same, there should be no output of this command. Otherwise, you will see a bit-by-bit difference between the files.
If the files differ or the chip content does not match the dump, try reconnecting your programmer to the SPI flash chip and make sure your flashrom/flashprog software is up to date.
84
102
85
-
If they are the same then write `T480-hotp-maximized.rom` to the SPI flash chip:
103
+
104
+
If they are the same, then write `T480-hotp-maximized.rom` to the SPI flash chip:
If all goes well you can connect the battery, press the power button and you should see the keyboard LED flash, and after that Heads will boot in its GUI.
113
+
If all goes, well you can connect the battery, press the power button and you should see the keyboard LED flash. After that, Heads will boot into its GUI.
95
114
96
-
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.
115
+
Two reboots are sometimes needed after flashing. Force a power off by holding the power button for 10 seconds. Since the memory training data was wiped by the content of the fully flashed ROM, this is normal.
97
116
98
117
You should then follow through with [configuring keys]({{ site.baseurl }}/Configuring-Keys/).
99
118
100
119
## Flash Thundebolt firmware
101
-
This guide was adopted from libreboot. The original instructions were provided by [Adam McNutt](https://gitlab.com/MobileAZN/lenovo-t480-thunderbolt-firmware-fixes).
102
-
Ensure that the batteries and CMOS are not connected.
103
-
After connecting the clip to the Thunderbolt chip (the figure is shown above) read from the chip, making sure the connection is stable.
120
+
Important, ensure that power supply and all batteries, including the CMOS battery, are disconnected. After connecting the clip to the Thunderbolt chip as shown in the figure above read from the chip, making sure the connection is stable. The procedure is similar to the flashing Heads on the SPI chip. Therefore, comments are skipped.
104
121
105
122
```shell
106
123
sudo flashrom -r ~/t480_original_tb.bin --programmer ch341a_spi - c YYY
Flash the padded Thunderbolt firmware. The firwmare is located in the blobs folder after you build the Heads locally, or in the CircleCI artificats. Alternatively, it can be taken from libreboot.
142
+
143
+
Flash the padded Thunderbolt firmware. The firmware file tb.bin is located in the blobs folder after you build the Heads locally, or in the CircleCI artifacts.
0 commit comments