New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 800680 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Disable FW Update of Cr50 During The Boot Sequence and Just in The Factory Branch Supported `trunk_send` to Update FW

Project Member Reported by marcochen@chromium.org, Jan 10 2018

Issue description

Issue:
  In the factory flow, it usually happens that Cr50 version in the chip shipped from vendor is older then version in the test image. In this case, there would be a reboot in the first boot after SMT due to "Cr50 Update Reboot". This expected behavior (from Cr50 Update point of view) confuses the test process because operator would not know whether this reboot is an issue or not.

Suggestion:
  Since Cr50 FW can be updated by `trunk_send` command in the ToT and factory pytests support to update it by `trunk_send` as well. In the factory flow, we should update Cr50 explicitly via factory test so test itself can notify operator that a upcoming reboot would be expected. In this way, it will be more clear to operator instead of a reboot caused by implicitly FW update in the boot sequence.

  Therefore would suggest to 
     1. disable Cr50 FW update in the boot sequence of factory mode (test image + factory toolkit).
     2. add explicit test into test list for updating Cr50 FW.
     3. add explicit test for checking Cr50 version.
 

Comment 1 by yllin@chromium.org, Jan 10 2018

Owner: yllin@chromium.org
Status: Assigned (was: Untriaged)

Comment 2 by hungte@chromium.org, Jan 10 2018

Cc: marcochen@chromium.org nsanders@chromium.org vbendeb@chromium.org
Should we disable the boot time update of Cr50 when it's a test image?

I'd like to see an option that can be merged on ToT so we don't need to worry about adding extra changes when a new factory branch is cut.

Marco, can you explain what you've seen (and proposal) to Vadim and and see if he would agree to change?
Please refer to issue description for what I have seen and the goal.

One proposal I can throw here is that
  Refer to other use case (CL:760176), factory initial script can create a flag file so Cr50 update script won't do the update. (I don't check the sequence between scripts yet) 
Description: Show this description
More specifically, Cr50 update during the boot process is suggested to be disabled in factory UI only (test image + factory toolkit).
I am not looking at the source code right now, but IIRC, the init scripts check if they are running in recovery mode (and/or from a USB stick?) and do not proceed with update in this case.

Can a check be added that the system is not in factory mode/image?
re#6

current code will prevent update from booting in the recovery mode. But booting from the USB stick is not checked yet.

> Can a check be added that the system is not in factory mode/image?
The concept of CLs are
  https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/861559
  https://chromium-review.googlesource.com/c/chromiumos/platform/factory/+/861556

And I am going to verify it.
Verified and it is working as expected in factory mode or not.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1fd408854198ce05bf5cbad34af1f411604f1695

commit 1fd408854198ce05bf5cbad34af1f411604f1695
Author: Marco Chen <marcochen@chromium.org>
Date: Tue Jan 16 12:08:26 2018

chromeos-cr50-scripts: Disable cr50 firmware update in factory mode.

Update script of cr50 would not perform update when boot in the factory
mode. If firmware should be updated then an explicit factory test should be
arranged to do so. The reason is that a reboot would be occured after
first round of update process and operators in the factory would not
know whether this is a normal behavior or not.

BUG= chromium:800680 
TEST=manually test on the DUT

Change-Id: Ibab564b59ca6a093811819c7293ecdf5ad662eb8
Signed-off-by: Marco Chen <marcochen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/861559
Reviewed-by: Yilun Lin <yllin@chromium.org>

[modify] https://crrev.com/1fd408854198ce05bf5cbad34af1f411604f1695/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
[rename] https://crrev.com/1fd408854198ce05bf5cbad34af1f411604f1695/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r14.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 17 2018

Labels: merge-merged-factory-fizz-10167.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/5ed125a172fed124b8c0922837c5a39bc162dde9

commit 5ed125a172fed124b8c0922837c5a39bc162dde9
Author: Marco Chen <marcochen@chromium.org>
Date: Wed Jan 17 03:30:23 2018

chromeos-cr50-scripts: Disable cr50 firmware update in factory mode.

Update script of cr50 would not perform update when boot in the factory
mode. If firmware should be updated then an explicit factory test should be
arranged to do so. The reason is that a reboot would be occured after
first round of update process and operators in the factory would not
know whether this is a normal behavior or not.

BUG= chromium:800680 
TEST=manually test on the DUT

