On Mon, Jul 26, 2021 at 5:38 PM Nico Huber <nico.h@gmx.de> wrote:
>
> Hello David,
>
> On 26.07.21 14:18, David Horner wrote:
> > I'm an idiot, I didn't do the reboot marked IMPORTANT before trying to flash the UEFI firmware. I tried to be so careful checking everything character by character and still screwed up royally.
> >
> > Now I'm afraid to go any further, since I fear I probably screwed up the firmware and will be unable to successfully reboot the Chromebook to continue the flash.
>
> I'm not familiar with the exact procedures for chromebooks. However, I
> assume that if flashrom tells you that nothing changed, that is true.
> Even for the downstream chromium flashrom you are using.
write-protect on modern Chromebooks is a bit of a pain unfortunately.
If you use the built-in ccd capabilities to disable hardware WP using
a Suzy-Q cable, a reboot is needed before the protected regions of
flash can be erased/written -- even though flashrom --wp-disable and
--wp--range 0,0 will succeed without rebooting.
Previously, I could use the ChromeOS crossystem utility to compare the
current hardware WP state with the WP state at boot, and alert users
that a reboot was needed, but Google removed the "at boot" WP status
from crossystem. So all I can do is put it in the instructions for
users to reboot first before flashing.
Without rebooting, when attempting to flash, the RW flash regions get
erased, but the RO regions do not (even though the registers indicate
they can be), so nothing gets written, and when the user reboots,
vboot kicks the device into recovery mode since RW_A and RW_B have
been erased -- necessitating a ChromeOS recovery be performed.
>
> The message that told you not to reboot didn't come from flashrom, it
> seems. It probably came from the script? If you tell us more about it,
> we can probably tell if the message was serious.
>
> Nico
>
> > I also probably messed up even more when I retried doing the flash and let the script backup the firmware a second time. I didn't change the backup file name and probably overwrote the first good firmware backup file with a second file with garbage in
it.
> >
> > Can you please give me a hint on how to best proceed?
> >
> > Thank you,
> >
> > Dave
> >
> > ________________________________
> > From: David Horner <david.horner330@outlook.com>
> > Sent: Sunday, July 25, 2021 8:45 PM
> > To: flashrom@flashrom.org <flashrom@flashrom.org>
> > Subject: Full UEFI firmware install error on AKEMI
> >
> > I received the following errors when attempting to install full UEFI firmware. The statements about rebooting conflict with each other too. The first says that a reboot can be done, the second says do not reboot in CAPS.
> >
> > I believe I followed the instructions correctly, all of the checks matched the instructions.
> >
> > Thank you in advance for help with what to do next. Please note that I am not including the many lines that preceded the error lines below.
> >
> > Dave
> >
> > ** Device: Lenovo Ideapad Flex 5 Chromebook (AKEMI)
> > ** Platform: Intel CometLake
> > ** Fw Type: Stock ChromeOS w/RW_LEGACY
> > ** Fw Ver: Google_Akemi.12672.375.0 (12/16/2020)
> > ** Fw WP: Disabled
> >
> > ====================================================
> >
> > chronos@localhost ~ $ ls /dev/ttyUSB*
> > /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
> >
> > localhost ~ # echo "wp false" > /dev/ttyUSB0
> > localhost ~ # echo "wp false atboot" > /dev/ttyUSB0
> > localhost ~ # echo "ccd reset factory" > /dev/ttyUSB0
> >
> > localhost ~ # crossystem wpsw_cur
> > 0localhost ~ #
> >
> > chronos@localhost ~ $ sudo gsctool -a -I
> > State: Opened
> > Password: None
> > Flags: 0x400004
> > Capabilities, current and default:
> > UartGscRxAPTx Y Always
> > UartGscTxAPRx Y Always
> > UartGscRxECTx Y Always
> > UartGscTxECRx Y Always (IfOpened)
> > FlashAP Y Always (IfOpened)
> > FlashEC Y Always (IfOpened)
> > OverrideWP Y Always (IfOpened)
> > RebootECAP Y Always (IfOpened)
> > GscFullConsole Y Always (IfOpened)
> > UnlockNoReboot Y Always
> > UnlockNoShortPP Y Always
> > OpenNoTPMWipe Y Always (IfOpened)
> > OpenNoLongPP Y Always (IfOpened)
> > BatteryBypassPP Y Always
> > UpdateNoTPMWipe Y Always
> > I2C Y Always (IfOpened)
> > FlashRead Y Always
> > OpenNoDevMode Y Always (IfOpened)
> > OpenFromUSB Y Always (IfOpened)
> > OverrideBatt Y Always (IfOpened)
> > CCD caps bitmap: 0xfffff
> > Capabilities are modified.
> >
> >
> > HSFC used for block erasing: HSFC: FGO=1, HSFC=3, WET=0, FDBC=63, SME=0
> > Transaction error between offset 0x00ad0000 and 0x00ad0fff (= 0x00ad0000 + 4095)!
> > HSFS: FDONE=1, FCERR=1, AEL=0, SCIP=0, PRR34_LOCKDN=0, WRSDIS=0, FDOPSS=1, FDV=1, FLOCKDN=1
> > HSFC: FGO=0, HSFC=3, WET=0, FDBC=63, SME=0
> > ERASE_FAILED
> > FAILED!
> > Uh oh. Erase/write failed. Checking if anything changed.
> > Reading current flash chip contents... 000000-0xffffff:R Reading 16777216 bytes starting at 0x000000.
> > ignoring error when reading 0x0-0xffffff
> > done.
> > Good, writing to the flash chip apparently didn't do anything.
> > This means we have to add special support for your board, programmer or flash
> > chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or
> > mail flashrom@flashrom.org, thanks!
> > -------------------------------------------------------------------------------
> > You may now reboot or simply leave the machine running.
> > FAILED
> > Restoring PCI config space for 00:1f:5 reg 0xdc
> > restore_power_management: Re-enabling power management.
> > An error occurred flashing the Full ROM firmware. DO NOT REBOOT!
> >
> > Press [Enter] to return to the main menu.
> >