New issue
Advanced search Search tips

Issue 835970 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Unable to interrupt dryrun tpm firmware update from Powerwash/Recovery

Project Member Reported by pgangishetty@chromium.org, Apr 23 2018

Issue description

Chrome Version: 67.0.3396.16
OS: 10575.12.0 dev-channel

What steps will reproduce the problem?

Pre-condition for Powerwash/Recovery:
1) This test assumes no REAL TPM FW update has been performed on the device.

2) *** IMPORTANT *** Set the VPD firmware update parameters to enable a DRYRUN:
1) Enter VT2 (Ctrl + Alt + F2)
2) Execute the following: 
vpd -i RW_VPD -s tpm_firmware_update_params=dryrun:1 --> Powerwash scenario
vpd -i RW_VPD -s tpm_firmware_update_params=mode:recovery,dryrun:1 --> Recovery scenario
3) Now perform a read to make sure dryrun:1 is set with the following:
vpd -i RW_VPD -l
4) Flash the recovery image (with the TPM package to test) onto a USB stick.

Steps for Powerwash scenario:
1) Recover device with image prepared in precondition step #2
-- /etc/init/tpm-firmware-update.conf and /usr/sbin/infineon-firmware-updater should be present.

2) Check DRYRUN is still set (Precondition #1).

3) Go through OOBE and login with a user account

4) Logout (Ctrl + Shift + Q, Twice) and trigger powerwash (Shift + Ctrl + Alt + R).
-- Popup window should open with requesting for restart.

5) Click restart. 
-- User should get actual powerwash screen after the reboot.
-- Powerwash screen should contain "Update firmware for added security" checkbox.


6) Check the "Update firmware for added security" checkbox and click 'powerwash'
-- After reboot, the device should perform a powerwash, reboot again, then you should see a 'Installing update/firmware' screen with a progress bar.

7) Wait for the TPM firmware update progress bar to reach 50% and then perform an EC Reboot (F3 + PWR) to interrupt the firmware update

Steps for Recovery scenario:
1) Enter into recovery mode(Esc + F3 + Power) .
2) Plug recovery stick (precondition step #2) into device.
-- Recovery media verification should start.
-- TPM Firmware update screen should be displayed after verification. INTERRUPT it per next step.

3) Wait for the TPM firmware update progress bar to reach 50% and then perform an EC Reboot (F3 + PWR) to interrupt the firmware update


What is the expected result?
User should get ChromeOS missing/damaged screen. 

What happens instead?
Device reboots and OOBE screen is displayed.  


Please use labels and text to provide additional information.
Note:  Uninterrupted tpm firmware update works fine for Recovery and Powerwash scenarios.  


If this is a regression (i.e., worked before), please consider using the
bisect tool (https://www.chromium.org/developers/bisect-builds-py) to help
us identify the root cause and more rapidly triage the issue.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.


 

Comment 1 by ka...@chromium.org, Apr 23 2018

Cc: apronin@chromium.org
Hi pgangishetty@,
Can you point to where in the test the failure is happening?
Also, I think we should not really perform DRYRUN, but real TPM update(on a single board in Full release) Still dryrun should be possible. Is there log we can look at?
After step 7 & step 3 from both the scenarios above, we are ending up on OOBE screen instead of 'ChromeOS missing/damaged screen.  

Logs present here for interrupt powerwash scenario: https://pantheon.corp.google.com/storage/browser/chromiumos-test-logs/bugfiles/cr/835970
Iirc this is WAI for dryrun. It doesn't perform the actual update, so if it is interrupted, there is no TPM error on boot, and thus no reason to show ChromeOS missing screen.
Status: WontFix (was: Untriaged)
Closing as it is Won't fix-WAI. 

Sign in to add a comment