unified dell latitude instructions

90% of the info on the old pages was fluff, copied and pasted
to all the other pages.

replace them all with a single page. i've already directed the
old pages to the new one, in libreboot.org's httpd

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-08-29 23:54:48 +01:00
parent 1e1d083c44
commit c0ac65ecb8
16 changed files with 24 additions and 347 deletions

View File

@ -1,121 +0,0 @@
---
title: Dell Latitude E6400
x-toc-enable: true
...
**Thermal safety**: this machine shuts down very quickly, when the machine
exceeds 80c CPU temperature, which is far more conservative than on most
laptops (non-Dell ones), so you should make sure that your thermals are
excellent. More info available [here](dell_thermal.md). This is a known bug,
but otherwise the machine will be mostly stable.
<div class="specs">
<center>
<img tabindex=1 alt="Dell Latitude E6400" class="p" src="https://av.canoeboot.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://av.canoeboot.org/e6400/e6400-seabios.jpg" /></span> <img tabindex=1 alt="Dell Latitude E6400 XFR" class="p" style="max-width:24em" src="https://av.canoeboot.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://av.canoeboot.org/e6400/e6400xfr-seabios.jpg" /></span>
</center>
| ***Specifications*** | |
|----------------------------|------------------------------------------------|
| **Manufacturer** | Dell |
| **Name** | Latitude E6400 |
| **Variants** | E6400, E6400 XFR and E6400 ATG are supported |
| **Released** | 2009 |
| **Chipset** | Intel Cantiga GM45(Intel GPU)/PM45(Nvidia GPU) |
| **CPU** | Intel Core 2 Duo (Penryn family). |
| **Graphics** | Intel GMA 4500MHD (and NVidia Quadro NVS 160M
on some models) |
| **Display** | 1280x800/1440x900 TFT |
| **Memory** | 2 or 4GB (Upgradable to 8GB) |
| **Architecture** | x86_64 |
| **EC** | SMSC MEC5035 with proprietary firmware |
| **Original boot firmware** | Dell BIOS |
| **Intel ME/AMD PSP** | Present. Can be completely disabled. |
| **Flash chip** | SOIC-8 4MiB or 2MiB+4MiB |
```
W+: Works;
N: Doesn't work;
U: Untested;
P+: Partially works;
```
| ***Features*** | |
|---------------------------------------------------|----|
| **Internal flashing with original boot firmware** | W+ |
| **Display (if Intel GPU)** | W+ |
| **Audio** | W+ |
| **RAM Init** | W+ |
| **External output** | W+ |
| **Display brightness** | P+ |
| ***Payloads supported*** | |
|---------------------------|-----------|
| **GRUB** | Works |
| **SeaBIOS** | Works |
| **SeaBIOS with GRUB** | Works |
</div>
Introduction
============
Known supported variants: E6400, E6400 XFR and E6400 ATG. Only the *Intel*
graphics models are supported; the ones with Nvidia graphics are not compatible
with Canoeboot.
**To install Canoeboot, see: [E6400 installation
instructions](../install/e6400.md)**
ROM images for Dell Latitude E6400 are available for flashing in the Canoeboot
release 20230423 onwards, or you can compile a ROM image for installation via
cbmk, see: [build instructions](../build/)
There are two possible flash chip sizes for the E6400: 4MiB (32Mbit) or 2+4MiB
(16Mbit+32MBit). Canoeboot presently supports the 4MiB version, and provides
8MiB images for those who upgrade their flash to 8MiB or 16MiB. There appears
to be several possible mainboard PCBs for the E6400, which we believe mostly
affects the GPU configuration and the number of available SPI flash footprints:
- LA-3801P: iGPU, possibly dual SPI (however only one may be populated)
- LA-3803P: dGPU, dual SPI (however only one may be populated)
- LA-3805P: iGPU, single SPI flash (4MiB)
- LA-3806P: dGPU, unknown SPI configuration (likely at least 4MiB)
NOTE: dGPU variants are not supported in Canoeboot. Those are the ones with
Nvidia graphics. Canoeboot *only* supports the model with Intel graphics.
These PCB numbers can be found either under the black plastic in the RAM slots
on the bottom (CPU side) of the board, the top left corner near the VGA port
(top side, under the keyboard and palmrest), or near the CPU backplate (only
requires removal of the keyboard).
We believe that all boards will have at least a single 4MiB flash chip,
regardless of the number of SPI footprints. This is likely the most common
configuration on most available systems. The 2+4MiB configuration likely
would have only been used on systems with full Intel ME firmware with AMT
functionality, though this configuration has not yet been encountered.
Most people will want to use the 4MiB images.
Intel GPU: 100% Free Software is possible
---------------
This is a GM45/PM45 platform, so completely libre initialisation in
coreboot is possible, provided by default in Canoeboot.
Management Engine (ME) firmware removed
-------------------------
This port in Canoeboot made use of `ich9gen` from ich9utils, which
you can read about in the [ich9utils manual](../install/ich9utils.md) - this
creates a no-ME setup. The Intel Management Engine firmware (ME) is completely
removed, and the ME disabled, just like on ThinkPad X200, T400 and so on.
*The E6400 laptops may come with the ME (and sometimes AMT in addition) before
flashing canoeboot. Dell also sold configurations with the ME completely
disabled, identifiable by a yellow sticker reading "3 ME Disabled" inside the
bottom panel. This config sets the MeDisable bit in the IFD and sets the ME
region almost entirely to 1's, with the occasional 32-bit value (likely not
executable). Canoeboot disables and removes it by using a modified descriptor:
see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)

View File

@ -34,32 +34,16 @@ Canoeboot currently supports the following systems:
- [Intel D945GCLF](d945gclf.md)
- Dell OptiPlex 780 USFF and MT variants (no install guide yet)
NOTE: To flash the 780 OptiPlex, just short the service mode jumper at boot.
Then flash one of the `_truncate` release images, region-by-region, in this
order:
flashprog -p internal --ifd -i fd canoeboot.rom
flashprog -p internal --ifd -i gbe canoeboot.rom
flashprog -p internal --ifd -i bios canoeboot.rom
You *must* use the `_truncate` images on first install, because these target
only the first 6MB of the flash, which is accessible. After you have it flashed,
you can re-flash the full image which makes use of all of the flash.
The `_truncate` image must be padded. Just do this:
dd if=/dev/zero of=2mb.bin bs=2M count=1
cat canoeboot_6mb.rom 2mb.bin > canoeboot.rom
External flashing is also possible, if you wish.
### Laptops (Intel, x86)
- **[Dell Latitute E6400, E6400 XFR and E6400 ATG, with Intel
GPU](e6400.md) (easy to flash, no disassembly, similar
hardware to X200/T400)**
- ThinkPad X60 / X60S / X60 Tablet
- ThinkPad T60 (with Intel GPU)
- [Apple MacBook1,1 and MacBook2,1](macbook21.md)
- [Dell Latitude E6400, E6400 XFR and E6400 ATG](../install/latitude.md)
- [Lenovo ThinkPad R400](r400.md)
- [Lenovo ThinkPad R500](r500.md)
- [Lenovo ThinkPad T400 / T400S](t400.md)
- [Lenovo ThinkPad T500](t500.md)
- Lenovo ThinkPad T60 (with Intel GPU)
- [Lenovo ThinkPad W500](t500.md)
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](x200.md)
- Lenovo ThinkPad X301
- [Lenovo ThinkPad R400](r400.md)

View File

