Skip to content

Recovery

Introduction

The following documentation describes the process of recovering NovaCustom platforms from the brick state. This procedure can be used to restore both Dasharo and previous Insyde firmware. This procedure can be used to restore both Dasharo and previous Insyde firmware.

Prerequisites

Warning

To proceed with the recovery procedure, the backup with the vendor firmware or vendor EC firmware will be necessary eg. bios_backup.rom, ec_backup.rom.

The backup file should be generated before making any changes to the device flash chip according to the following documentation sections:

Restoring vendor BIOS requires restoring a compatible version of EC firmware. There is currently no way to do this internally.

Necessary components

You will need:

  • a CH341a programmer with 3.3V support
  • a SOIC-8 (Pomona) clip

You will need:

  • a CH341a programmer with 3.3V support
  • a WSON-8 probe

You will need:

  • a CH341a programmer with 1.8V support
  • a WSON-8 probe

A complete set containing everything you need is available from our shop.

Follow the Initial deployment section to perform the external flash. When running the flashrom commands, use a backup file you've prepared previously, like bios_backup.rom.

You will need:

  • an Arduino Mega 2560
  • a 24-pin FFC cable with a 1.0mm pitch, same-sided (connectors on the same side on both ends of the cable)
  • a 24-pin FFC breakout board with a 1.0mm pitch FFC connector and a 2.54mm pitch pin header
  • USB-A to USB-B cable to connect the Arduino to the host
  • USB-C cable for grounding with power blocker

You will need:

  • an Arduino Mega 2560
  • a 24-pin FFC cable with a 0.5mm pitch, same-sided (connectors on the same side on both ends of the cable)
  • a 24-pin FFC breakout board with a 0.5mm pitch FFC connector and a 2.54mm pitch pin header
  • USB-A to USB-B cable to connect the Arduino to the host
  • USB-C cable for grounding with power blocker

You will need:

  • an Arduino Mega 2560
  • a 24-pin FFC cable with a 0.5mm pitch, same-sided (connectors on the same side on both ends of the cable)
  • a 24-pin FFC breakout board with a 0.5mm pitch FFC connector and a 2.54mm pitch pin header
  • USB-A to USB-B cable to connect the Arduino to the host
  • USB-C cable for grounding with power blocker

You will need:

  • an Arduino Mega 2560
  • a 24-pin FFC cable with a 1.0mm pitch, same-sided (connectors on the same side on both ends of the cable)
  • a 24-pin FFC breakout board with a 1.0mm pitch FFC connector and a 2.54mm pitch pin header
  • USB-A to USB-B cable to connect the Arduino to the host
  • USB-C cable for grounding with power blocker

The full set for EC firmware recovery is available at our online shop.

EC firmware recovery

The procedure will be slightly different depending on the model of your laptop.

Danger

Ensure you choose the correct FFC cable, as they can be easily damaged. Needed components

Important

Make sure your battery is connected for this process.

Prerequisites

  • Clone the EC repository:
git clone https://github.com/Dasharo/ec.git
cd ec
git submodule update --init --checkout
  • Install dependencies:
./scripts/deps.sh
  • If rustup was installed as part of the previous step, run:
source $HOME/.cargo/env
  • Connect the Arduino to the computer using a USB-A to USB-B cable

  • Build and flash firmware for the Arduino, which will serve as the flasher:

make BOARD=arduino/mega2560
make BOARD=arduino/mega2560 flash

Recovery steps

For other models scroll down

V560

  1. For the V560 laptops you will need to remove two stretch-release pull tabs that are holding keyboard in place.

  2. Second pull tab is located under the heat sink.

