faft: Speed up for skipping dev screen timeout on resetting client

When resetting the client, DUT may be under dev mode and need to wait
30 seconds timeout for dev screen. Pressing Ctrl-D helps skipping this
dev screen timeout. Pressing Ctrl-D in normal mode doesn't hurt.

BUG=chromium-os:34392
TEST=run a FAFT test which halted, see skipping dev screen when resetting client

Change-Id: I34624bf9e20aa265e542ebbcdc3f77c92bf1f110
Reviewed-on: https://gerrit.chromium.org/gerrit/38632
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 0c781ed..ef71c54 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -252,6 +252,8 @@
         # DUT may halt on a firmware screen. Try cold reboot.
         logging.info('Try cold reboot...')
         self.cold_reboot()
+        self.wait_for_client_offline()
+        self.wait_dev_screen_and_ctrl_d()
         try:
             self.wait_for_client()
             return
@@ -278,6 +280,7 @@
         self.faft_client.run_shell_command('chromeos-install --yes')
         self.sync_and_warm_reboot()
         self.wait_for_client_offline()
+        self.wait_dev_screen_and_ctrl_d()
         try:
             self.wait_for_client(install_deps=True)
             logging.info('Successfully restore OS image.')
@@ -1528,6 +1531,7 @@
         self.faft_client.write_firmware(os.path.join(remote_temp_dir, 'bios'))
         self.sync_and_warm_reboot()
         self.wait_for_client_offline()
+        self.wait_dev_screen_and_ctrl_d()
         self.wait_for_client()
 
         logging.info('Successfully restore firmware.')