[daisy] Firmware didn't update after AU R70-11021.81.0 to R71-11151.59.0 |
|||||||||||
Issue descriptionChrome OS Version: 11151.59.0, 71.0.3578.94 stable channel daisy What steps will reproduce the problem? (1) Perform AU from R70-11021.81.0 to R71-11151.59.0 (2) (3) What is the expected result? Firmware should be updated from Google_Snow.2695.117.0 to Google_Snow.2695.132.0 after AU. What happens instead? Although AU is successful, firmware didn't get updated after AU. Attached update engine logs
,
Dec 14
+raju to take a look.
,
Dec 18
Raising the priority since this is blocking daisy from making stable
,
Dec 18
Update engine logs seem fairly normal. Norvez, can you confirm? Cloning firmware B to A... flashrom v0.9.9 : fc12893 : Sep 19 2018 23:31:14 UTC on Linux 3.8.11 (armv7l) read_from_file failed to read 655360 bytes No fmap entries found in /tmp/tmp.jwzXnWdlLS Reading flash... SUCCESS flashrom v0.9.9 : fc12893 : Sep 19 2018 23:31:14 UTC on Linux 3.8.11 (armv7l) Erasing and writing flash chip... SUCCESS INFO: /usr/sbin/chromeos-setgoodfirmware: Active vboot1 firmware set as good firmware. ... Starting firmware updater (//usr/sbin/chromeos-firmwareupdate --mode=autoupdate) Command: //usr/sbin/chromeos-firmwareupdate --mode=autoupdate Starting Google_Snow firmware updater v5 (autoupdate)... >> Firmware updater started. quirk_daisy_snow_dual_model: Platform version: x8 (original value: MP) >> Target image: bios.bin (RO:Google_Snow.2695.132.0, RW/A:Google_Snow.2695.117.0, RW/B:Google_Snow.2695.117.0). >> Current system: /tmp/fwupdater.rjU0FE (RO:Google_Snow.2695.90.2, RW/A:Google_Snow.2695.117.0, RW/B:Google_Snow.2695.117.0). >> Write protection: 1 (enabled; HW=1, SW=1). Checking compatibility... Checking RW_SECTION_A contents... >> No need to update. >> DONE: Firmware updater exited successfully. Firmware update (autoupdate) completed. Finished after 11 seconds. Firmware update completed. cr50 setup complete. ChromeosChrootPostinst complete Syncing filesystem at end of postinst... Hung-Te, do you see anything odd w.r.t. handling daisy code paths?
,
Dec 18
+ahassani@ is the update engine expert, but I don't see anything wrong Looking at this: " Target image: bios.bin (RO:Google_Snow.2695.132.0, RW/A:Google_Snow.2695.117.0, RW/B:Google_Snow.2695.117.0). " Seems like the BIOS image is incorrect? RW is version .117.0. Bad uprev CL?
,
Dec 18
Tentatively assigning to hungte@. Maybe https://chrome-internal-review.googlesource.com/c/chromeos/overlays/overlay-daisy-private/+/684050/ has something to do with it?
,
Dec 18
I think RW firmware in the updater must be >= RO but the logs in the comment 0 showing it < RO. >> Target image: bios.bin (RO:Google_Snow.2695.132.0, RW/A:Google_Snow.2695.117.0, RW/B:Google_Snow.2695.117.0). extracted 11151.65.0 MP image and here is output. ~/trunk/src/scripts $ ./mount_gpt_image.sh -f ../bios/ -i stable-channel_daisy_11151.65.0_chromeos_11151.65.0_daisy_recovery_stable-channel_snow-mp-v4.bin mount: /tmp/m/var: special device /tmp/s/var_overlay does not exist. ~/trunk/src/scripts $ /tmp/m/usr/sbin/chromeos-firmwareupdate -V BIOS image: 4447c818089f0de84f832ad34333dfed */build/daisy/tmp/portage/chromeos-base/chromeos-firmware-daisy-0.0.1-r242/work/chromeos-firmware-daisy-0.0.1/.dist/Snow.x16_2695.132_x8_2695.117.tbz2/bios-snow-2695.132.117-rw.bin BIOS version: Google_Snow.2695.132.0 Package Content: 3c3a99346d1ca1273cbcd86c104851ff *./shflags 7265a3147a73672ab38a378be9ef9247 *./common.sh d47c4c0224b649e8339c5576b8e670bb *./updater5.sh bddb2f0f289f162de5629ae8926bce40 *./VERSION.signer c5104e7636f5e0e5314dbee69176b116 *./bios.bin f8e5622b0856962965d385541c5cd371 *./crosutil.sh 4fde57b0e7e462ced5285f566fe8ff7a *./crosfw.sh Signed with keyset in /tmp/signer.keydir.vT6ENA/cros/keys/SnowMPKeys-v4 . recovery: 13b0ddf343bb0c325b178e5be138d4969a9e02be List sha1sum of single key's signature: root: a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799
,
Dec 18
,
Dec 18
,
Dec 18
,
Dec 18
not sure how to read daisy FW version, but from https://cs.corp.google.com/chromeos_internal/src/private-overlays/overlay-daisy-private/chromeos-base/chromeos-firmware-daisy/chromeos-firmware-daisy-0.0.1-r267.ebuild?q=2695%5C.132&l=37 looks like RO/RW 132/117 is expected for x8 device (what is x8)?
,
Dec 18
They are different platform version: mosys platform version There may be few results: DVT, PVT, PVT2, MP => x8 MP2, MPx16 => x16 see crbug/894324
,
Dec 19
Work as intended. Firmware updater does not compare versions, so there's no rule about RO < RW, although that is "usually (99%)" true. Daisy is a special platform that it has diverged firmware for different platforms without creating a variant (or something like unibuild) and messed up, as dchan listed in c#12 ( issue 894324 ). For AU, there's nothing wrong from what updater reported. Although, there's one thing in output I may have missed - in https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1239798/12/futility/updater_quirks.c#213 , I should clone RO version as well.
,
Dec 19
An improvement to the output is in https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1383631 but I don't think that needs to be cherry-picked.
,
Dec 19
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/45964294fa4605e19d844b1f7165c2b48edc0554 commit 45964294fa4605e19d844b1f7165c2b48edc0554 Author: Hung-Te Lin <hungte@chromium.org> Date: Wed Dec 19 09:13:04 2018 futility: updater: Correct output version for Snow In quirk daisy_snow_dual_model, after RO is preserved the actual RO version should be updated as well from current image. Without this, reported version may look weird as RO=132, RW=117. BRANCH=None BUG= chromium:915013 TEST=make futil; tests/futility/run_test_scripts.sh $(pwd)/build/futility Change-Id: I1bc6c47a8bd548265fd654dae6ab2a5971d59a1c Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1383631 Reviewed-by: Duncan Laurie <dlaurie@google.com> [modify] https://crrev.com/45964294fa4605e19d844b1f7165c2b48edc0554/futility/updater_quirks.c
,
Dec 19
+raju was the device functional after FW update? I think the confusion is that daisy listed as firmware 132 (https://screenshot.googleplex.com/qirbN0g190Z) but after AU, the RW FW remains at 117. Since daisy has 2 versions, one need to remain as 117 while other to 132 (someone correct me if I am mistaken here). +sontis to try on x16 daisy, if that turns out ok, we can go ahead and release daisy If
,
Dec 19
M71_11151.59.0 recovery is working fine on both x8 and x16 daisy devices.
,
Dec 19
Reg c#16 yes device functional after update.
,
Dec 20
After double checking with hungte, this is confirmed as WAI. Due to reasons, we have x8 and x16 for Daisy devices, but GE can not distinguish it. Besides, there is a CL (see comment 14) provided by hungte that will clone the proper RO version, Google_Snow.2695.90.2 in this case. It's on ToT, and nice to have, but won't impact the overall functionality. By checking comment 17, sontis@ also confirm recovery works fine on both x8 and x16 devices. Hence, we would say that this bug should not be a release blocker for m71.
,
Dec 20
Thanks all, I'll remove the RBS and ping the MP to release for M71-STABLE-1
,
Jan 2
Is crbug/917581 a DUP and/or Fix of this issue?
,
Jan 3
No, 917581 is a different issue from this one. That would cause update to fail on certain type of devices. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by kbleicher@google.com
, Dec 14Labels: ReleaseBlock-Stable
Summary: [daisy] Firmware didn't update after AU R70-11021.81.0 to R71-11151.59.0 (was: Firmware didn't update after AU R70-11021.81.0 to R71-11151.59.0)