Other models

  1. Remove the two screws holding the keyboard in place. They are indicated on the bottom cover with a keyboard symbol:

  2. Pry the keyboard away from the laptop. Use a plastic spudger to release the tabs holding it in place, starting from the top.

    Warning

    Be extra careful when removing the keyboard to avoid damaging the fragile keyboard cable!

  3. Unplug the keyboard connector by lifting up the tab holding it in place:

  4. Connect the FFC cable to the FFC breakout board

    Warning

    In the example above, the FFC connector on the breakout has the pins on the bottom side of the connector and is located on the same side as the pins connecting to the Arduino. If your breakout is different, you may need an FFC cable with connectors on the opposite sides.

  5. Insert the breakout into Arduino's digital pin header, pins 22-45, with the FFC connector facing outwards

  6. Connect the other end of the FFC cable to the keyboard connector on the laptop, taking care to align pin 1 of the FFC cable to pin 1 (leftmost) pin of the connector

  7. Connect the Arduino to the host using the USB-A to USB-B cable

  8. Connect the USB-C cable together with power blocker from your host computer to the laptop.

    Warning

    This extra cable is for grounding. It's required, because there is no ground signal on the keyboard connector. If you are not using using Power Blocker Ensure the power pin on the cable is taped over to prevent the Embedded Controller chip from getting powered.

  9. Build the flashing utility:

    cargo build --manifest-path ecflash/Cargo.toml --example isp --release
    
  10. Flash the firmware:

    sudo ecflash/target/release/examples/isp [path to EC backup]
    

    The output will contain:

    Buffer size: 128
    ID: 5570 VER: 2
    

    If it contains other ID value or the connection times out, check all connections, using the photos above for reference.

  11. Reassemble the laptop: disconnect the Arduino from the laptop, disconnect the USB-C grounding cable, reinstall the keyboard, reinstall keyboard screws.

BIOS Flashing

Components Necessary to perform BIOS Recovery: Needed components

Prerequisites

  • Flashrom installed on a Linux host
  • BIOS image file to flash

Flashing

  1. Attach the SOIC-8 Pomona clip to the programmer. Take care to align CS pin with pin 1 on the programmer:

    Danger

    If your CH341a programmer has a voltage switch, make sure it's at 3.3V. Improper voltage selection may result in hardware damage.

  2. Plug the programmer into your host computer.

  3. Remove bottom cover from the laptop.

  4. Unplug the battery (1)

  5. Place the SOIC-8 Pomona clip on the BIOS chip, taking care to align the CS pin with the white dot on the BIOS chip:

  6. Attach the SOIC-8 Pomona clip firmly in place and execute the following command on your host computer:

    sudo flashrom -p ch341a_spi -w path/to/firmware.bin
    
  7. Power on the laptop to verify the recovery passed. First boot may take a while, so be patient.

  1. Attach the WSON probe to the programmer. Take care to align pin 1 indicated on the probe's breakout board with pin 1 on the programmer:

    Danger

    If your CH341a programmer has a voltage switch, make sure it's at 3.3V. Improper voltage selection may result in hardware damage.

  2. Plug the programmer into your host computer.

  3. Remove bottom cover from the laptop.

  4. Unplug the battery (1)

  5. Place the WSON probe on the BIOS chip, taking care to align the dot on the WSON probe with the white dot on the BIOS chip:

  6. Hold down the WSON probe firmly in place and execute the following command on your host computer:

    sudo flashrom -p ch341a_spi -w path/to/firmware.bin
    
  7. Power on the laptop to verify the recovery passed. First boot may take a while, so be patient.

  1. Attach the WSON probe to the programmer. Take care to align pin 1 indicated on the probe's breakout board with pin 1 on the programmer:

    Danger

    If your CH341a programmer has a voltage switch, make sure it's at 1.8V. Improper voltage selection may result in hardware damage.

  2. Plug the programmer into your host computer.

  3. Remove bottom cover from the laptop.

  4. Unplug the battery (1)

  5. Place the WSON probe on the BIOS chip, taking care to align the dot on the WSON probe with the white dot on the BIOS chip:

  6. Hold down the WSON probe firmly in place and execute the following command on your host computer:

    sudo flashrom -p ch341a_spi --ifd -i fd -i me -i bios -w [backup.bin]
    
  7. Power on the laptop to verify the recovery passed. First boot may take a while, so be patient.