lbwww/site/docs/install/e6400.md

3.8 KiB

title x-toc-enable
Flashing the Dell Latitude E6400 true

The microcode bugfixes/mitigations added for GM45 are also applicable to this board, for users who are interested. Read that article for more information.

Libreboot still recommends that boot with CPU microcode updates, by default, for all the reasons described by Libreboot's Binary Blobs Reductions Policy but this board run reasonably well without them.

A note about GPUs

We believe the dGPU models are PM45, and therefore will require a VGA blob for initialisation. This is currently unsupported in Libreboot.

Models with iGPU (Intel graphics) are GM45, and fully supported in Libreboot with native initialisation.

Flash chip size

Use this to find out:

flashrom -p internal

We believe most/all are 4MB (32Mb) flash sizes, but larger ROM images are provided for people who wish to upgrade.

MAC address

Refer to mac_address.md.

How to flash internally (no diassembly)

You can flash Libreboot directly from the vendor (Dell) BIOS, without taking the machine apart. It can be done entirely from Linux. It will probably also work on BSD systems, but it has only been testing on Linux thus far.

Check util/e6400-flash-unlock in the lbmk.git repository, or in release archives for Libreboot releases from 20230423 onwards.

Go in there:

cd util/e6400-flash-unlock
make

With this program, you can unlock the flash in such a way where everything is writeable. Information about how to use it is in the README.md file which is included in that program's directory, or you can read it online here:

https://browse.libreboot.org/lbmk.git/plain/util/e6400-flash-unlock/README.md

Literally just run that program, and do what it says. You run it once, and shut down, and when you do, the system brings itself back up automatically. Then you run it and flash it unlocked. Then you run it again. The source code is intuitive enough that you can easily get the gist of it; it's writing some EC commands and changing some chipset config bits. The EC on this machine is hooked up to the GPIO33 signal, sometimes called HDA_DOCK_EN, which sets the flash descriptor override thus disabling any flash protection by the IFD. It also bypasses the SMM BIOS lock protection by disabling SMIs, and Dell's BIOS doesn't set any other type of protection either such as writing to Protected Range registers.

With this method, you can probably flash it within 5 minutes. Again, zero disassembly required!

How to flash externally

Refer to spi.md as a guide for external re-flashing.

The SPI flash chip shares a voltage rail with the ICH9 southbridge, which is not isolated using a diode. As a result, powering the flash chip externally causes the ICH9 to partially power up and attempt to drive the SPI clock pin low, which can interfere with programmers such as the Raspberry Pi. See RPi Drive Strength for a workaround.

Have a look online for videos showing how to disassemble, if you wish to externally re-flash.