2021-05-18 12:21:48 +00:00
|
|
|
---
|
|
|
|
title: Flashing the ThinkPad R400
|
|
|
|
x-toc-enable: true
|
|
|
|
...
|
|
|
|
|
2023-04-21 01:09:40 +00:00
|
|
|
**If you haven't bought an R400 yet: the [Dell Latitude
|
|
|
|
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
|
|
|
|
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
|
|
|
|
same hardware generation (GM45), with same CPUs, video processor, etc.**
|
|
|
|
|
2021-05-18 12:21:48 +00:00
|
|
|
Initial flashing instructions for R400.
|
|
|
|
|
2022-11-14 02:31:12 +00:00
|
|
|
This guide is for those who want libreboot on their ThinkPad R400 while
|
2021-05-18 12:21:48 +00:00
|
|
|
they still have the original Lenovo BIOS present. This guide can also be
|
|
|
|
followed (adapted) if you brick your R400, to know how to recover.
|
|
|
|
|
2022-11-14 02:31:12 +00:00
|
|
|
Before following this section, please make sure to setup your libreboot
|
2021-05-18 12:21:48 +00:00
|
|
|
ROM properly first. Although ROM images are provided pre-built in
|
2022-11-14 02:31:12 +00:00
|
|
|
libreboot, there are some modifications that you need to make to the one
|
2021-05-18 12:21:48 +00:00
|
|
|
you chose before flashing. (instructions referenced later in this guide)
|
|
|
|
|
|
|
|
Serial port {#serial_port}
|
|
|
|
-----------
|
|
|
|
|
|
|
|
EHCI debug might not be needed. It has been reported that the docking
|
|
|
|
station for this laptop has a serial port, so it might be possible to
|
|
|
|
use that instead.
|
|
|
|
|
|
|
|
A note about CPUs
|
|
|
|
=================
|
|
|
|
|
|
|
|
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:R400) has a list of
|
|
|
|
CPUs for this system. The Core 2 Duo P8400 and P8600 are believed to
|
2022-11-14 02:31:12 +00:00
|
|
|
work in libreboot. The Core 2 Duo T9600 was confirmed to work, so the
|
2021-05-18 12:21:48 +00:00
|
|
|
T9400 probably also works. *The Core 2 Duo T5870/5670 and Celeron M
|
|
|
|
575/585 are untested!*
|
|
|
|
|
|
|
|
Quad-core CPUs
|
|
|
|
--------------
|
|
|
|
|
|
|
|
Incompatible. Do not use.
|
|
|
|
|
|
|
|
A note about GPUs
|
|
|
|
=================
|
|
|
|
|
|
|
|
Some models have an Intel GPU, while others have both an ATI and an
|
|
|
|
Intel GPU; this is referred to as "Dual Graphics" (previously
|
|
|
|
"switchable graphics"). In the *BIOS setup* program for lenovobios,
|
|
|
|
you can specify that the system will use one or the other (but not
|
|
|
|
both).
|
|
|
|
|
2022-11-14 02:31:12 +00:00
|
|
|
libreboot is known to work on systems with only the Intel GPU, using
|
2021-05-18 12:21:48 +00:00
|
|
|
native graphics initialization. On systems with switchable graphics, the
|
|
|
|
Intel GPU is used and the ATI GPU is disabled, so native graphics
|
|
|
|
initialization works all the same.
|
|
|
|
|
|
|
|
CPU paste required
|
|
|
|
==================
|
|
|
|
|
|
|
|
See [\#paste](#paste).
|
|
|
|
|
|
|
|
Flash chip size {#flashchips}
|
|
|
|
===============
|
|
|
|
|
|
|
|
Use this to find out:
|
|
|
|
|
2024-01-27 22:35:38 +00:00
|
|
|
flashprog -p internal
|
|
|
|
|
|
|
|
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
|
|
|
now, as of 27 January 2024, which is a fork of flashrom.
|
2021-05-18 12:21:48 +00:00
|
|
|
|
|
|
|
MAC address {#macaddress}
|
|
|
|
===========
|
|
|
|
|
|
|
|
Refer to [mac\_address.md](../hardware/mac_address.md).
|
|
|
|
|
|
|
|
External flashing
|
|
|
|
=================
|
|
|
|
|
|
|
|
Refer to [spi.md](spi.md) as a guide for external re-flashing.
|
|
|
|
|
|
|
|
Disassembly
|
|
|
|
-----------
|
|
|
|
|
|
|
|
Remove all screws:\
|
|
|
|
![](https://av.libreboot.org/r400/0000.jpg)\
|
|
|
|
Remove the HDD and optical drive:\
|
|
|
|
![](https://av.libreboot.org/r400/0001.jpg)\
|
|
|
|
Remove the hinge screws:\
|
|
|
|
![](https://av.libreboot.org/r400/0002.jpg) ![](https://av.libreboot.org/r400/0003.jpg)
|
|
|
|
|
|
|
|
Remove the palm rest and keyboard:\
|
|
|
|
![](https://av.libreboot.org/r400/0004.jpg) ![](https://av.libreboot.org/r400/0005.jpg)
|
|
|
|
|
|
|
|
Remove these screws, and then remove the bezel:\
|
|
|
|
![](https://av.libreboot.org/r400/0006.jpg) ![](https://av.libreboot.org/r400/0007.jpg)
|
|
|
|
|
|
|
|
Remove the speaker screws, but don't remove the speakers yet (just set
|
|
|
|
them loose):\
|
|
|
|
![](https://av.libreboot.org/r400/0008.jpg) ![](https://av.libreboot.org/r400/0009.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0010.jpg)
|
|
|
|
|
|
|
|
Remove these screws, and then remove the metal plate:\
|
|
|
|
![](https://av.libreboot.org/r400/0011.jpg) ![](https://av.libreboot.org/r400/0012.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0013.jpg)
|
|
|
|
|
|
|
|
Remove the antennas from the wifi card, and then start unrouting them:\
|
|
|
|
![](https://av.libreboot.org/r400/0014.jpg) ![](https://av.libreboot.org/r400/0015.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0016.jpg) ![](https://av.libreboot.org/r400/0017.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0018.jpg) ![](https://av.libreboot.org/r400/0019.jpg)
|
|
|
|
|
|
|
|
Disconnect the LCD cable from the motherboard:\
|
|
|
|
![](https://av.libreboot.org/r400/0020.jpg) ![](https://av.libreboot.org/r400/0021.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0022.jpg) ![](https://av.libreboot.org/r400/0023.jpg)
|
|
|
|
|
|
|
|
Remove the hinge screws, and then remove the LCD panel:\
|
|
|
|
![](https://av.libreboot.org/r400/0024.jpg) ![](https://av.libreboot.org/r400/0025.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0026.jpg) ![](https://av.libreboot.org/r400/0027.jpg)
|
|
|
|
|
|
|
|
Remove this:\
|
|
|
|
![](https://av.libreboot.org/r400/0028.jpg) ![](https://av.libreboot.org/r400/0029.jpg)
|
|
|
|
|
|
|
|
Remove this long cable (there are 3 connections):\
|
|
|
|
![](https://av.libreboot.org/r400/0030.jpg) ![](https://av.libreboot.org/r400/0031.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0032.jpg) ![](https://av.libreboot.org/r400/0033.jpg)
|
|
|
|
|
|
|
|
Disconnect the speaker cable, and remove the speakers:\
|
|
|
|
![](https://av.libreboot.org/r400/0034.jpg)
|
|
|
|
|
|
|
|
Remove the heatsink screws, remove the fan and then remove the
|
|
|
|
heatsink/fan:\
|
|
|
|
![](https://av.libreboot.org/r400/0035.jpg) ![](https://av.libreboot.org/r400/0036.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0037.jpg) ![](https://av.libreboot.org/r400/0038.jpg)
|
|
|
|
|
|
|
|
Remove the NVRAM battery:\
|
|
|
|
![](https://av.libreboot.org/r400/0039.jpg) ![](https://av.libreboot.org/r400/0040.jpg)
|
|
|
|
|
|
|
|
Remove this screw:\
|
|
|
|
![](https://av.libreboot.org/r400/0041.jpg) ![](https://av.libreboot.org/r400/0042.jpg)
|
|
|
|
|
|
|
|
Disconnect the AC jack:\
|
|
|
|
![](https://av.libreboot.org/r400/0043.jpg) ![](https://av.libreboot.org/r400/0044.jpg)
|
|
|
|
|
|
|
|
Remove this screw and then remove what is under it:\
|
|
|
|
![](https://av.libreboot.org/r400/0045.jpg)
|
|
|
|
|
|
|
|
Remove this:\
|
|
|
|
![](https://av.libreboot.org/r400/0046.jpg)
|
|
|
|
|
|
|
|
Lift the motherboard (which is still inside the cage) from the side on
|
|
|
|
the right, removing it completely:\
|
|
|
|
![](https://av.libreboot.org/r400/0047.jpg) ![](https://av.libreboot.org/r400/0048.jpg)
|
|
|
|
|
|
|
|
Remove all screws, marking each hole so that you know where to re-insert
|
|
|
|
them. You should place the screws in a layout corresponding to the order
|
|
|
|
that they were in before removal: ![](https://av.libreboot.org/r400/0049.jpg)
|
|
|
|
![](https://av.libreboot.org/r400/0050.jpg)
|
|
|
|
|
|
|
|
Remove the motherboard from the cage, and the SPI flash chip will be
|
|
|
|
next to the memory slots:\
|
|
|
|
![](https://av.libreboot.org/r400/0051.jpg) ![](https://av.libreboot.org/r400/0052.jpg)
|
|
|
|
|
2022-11-14 02:31:12 +00:00
|
|
|
Now, you should be ready to install libreboot.
|
2021-05-18 12:21:48 +00:00
|
|
|
|
|
|
|
Read [this article](spi.md) to learn how you may flash the chip, which is near
|
|
|
|
to the RAM.
|
|
|
|
|
|
|
|
Thermal paste (IMPORTANT)
|
|
|
|
=========================
|
|
|
|
|
|
|
|
Because part of this procedure involved removing the heatsink, you will
|
|
|
|
need to apply new paste. Arctic MX-4 is ok. You will also need isopropyl
|
|
|
|
alcohol and an anti-static cloth to clean with.
|
|
|
|
|
|
|
|
When re-installing the heatsink, you must first clean off all old paste
|
|
|
|
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
|
|
|
|
better than the default paste used on these systems.
|
|
|
|
|
|
|
|
![](https://av.libreboot.org/t400/paste.jpg)
|
|
|
|
|
|
|
|
NOTE: the photo above is for illustration purposes only, and does not
|
|
|
|
show how to properly apply the thermal paste. Other guides online detail
|
|
|
|
the proper application procedure.
|
|
|
|
|
|
|
|
Memory
|
|
|
|
======
|
|
|
|
|
|
|
|
In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks
|
|
|
|
that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500).
|
|
|
|
Non-matching pairs may not work. Single module (meaning, one of the slots
|
|
|
|
will be empty) will currently only work in slot 0.
|
|
|
|
|
|
|
|
NOTE: according to users reports, non matching pairs (e.g. 1+2 GiB) might
|
|
|
|
work in some cases.
|
|
|
|
|
|
|
|
Make sure that the RAM you buy is the 2Rx8 configuration when buying 4GiB sticks
|
|
|
|
(In other words: maximum of 2GiB per rank, 2 ranks per card).
|
|
|
|
|
|
|
|
[This page](http://www.forum.thinkpads.com/viewtopic.php?p=760721) might
|
|
|
|
be useful for RAM compatibility info (note: coreboot raminit is
|
|
|
|
different, so this page might be BS)
|
|
|
|
|
|
|
|
The following photo shows 8GiB (2x4GiB) of RAM installed:\
|
|
|
|
![](https://av.libreboot.org/t400/memory.jpg)
|
|
|
|
|
|
|
|
Boot it!
|
|
|
|
--------
|
|
|
|
|
|
|
|
You should see something like this:
|
|
|
|
|
|
|
|
![](https://av.libreboot.org/t400/boot0.jpg) ![](https://av.libreboot.org/t400/boot1.jpg)
|
|
|
|
|
2023-04-09 21:57:42 +00:00
|
|
|
Now [install Linux](../linux/).
|