Board:lenovo/t430s

From coreboot
Jump to: navigation, search

Status

Intel_Native_Raminit has its own status page.

Tested (and works):

  • RAM module combinations of 4G+0, 4G+4G, 8G+0G, 8G+8G
  • S3 (Suspend to RAM)
  • WLAN on a pci-e slot
  • Linux
  • Trackpoint along with buttons
  • Touchpad along with buttons
  • Fn hotkeys
  • Screen brightness control via Fn keys
  • Video (internal LVDS, mini DP, external DPI via docking station)
  • native gfx init
  • rf_kill switch (properly kills WiFi and Bluetooth)
  • Batteries - main and bay one do work, separetely and together
  • DVD drive
  • Thermal management
  • CPU speed throttling
  • USB (all 3 ports) + ports on a docking station
  • LAN - tested with 100Mb and 1Gb switches
  • Sound (integrated speakers, integrated mic, external headphones, line out on a docking station)
  • Sound management related buttons
  • Thinklight
  • Docking station
  • IOMMU
  • VT-d

Not tested:

  • Fingerprint reader
  • Smart card reader (available in some versions of T430s, slot above hard drive)
  • Windows (might need VGA blob, should work via seabios or grub otherwise)
  • WWAN (cdc_acm recognizes 3 devices - ttyACM[0-2], so I'm guessing it works, but didn't test it)
  • SDHC card slot (linux driver loads fine and initializes this device, need some testing)
  • Express card slot (including hotplugging)
  • msata on PCI-e
  • Bluetooth (it gets initialized, device visible, but I didn't try it yet)
  • Webcam (visible on a usb bus, didn't try it)

Issues

Minor inconvenience is that coreboot exposes 6 SATA slots to the OS while only two slots are exposed on a board thus slowing down boot of linux by ~1 sec in a default configuration due to autodetection. TODO check how many drives are exposed by an original BIOS. Otherwise board works perfectly stable and issues-free.

proprietary components status

  • CPU Microcode (20kB blob) - you can either choose coreboot to update it or stick to the one built in your CPU, up to you
  • VGA option rom (optional): seabios, memtest, linux and probably many other payloads work just fine with a native gfx
  • ME (Management Engine): you do not have to touch it (just leave it where it is). Though original ME can be cut down to 96kB with a recent me_clean as of Feb 2017. This move saves space and increases security/privacy level.
  • Gbe: 8kB blob stored on a flash chip, beside about 0,5kB of actual data it's filled with 0xFF. 2 sections of data are repeated (probably backup in case flash region gets damaged)
  • EC (Embedded Controller): it's a SMSC MEC1619 chip with an independent 192kB of flash memory. You can't do much about it right now, there is no open source replacement


Flashing

Introduction

T430s comes with 1x 128Mb SPI flash chip unlike x220 or x230 which come with 2 flash chips virtually combined.

The orignal layout of lenovo's firmware:

00000000:00000fff fd
00500000:00ffffff bios
00003000:004fffff me
00001000:00002fff gbe

ME firmware area is not readable. Vendor firmware locks the flash and so you need to flash externally (unless until someone figures out a way around it).

Preparation

Getting to a flash chip on T430s requires you to completely disassemble laptop. It takes around 30 min if you're careful and do that for the first time while taking photos of placement of screws, cables etc.

All T430s I saw so far come with WSON-8 flash package, though apparently some people were more lucky and found SOIC-8 chips in their laptops. Unfortunately it's tricky to get reliable connection to a little exposed legs of WSON-8 package therefore if you found yourself having WSON-8 chip too then I suggest replacing it with a SOIC-8 version which fits perfectly in place of WSON-8. For this to happen you'll need SMD rework station with a hot air blower - regular soldering won't work as WSON-8 has soldered pin under the package. The new flash chip which you probably want to buy as an eventual replacement is W25Q128FVSG which costs less than €5. Don't throw away old WSON-8 chip, read its content first twice, compare checksums of output and store backup somewhere safe.

Hardware Flashing

You need:

  • pomona clip (for SOIC-8 package) - you can try with cheap chinese clips too
  • access to your SOIC-8 chip
  • backup of your original firmware in case something goes wrong + to extract Gbe and ME blobs (optionally VGA blob too)
  • SPI flasher (e.g. Raspberry Pi which is very fast as a SPI flasher and easily accessible).
  • prepared coreboot image - default settings for T430s do work fine

Proceed as follows:

  • Turn off your laptop, remove battery and AC adapter
  • disassemble laptop so you can access the flash chip
  • connect pomona clip with flasher on one side and on the other side with SOIC-8 flash on the mainboard
  • use flashrom tool to burn prepared flash
  • boot laptop and enjoy coreboot!