gooftool: Support developer mode switch in ChromeOS-EC.
BUG=chrome-os-partner:8318
TEST=gooftool verify_switch_dev
Change-Id: Idf4326d78769fe7529b50c2c498d7a72c204881f
Reviewed-on: https://gerrit.chromium.org/gerrit/23342
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
diff --git a/py/gooftool.py b/py/gooftool.py
index e1972af..cbb8c24 100644
--- a/py/gooftool.py
+++ b/py/gooftool.py
@@ -241,8 +241,18 @@
@Command('verify_switch_dev')
def VerifyDevSwitch(options):
"""Verify developer switch is disabled."""
- if Shell('crossystem devsw_cur').stdout.strip() != '0':
- raise Error, 'developer mode is enabled'
+ result = Shell('crossystem devsw_cur')
+ if result.success:
+ if result.stdout.strip() != '0':
+ raise Error, 'developer mode is enabled'
+ else:
+ return
+ # Try ChromeOS-EC. This may hang 15 seconds if the EC does not respond.
+ logging.warn('VerifyDevSwitch: Trying ChromeOS-EC...')
+ if not Shell('ectool vboot 0').success:
+ raise Error, 'failed to turn off developer mode.'
+ # TODO(hungte) Verify if the switch is turned off properly, using "ectoo
+ # vboot" and parse the key-value pairs, when the names are determined.
@Command('write_protect')