Skip to content

darp6: Failed Firmware update #127

Description

@npmenard

Yesterday I run a firmware update on my Darter Pro running Archlinux using system76-firmware-cli from the system76-firmware-daemon-git AUR package.
When scheduling the firmware update the only issue I ran into was that the script couldn't remove Boot entry 0001 (expected since it doesn't exist, my Archlinux boot on entry 0002) Rebooting and running the update worked without any issues, at the end the updater reported that the boot entry was removed and then the system rebooted.

This is when the issues started, at reboot the system booted the firmware updater again which then throw a Device Error and asked to press a key to reboot. For all subsequent reboot the BIOS would again boot the firmware updater ignoring the ESC and SPACE keys. At this point it was impossible to select another boot entry or boot from an USB key or access any BIOS menu.
I tried to unplugged battery and CMOS battery without any result, I removed one RAM module without any result finally I removed the SSD. Without the SSD the BIOS would cycle through the boot entries (first the firmware updater then Archlinux) and complain that it couldn't find the EFI executable. After cycling through the entries I was able to boot from a USB key (with PopOS) but still could not interact with the BIOS menu via ESC or SPACE key. In POPOs I used efibootmgr to remove the 1776 entry as to avoid booting into it, the program didn't report any errors but after rebooting the BIOS would still boot first into the firmware updater. I also tried to add boot entry (just for the sake of it) in this case efibootmgr reports a Could not prepare Boot variable: Input/output error and refuse to add the entry

I plugged the SSD drive to another machine to remove the firmware updater EFI executable once back in the Darter the system would boot again Archlinux (after complaining about the firmware updater missing) But after I replaced the second memory stick back into the machine, the BIOS would happily load grub the the boot process would get stuck at loading ramdisk. and Thus would not boot, the same happened with my PopOS USB key and my archlinux USB key.

I read about issue #98 and tried the darp6 USB image that was linked, however I ended up with this

Finally I booted into my PopOs usb key and build the firmware myself using firmware open, I first tried to boot into the usb.img generated but it would give me a DeviceError. I was however able to flash the BIOS using the flash script (but i didn't update the EC) The BIOS was successfully updated and I was able to reboot into it (2020-09-17_f10af76), the ESC and SPACE started to work again BUT I still can't boot into anything when both memory stick are in, and I still cannot add an entry using efibootmgr. The only way to boot my Archlinux is to drop in an EFI shell and manually load grubx64.efi
EDIT: after the BIOS update all boot entries were removed

This was a long post but I wanted to give as much information as possible.

Summary:

  1. Updated BIOS firmware using the cli tool under archlinux
  2. After update ESC and SPACE stopped working and the system would continuously boot into the updater
  3. Removing 1 RAM stick, SSD and disconnecting CMOS battery and battery allowed me to boot into a USB key, but the ESC and SPACE key still didn't work.
  4. Putting the RAM stick back would not let me boot beyond the ramdisk stage of the boot process. So going forward I removed it
  5. Tried solution fronm Issue on DarterPro-6 / Galaga Pro #98 that would not work either
  6. Rebuild a BIOS image and updated it using the flashing tool (under a PopOS live) worked. ESC and SPACE worked again as expected, however I am still not able to manipulate boot entry using efibootmgr
  7. If I put the second RAM stick back would still not let me boot beyond the ramdisk stage.
  8. Right now my system works with one RAM stick out and if I manually boot to my system using an EFI shell.

Things I will try:

  1. Cycle the RAM sticks and see if the boot issue happens regardless of order or position.
  2. Flash the EC

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions