Recovery¶
Intro¶
The following documentation describes the process of recovering hardware from the brick state using an RTE and Dasharo open-source firmware.
External flashing¶
The external programming and recovery from bricks caused by Dasharo can be achieved by flashing the BIOS SPI flash chip through the on-board TPM header, which exposes the SPI bus. No SOIC8 clip is required - the programmer is wired directly to the TPM header with the TPM module removed.
Prerequisites¶
- Prepared RTE
- 6x female-female wire cables
- TPM module removed
Connections¶
To prepare the stand for flashing follow the steps described in the Generic test stand setup.
Remove the TPM module and connect the RTE to the TPM header according to the pinout above.
Firmware flashing¶
To flash firmware follow the steps described below:
- Login to RTE via
sshorminicom. - Turn on the platform by connecting the power supply.
- Wait at least 5 seconds.
- Turn off the platform by using the power button.
- Wait at least 3 seconds.
-
Set the proper state of the SPI by using the following commands on RTE:
# set SPI Vcc to 3.3V echo 1 > /sys/class/gpio/gpio405/value # SPI Vcc on echo 1 > /sys/class/gpio/gpio406/value # SPI lines ON echo 1 > /sys/class/gpio/gpio404/valueStarting with RTE distro v0.8.x the GPIOS are 517, 518, 516.
-
Wait at least 2 seconds.
- Disconnect the power supply from the platform.
- Wait at least 2 seconds.
-
Check if the flash chip is connected properly
flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=16000 -
Flash the platform by using the following command:
flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=16000 \ -w [path_to_binary] -
Change back the state of the SPI by using the following commands:
echo 0 > /sys/class/gpio/gpio404/value echo 0 > /sys/class/gpio/gpio405/value echo 0 > /sys/class/gpio/gpio406/valueStarting with RTE distro v0.8.x the GPIOS are 516, 517, 518.
-
Turn on the platform by connecting the power supply.
The AMD board takes longer to boot due to memory training happening on the PSP side. Thus the first signs of life from open-source firmware may appear even after a couple of minutes (depends on amount of populated RAM).
Prerequisites¶
- CH341A USB to SPI programmer
- 6x female-female wire cables
- TPM module removed
Connections¶
- Remove the TPM module from the board.
- Wire the CH341A programmer to the TPM header according to the pinout above.
Firmware flashing¶
To flash firmware follow the steps described below:
- Disconnect the power supply from the platform.
- Wait at least 2 seconds.
-
Check if the flash chip is connected properly
flashrom -p ch341a_spi -
Flash the platform by using the following command:
flashrom -p ch341a_spi -w [path_to_binary] -
Disconnect the programmer from the TPM header.
- Turn on the platform by connecting the power supply.
The AMD board takes longer to boot due to memory training happening on the PSP side. Thus the first signs of life from open-source firmware may appear even after a couple of minutes (depends on amount of populated RAM).