Change-Id: Ibab564b59ca6a093811819c7293ecdf5ad662eb8
Signed-off-by: Marco Chen <marcochen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/869530
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Yilun Lin <yllin@chromium.org>
Commit-Queue: Yilun Lin <yllin@chromium.org>

[modify] https://crrev.com/5ed125a172fed124b8c0922837c5a39bc162dde9/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
[delete] https://crrev.com/a42c12e591fa747da03fd486f93e072101745351/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r9.ebuild
[rename] https://crrev.com/5ed125a172fed124b8c0922837c5a39bc162dde9/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r12.ebuild

Owner: marcochen@chromium.org
Status: Fixed (was: Assigned)
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 9 2018

Labels: merge-merged-factory-coral-10122.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/91c3c489f8f0c51af2575be4c4ae47e87d62ddc2

commit 91c3c489f8f0c51af2575be4c4ae47e87d62ddc2
Author: Marco Chen <marcochen@chromium.org>
Date: Fri Mar 09 03:59:50 2018

chromeos-cr50-scripts: Disable cr50 firmware update in factory mode.

Update script of cr50 would not perform update when boot in the factory
mode. If firmware should be updated then an explicit factory test should be
arranged to do so. The reason is that a reboot would be occured after
first round of update process and operators in the factory would not
know whether this is a normal behavior or not.

BUG= chromium:800680 
TEST=manually test on the DUT

Change-Id: Ibab564b59ca6a093811819c7293ecdf5ad662eb8
Signed-off-by: Marco Chen <marcochen@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/869530
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Yilun Lin <yllin@chromium.org>
Commit-Queue: Yilun Lin <yllin@chromium.org>
(cherry picked from commit 5ed125a172fed124b8c0922837c5a39bc162dde9)
Reviewed-on: https://chromium-review.googlesource.com/880321

[modify] https://crrev.com/91c3c489f8f0c51af2575be4c4ae47e87d62ddc2/chromeos-base/chromeos-cr50-scripts/files/cr50-update.conf
[add] https://crrev.com/91c3c489f8f0c51af2575be4c4ae47e87d62ddc2/chromeos-base/chromeos-cr50-scripts/chromeos-cr50-scripts-0.0.1-r12.ebuild

Project Member

Comment 13 by bugdroid1@chromium.org, Mar 15 2018

Labels: merge-merged-factory-reef-8811.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2e537f16cac732372293443f9c6ae554cce67b67

commit 2e537f16cac732372293443f9c6ae554cce67b67
Author: Marco Chen <marcochen@chromium.org>
Date: Thu Mar 15 08:17:48 2018

chromeos-cr50-scripts: Disable cr50 firmware update in factory mode.

Update script of cr50 would not perform update when boot in the factory
mode. If firmware should be updated then an explicit factory test should be
arranged to do so. The reason is that a reboot would be occured after
first round of update process and operators in the factory would not
know whether this is a normal behavior or not.

BUG= chromium:800680 
TEST=manually test on the DUT

Original Change-Id: Ibab564b59ca6a093811819c7293ecdf5ad662eb8
Original Signed-off-by: Marco Chen <marcochen@chromium.org>
Original Reviewed-on: https://chromium-review.googlesource.com/869530
Original Tested-by: Yilun Lin <yllin@chromium.org>
Original Reviewed-by: Yilun Lin <yllin@chromium.org>
Original Commit-Queue: Yilun Lin <yllin@chromium.org>
(cherry picked from commit 5ed125a172fed124b8c0922837c5a39bc162dde9)
Original Reviewed-on: https://chromium-review.googlesource.com/880321

Change-Id: Id52ee1e87e95006173abd3335d6d67049b42a20e
Reviewed-on: https://chromium-review.googlesource.com/964022
Reviewed-by: Marco Chen <marcochen@chromium.org>
Commit-Queue: Marco Chen <marcochen@chromium.org>
Tested-by: Marco Chen <marcochen@chromium.org>

[modify] https://crrev.com/2e537f16cac732372293443f9c6ae554cce67b67/chromeos-base/chromeos-cr50/files/cr50-update.conf
[rename] https://crrev.com/2e537f16cac732372293443f9c6ae554cce67b67/chromeos-base/chromeos-cr50/chromeos-cr50-0.0.1-r37.ebuild

Sign in to add a comment