Board:lenovo/x1 carbon gen1

From coreboot
Jump to navigation Jump to search

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!

Status

Intel_Native_Raminit has it's own status page.

Thanks for your interest in the Lenovo X1 Carbon 1st gen port. The X1 Carbon 1st gen is very similar to the Lenovo X230. See Board:lenovo/x230.

Issues

  • Powered USB 2.0 port isn't powered in power-off state.
  • S3 Suspend when resuming may cause black screen when not using a VGA option rom.
  • SeaBIOS flickers when not using a VGA option rom.
  • Bluetooth fails to load firmware. Unknown if related to coreboot.
  • Keyboard backlight (fn + spacebar) has 4 modes instead of three. Two modes do not illuminate the keyboard (should be one), the remaining two modes illuminate the keyboard with low and high brightness as expected.

Tested

  • S3 (Suspend to memory)
  • S4 (Suspend to disk)
  • USB (both 2.0 and 3.0 ports)
  • ThinkPad USB 3.0 Ethernet Adapter (Device ID 17ef:7205)
  • Video (internal)
  • Sound (integrated speakers, integrated mic, external headphones)
  • WLAN (Centrino Advanced-N 6205)
  • WLAN toggle switch
  • Linux Boot / Install (SeaBIOS)
  • SD card reader (Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 07))
  • Thermal management
  • Fingerprint reader (147e:2020 Upek TouchChip Fingerprint Coprocessor)
  • Webcam
  • Trackpoint
  • Touchpad
  • Fn hotkeys
  • Physical hotkeys (power, audio mute, mic mute, volume)
  • Nvramcui as secondary payload
  • Keyboard backlight
  • Screen backlight
  • mSATA

Untested

  • Displayport
  • External display (HDMI)
  • WWAN

proprietary components status

  • CPU Microcode
  • VGA Option ROM (optional): you need it if you want graphics in SeaBIOS but most payloads should work without it (text mode or corebootfb mode)
  • ME (Management Engine) => you do not have to touch it (just leave it where it is)
  • EC (Embedded Controller) => you do not have to touch it (just leave it where it is)

Code

{{ #if: | * [{{{review_url}}} The code has been merged into coreboot master]: | * The code has been merged into coreboot master:}}

 $ git clone https://review.coreboot.org/coreboot.git


Please have a look at Build_HOWTO. Start compiling crossgcc right now! It will take a while. You will build coreboot itself at a later time.


Preparation

Required Tools

  • External flash programmer. A CH341A flash programmer was used for this guide. You can find these for under $10.00.
  • SOIC8 clip for externally reading and flashing. This eliminates the need for any soldering. You can find these for around $12.00.
  • Secondary system with flashrom installed.

Update BIOS

It is a good idea to make sure you're on the latest firmware from Lenovo before flashing coreboot. This guide was written using the 2.75 bios.

Hardware Teardown

Proceeds as follows:

  • Turn off your laptop, remove AC adapter.
  • Detach the keyboard bezel assembly. You can keep the ribbon cable connected and pivot the keyboard assembly against the lid of the laptop.
  • Remove main battery conectoy and cmos battery connector.

It would be wise to install Linux and configure SSH before flashing coreboot to your X1 Carbon. This will allow you to troubleshoot from a running system if your display does not initialize after flashing.

Mainboard Flash Layout - MX25L3273E and MX25L6406E

The X1 Carbon 1st gen has 2 flash chips of 4M (MX25L3273E) and 8M (MX25L6406E). The flash chips are located just above the mSATA SSD. They're concatenated to one virtual flash chip of 12M which is itself subdivided in roughly in 3 parts:

  • Descriptor (12K)
  • ME firmware (5M-12K)
  • System flash (7M)

ME firmware is not readable. Vendor firmware locks the flash and so you need to flash externally until you re-flash unlocked firmware.


Lenovo Firmware Backup

Before building and flashing coreboot we need to make a copy of the existing firmware.

Hardware Flashing

Internal Flashing