Upgrade

ISO method

Overview

Note

This requires PureBoot version 18.1 or greater.

To upgrade your EC using the ISO method, you will need your Librem 14 charging and a USB drive you can completely erase:

See also

Procedure

  1. Download the ISO named Librem_14_EC_Update.iso from here.

  2. Follow the steps in the PureOS installation media guide but use the previously downloaded Librem EC update ISO instead of the suggested PureOS image.

  3. Reboot and follow the PureOS boot steps to boot into the USB media.

  4. Once fully booted, enter:

./flash_ec.sh
Librem EC update

Hardware method

Overview

Keeping your Librem 14 EC firmware updated is simple with the above ISO upgrade method. For those needing to recover or test development EC builds, this video will explain how to upgrade your EC with a chip programmer.

See also

L14 EC firmware and BIOS locations

Embedded Controller chip on the left; BIOS on the right

Required materials

  • CH341A SPI chip programmer (Supplying 3.3V)

  • SOIC8 clip (Often sold together with the programmer)

  • Screwdriver (To open the Librem 14)

  • Separate PureOS or Debian computer (As your Librem 14 will be offline for the upgrade)

Procedure

  1. Remove any external power sources.

    Librem 14 disconnected from power
  2. Unscrew and remove the backplate.

    Librem 14 removing the backplate
  3. Unplug the battery from the motherboard.

    Librem 14 disconnected battery
  4. Carefully remove the Wi-Fi module.

    Librem 14 Wi-Fi module removed
  5. Assemble a CH341A programmer.

    Librem 14 with CH341A programmer, no clip attachment
  6. Attach a chip clip, making sure to line up pin 1 with the red strip.

    Librem 14 with CH341A programmer, with clip attachment
  7. Locate the depression on the SPI chip; this indicates the location of pin 1.

    Librem 14 SOIC8 clip lining up with EC chip pin
  8. Attach the chip clip making sure to align the red strip again.

    Librem 14 with SOIC8 clip attached to EC chip
  9. Attach to the programmer to a PureOS computer.

    Librem 14 with CH341A programmer connected to a computer with a USB cable
  10. From a terminal, install the flashrom application.

    sudo apt install flashrom
    
  11. Check that everything is connected properly.

    sudo flashrom -p ch341a_spi
    
    flashrom CH341A SPI connection check success
  12. Download the latest EC firmware (File name: ec-*.rom.gz).

  13. Open a terminal and change the location to where the update ROM file was downloaded (typically in ~/Downloads/).

    cd ~/Downloads/
    
  14. Extract the ROM file.

    gzip -d ./ec-*.rom.gz
    
  15. Begin flashing using the ROM file that was just extracted. This should take around 20 seconds to complete.

    sudo flashrom -p ch341a_spi -w ~/Downloads/ec-1.13_2023-03-22.rom
    
  16. If this was successful, you should see the following message:

    Librem EC update successful terminal window
  17. After a successful flash, unplug the chip programmer.

    Disconnecting USB cable from CH341A programmer
  18. Once unplugged from the computer, remove the clip from the chip.

    Removing SOIC8 clip from the Librem 14 EC chip
  19. Reattach the Wi-Fi module. Reconnect the battery. Reattach the backplate.

    Reattaching the battery to the Librem 14

The device should now be running the latest EC firmware. Congratulations!