2021-01-13

BIOS Update

I noticed my new machine does not have /sys/firmware/acpi/tables/BGRT or /sys/firmware/acpi/bgrt so I decided to update the BIOS before looking more into it.

I knew Richard Hughes had been working on firmware updates for many years so I decided to try updating it from Linux. Sadly Asus is still "Evaluating the service" so no automated firmware update for me.

I downloaded the firmware from Asus website and the zip contained a single file named .cap so based on some reading it should be possible to use it, and fwupdate says it can update that firmware:

# fwupdate -l
system-firmware type, {e820d9ce-ff2c-5ce6-8ba1-c0c1c5703f44} version 1046 can be updated to any version above 1045

But when trying it failed with an error "failed: is not valid format", and verbose logging did not help:

# fwupdate  -a '{e820d9ce-ff2c-5ce6-8ba1-c0c1c5703f44}' PN50-ASUS-0611.CAP --esp-path=/boot/EFI -v 
(fwupdate:2815): FuCommon-DEBUG: 12:02:31.707: device /org/freedesktop/UDisks2/block_devices/nvme0n1p2, type: 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f, internal: 1, fs: swap
(fwupdate:2815): FuCommon-DEBUG: 12:02:31.721: device /org/freedesktop/UDisks2/block_devices/nvme0n1p1, type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b, internal: 1, fs: vfat
(fwupdate:2815): FuCommon-DEBUG: 12:02:31.729: device /org/freedesktop/UDisks2/block_devices/nvme0n1p3, type: 0fc63daf-8483-4772-8e79-3d69d8477de4, internal: 1, fs: ext4
(fwupdate:2815): FuCommon-DEBUG: 12:02:31.748: reading PN50-ASUS-0611.CAP with 16781312 bytes
(fwupdate:2815): GLib-GIO-DEBUG: 12:02:31.750: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
(fwupdate:2815): FuPluginUefi-DEBUG: 12:02:31.751: deleting /boot/EFI/EFI/mageia/fw/fwupd-e820d9ce-ff2c-5ce6-8ba1-c0c1c5703f44.cap
(fwupdate:2815): FuPluginUefi-DEBUG: 12:02:31.755: maximum size is not configured
(fwupdate:2815): FuDevice-DEBUG: 12:02:31.756: installing onto (null):
FuFirmware:
  FuFirmwareImage:
  Data:                 0x1001000
(fwupdate:2815): FuCommon-DEBUG: 12:02:31.756: writing /boot/EFI/EFI/mageia/fw/fwupd-{e820d9ce-ff2c-5ce6-8ba1-c0c1c5703f44}.cap with 16781312 bytes
(fwupdate:2815): FuPluginUefi-DEBUG: 12:02:31.795: DP type:0x04 subtype:0x01 size:0x002a
(fwupdate:2815): FuPluginUefi-DEBUG: 12:02:31.795: DP type:0x04 subtype:0x04 size:0x0084
(fwupdate:2815): FuPluginUefi-DEBUG: 12:02:31.795: DP type:0x7f subtype:0xff size:0x0004
failed: is not valid format

After building it from source and adding some debug, it was failing to parse the GUID because the {} which are displayed by fwupdate -l must not be given in the parameter, and it does a lot of work before validating the arguments 🤦

Anyway, after calling it correctly all went fine:

# fwupdate -l
system-firmware type, {e820d9ce-ff2c-5ce6-8ba1-c0c1c5703f44} version 1553 can be updated to any version above 1552

But I still don't have /sys/firmware/acpi/tables/BGRT.

No comments:

Post a Comment