@ -29,11 +29,12 @@ x-toc-enable: true
- [Gigabyte GA-G41M-ES2L 主板](ga-g41m-es2l.md)
- [Intel D510MO 及 D410PT 主板](d510mo.md)
- [Intel D945GCLF](d945gclf.md)
- Dell OptiPlex 780 USFF and MT variants (no install guide yet)
### 笔记本Intelx86
- [Apple MacBook1,1 及 MacBook2,1](macbook21.md)
- [Dell Latitude E6400, E6400 XFR 及 E6400 ATG,皆支持 Nvidia 或 Intel GPU](e6400.md) **(刷入简单,无需拆解,硬件类似 X200/T400**
- [Dell Latitude E6400, E6400 XFR 及 E6400 ATG](../install/latitude.md)
- [Lenovo ThinkPad R400](r400.md)
- [Lenovo ThinkPad R500](r500.md)
- [Lenovo ThinkPad T400 / T400S](t400.md)

View File

@ -53,7 +53,7 @@ Dell Latitude E6400
===================
**If you haven't bought an R400 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](../install/latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -52,7 +52,7 @@ Dell Latitude E6400
===================
**If you haven't bought an R500 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](../install/latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -52,7 +52,7 @@ Dell Latitude E6400
===================
**If you haven't bought an T400 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](../install/latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -52,7 +52,7 @@ Dell Latitude E6400
===================
**If you haven't bought an T500 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](../install/latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -50,7 +50,7 @@ Dell Latitude E6400
===================
**If you haven't bought an X200 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](../install/latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -1,77 +0,0 @@
---
title: Internally flash Dell Latitude laptops
x-toc-enable: true
...
Make sure SecureBoot is disabled, if you're running a UEFI-based Latitude.
Other steps also required, described on this page and in the `README.md`
file included with `dell-flash-unlock`.
Disable security before flashing
================================
Before internal flashing, you must first disable `/dev/mem` protections. Make
sure to re-enable them after you're finished.
See: [Disabling /dev/mem protection](devmem.md)
Internal flashing
=================
You can simply boot GNU+Linux or BSD, on the Dell Latitude you wish to flash, and
run `flashprog` from there, for Canoeboot installation. Certain other steps
are also required, documented in the steps below:
You can flash Canoeboot directly from the vendor (Dell) BIOS, without taking
the machine apart. It can be done entirely from GNU+Linux or BSD.
**NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it
was previously called `e6400-flash-unlock`. Links have been updated.**
Check `util/dell-flash-unlock` in the `cbmk.git` repository, or in releases.
Go in there:
cd util/dell-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/dell-flash-unlock/README.md>**
**Please make sure that you do fully read the README, because it contains
useful information.**
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; on some
systems, you have to boot the machine back up manually, after power down. 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.
MAKE SURE to back up the original firmware image first:
flashprog -p internal -r factory.rom
When you flash it, you can use this command:
flashprog -p internal -w canoeboot.rom
Where `canoeboot.rom` is your Dell Latitude ROM. *Make sure* it's the right
one. If flashprog complains about multiple flash chips detected, just pick one of them (doesn't matter which one). On *most* Dell machines, the most correct
would probably be this option in flashprog: `-c MX25L3205D/MX25L3208D`.
So:
flashprog -p internal -w canoeboot.rom -c MX25L3205D/MX25L3208D
When you see flashprog say `VERIFIED` at the end, that means the flash was
successful. If you don't see that, or you're unsure, please [contact the
Canoeboot project via IRC](../../contact.md).

View File

@ -1,110 +0,0 @@
---
title: Flashing the Dell Latitude E6400
x-toc-enable: true
...
Introduction
============
Initial flashing instructions for the E6400. DO NOT flash the Nvidia GPU
variant. This page pertains only to the Intel GPU variant.
This guide is for those who want Canoeboot on their Latitude E6400 while
they still have the original Dell BIOS present. This guide can also be
followed (adapted) if you brick your E6400, and you want to recover it.
This board can boot entirely blob-free in the flash. The hardware is similar
to that of ThinkPad X200, T400 etc where no-ME setup is possible.
A note about GPUs
-----------------
Models with Intel graphics are GM45, and fully supported in Canoeboot
with native initialisation; ROM images are available since.
**The Intel video initialisation is libre, implemented with publicly available
source code via libgfxinit, from the coreboot project.**
Flash chip size {#flashchips}
===============
Use this to find out:
flashprog -p internal
We believe most/all are 4MB (32Mb) flash sizes. The schematics hint that
some boards may have 6MB flash (4MB and 2MB, dual chip), but we've only ever
seen 4MB setups in the wild. You can still flash the 4MB image on 6MB setups,
if it's encountered, by just leaving the higher 2MB part unflashed, because
the flash descriptor (in Libreboot) configures everything so that the BIOS
region ends just before the 4MB mark, in flash; the BIOS region is the final
region, in the higher part of flash as defined *by the descriptor*, regardless
of whether that is the actual end of the flash.
Libreboot does currently provide 6MB images on this board, for these reasons.
MAC address {#macaddress}
===========
The MAC address is part of the ROM image that you're flashing. You can change
it at any time, before or after you've flashed Canoeboot; you can also change
it in the *Dell* BIOS, if you really want to. This is for the onboard gigabit
ethernet device.
Refer to [mac\_address.md](../hardware/mac_address.md).
It is recommended that you run *nvmutil*. See:
[nvmutil usage manual](nvmutil.md)
The `nvmutil` software is specifically designed for changing MAC addresses,
and it implements a few more safeguards (e.g. prevents multicast/all-zero
MAC addresses) and features (MAC address randomisation, ability to correct or
intententionally corrupt(disable) GbE sections if you wish, swap GbE parts,
etc). You can *also* run ich9gen, if you wish:
[ich9gen usage manual](ich9utils.md)
Intel GPU: libre video initialisation available
===============================================
Canoeboot uses coreboot's native `libgfxinit` on this platform, for
variants with Intel graphics.
Intel GPU errata
----------------
Systems with a 1440 x 900 display panel instead of the more common 1280 x 800
panel will have garbled graphics before the OS boots (i.e. in SeaBIOS or GRUB)
in Libreboot 20240504 and earlier. This is fixed in releases after 20240504.
This was caused by libgfxinit calculating PLL divider values for the pixel clock
assuming a 96 MHz reference frequency, whereas the E6400 uses a 100 MHz
reference frequency. The error is not large enough to affect the lower
resolution panels, but is enough to affect the 1440 x 900 panels which use a
higher pixel clock.
How to flash internally (no diassembly)
=======================================
Please read the article:
[Internally flash Dell Latitude laptops](dell_internal.md)
Dell's original BIOS/UEFI firmware typically prevents write access, but it
has bugs which can be exploited, to enable Libreboot installation very easily.
You do not have to disassemble the machine.
How to flash externally
=========================
Refer to [spi.md](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](spi.md#rpi-drive-strength) for a workaround.
Have a look online for videos showing how to disassemble, if you wish to
externally re-flash.

View File

@ -242,9 +242,9 @@ the sections below:
[You must flash it externally](spi.md)
#### DELL Latitute E6400 laptop (easy to flash, similar to X200/T400)
#### DELL Latitude laptops
See: [Dell Latitute E6400 Canoeboot Installation Guide](e6400.md)
See: [Dell Latitude flashing guide](latitude.md)
#### ThinkPad X200/T400/T500/W500/R400/R500 vendor BIOS
@ -487,10 +487,10 @@ How to use external flashing equipment
Refer to the following article:\
[Externally rewrite 25xx NOR flash via SPI protocol](spi.md)
DELL Latitude E6400 laptop (easy to flash, similar to X200/T400)
DELL Latitude laptops
-------------------------
See: [Dell Latitute E6400 Canoeboot Installation Instructions](e6400.md)
See: [Dell Latitude flashing guide](latitude.md)
ASUS KFSN4-DRE
--------------

View File

@ -4,7 +4,7 @@ x-toc-enable: true
...
**If you haven't bought an R400 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -10,7 +10,7 @@ Dell Latitude E6400
===================
**If you haven't bought an T400 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -7,7 +7,7 @@ NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog
now, as of 3 May 2024, which is a fork of flashrom.
**If you haven't bought a T500 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -7,7 +7,7 @@ NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog
now, as of 3 May 2024, which is a fork of flashrom.
**If you haven't bought an X200 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**

View File

@ -7,7 +7,7 @@ NOTE: Canoeboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog
now, as of 3 May 2024, which is a fork of flashrom.
**If you haven't bought an X200 yet: the [Dell Latitude
E6400](e6400.md) is much easier to flash; no disassembly required,
E6400](latitude.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to Canoeboot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**