Board:lenovo/t420

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Contents

Status

The USB/eSATA hybrid port that are used for EHCI debug cannot funtion after S3 resume if CONFIG_USBDEBUG is set (seems to be the southbridge problem, occurs in older Linux systems but not in newer Linux systems, I just can't figure out why, work around: reload ehci-pci module)

Mini PCIe WWAN doesn't work

Microphone Mute button not working in Windows 10 (but seems to work under linux)

Thermal Management. Coreboot seems does not have native thermal management (dptf.asl) for t420. Under linux it's possible to use the thermald software to work around this. Under Windows 10, the Intel Dynamic Platform and Thermal Framework driver does not work (PCI\VEN_8086&DEV_0153)

System clock time does not change after sleep and wake up under Windows 10.

EC (Embedded Controller) => you do not have to touch it (just leave as is)

Building

Just run make nconfig, and select the board Lenovo T420. Other configurations include:

Size of CBFS can be set up to 3M (0x300000), if you use a stripped ME from HM65 chipset, it can be more.

You can select 'Use CMOS for configuration values'.

You can use native graphics initialization.

EHCI debug dongle support is recommended for debugging.

To obtain ME, Intel Descriptor, GbE images you will need to read the BIOS off your T420. Using ifdtool you can extract those images from the backup BIOS image.

ifdtool -x </path/to/extracted/flash.bin>

You can use UEFITool or PhoenixTool to extract the VGA BIOS from factory firmware or Lenovo firmware update images, or dump the VGA BIOS via sysfs on Linux. See Retrieve VGA BIOS page for more details.

To use VGA option ROMs, you can manually add it to CBFS using cbfstool multiple times to support more GPUs on a single board. Or make use of file aliasing from SeaBIOS:

If the payload is not SeaBIOS, coreboot also support running VGA option ROMs, and the fallback file name is pci8086,0106.rom, so you can just add it with this name.

On some T420's, a weird graphical glitch might occur using native graphics initialization. I managed to workaround through this problem by using the Option ROM initialization instead of the native way but YMMV (could the 1600x900 panel or a too new VBIOS (2119) cause issues?).

I have uploaded my build, if anyone want to try. There are 10 roms with different MAC addresses (gbe.bin) for sandybridge and another 10 for ivebridge (I tried to link vgabios, but does not work. So I build two sets). The reason for having 10 different MAC addresses is if you have several laptops plugged into the same router, you need different MAC addresses. https://www.dropbox.com/sh/mq1e2a54vv030nz/AAAgPSRYlPhuXiZiRE9qJbwQa