summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorLukasz Hajec <lha@semihalf.com>2021-08-10 10:53:46 +0200
committerCommit Bot <commit-bot@chromium.org>2021-08-26 20:21:27 +0000
commita4848a9b8d549664a8b246805019ce0e7a03e8b3 (patch)
treef1aa58821ae0b807b176a4399e1172a48fe122cc /extra
parentfdbb8787eb0ed8c666ed70eff5a5ff7a3074a2f2 (diff)
downloadchrome-ec-a4848a9b8d549664a8b246805019ce0e7a03e8b3.tar.gz
servo_updater: Add clean reboot at the end of updating procedure
In current state after firmware is updated we perform reboot and check if servo is in RO. Due to this check we need to reinitialize uart connection. This procedure takes resources from kernel driver and makes it impossible to use servo console from OS just after servo_updater. This patch adds additional reboot, it allows kernel driver to reconnect to servo console and use it. BRANCH=None BUG=b:196021317 TEST=run servo_updater.py, after the tool finishes job check if we can access servo EC via serial terminal using e.g. picocom /dev/ttyUSB0. Signed-off-by: Lukasz Hajec <lha@semihalf.com> Change-Id: Icebb1a2faa8803d13736ea241b894adaf146b433 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3111367 Reviewed-by: Matthew Blecker <matthewb@chromium.org> Commit-Queue: Matthew Blecker <matthewb@chromium.org>
Diffstat (limited to 'extra')
-rwxr-xr-xextra/usb_updater/servo_updater.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/extra/usb_updater/servo_updater.py b/extra/usb_updater/servo_updater.py
index 82b15c3250..4dff264182 100755
--- a/extra/usb_updater/servo_updater.py
+++ b/extra/usb_updater/servo_updater.py
@@ -446,6 +446,9 @@ def main():
# Make sure the servo MCU is in RO
print("===== Rebooting =====")
do_with_retries(select, tinys, 'ro')
+ # Perform additional reboot to free USB/UART resources, taken by tiny servod.
+ # See https://issuetracker.google.com/196021317 for background.
+ tinys.pty._issue_cmd("reboot")
print("===== Finished =====")