1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-05 22:18:16 +00:00
trezor-firmware/ci/hardware_tests/device/core.py

31 lines
860 B
Python
Raw Normal View History

2020-09-03 09:11:21 +00:00
from .device import Device
class TrezorCore(Device):
def update_firmware(self, file=None, model_name="Trezor T"):
2020-09-03 09:11:21 +00:00
if not file:
raise ValueError(
"Uploading production firmware will replace the bootloader, it is not allowed!"
)
2021-02-15 12:23:23 +00:00
# reset to enter bootloader again
self.power_off()
self.wait(5)
2021-02-15 12:23:23 +00:00
self.power_on()
self.wait(10)
self.check_model("bootloader")
2021-02-15 12:23:23 +00:00
2021-01-23 22:03:56 +00:00
self.run_trezorctl("device wipe --bootloader || true")
self.wait(5)
self.power_off()
self.power_on()
2020-09-03 09:11:21 +00:00
self.wait(5)
self.log(f"[software] Updating the firmware to {file}")
self.run_trezorctl(f"firmware-update -s -f {file}")
2020-09-03 09:11:21 +00:00
2020-12-04 16:16:57 +00:00
# after firmware-update finishes wait for reboot
self.wait(15)
return self.check_model(model_name)