StarLabsLtd / firmware

73 stars 5 forks source link

[StarBook Mk V - AMD] Unable to update system firmware #165

Closed cyb3rmonk closed 3 months ago

cyb3rmonk commented 3 months ago

My system

flashrom --version

flashrom v1.3.0 on Linux 6.9.3-arch1-1 (x86_64)


# My problem #

I see that there's a firmware update available for my StarBook, but I'm unable to do the update using fwupdmgr. 

Here's the firmware I have:

fwupdmgr get-devices

├─System Firmware: │ │ Device ID: c738f5c2f089f407525d70d40c11ec7dbeb1e687 │ │ Summary: UEFI System Resource Table device (updated via NVRAM) │ │ Current version: 1.2.0 │ │ Minimum Version: 1.2.0 │ │ Vendor: Star Labs (DMI:American Megatrends International, LLC.) │ │ Update State: Success │ │ GUID: 5a29ddbb-11dd-476d-a641-a45c1db63d5c │ │ Device Flags: • Internal device │ │ • Updatable │ │ • System requires external power source │ │ • Supported on remote server │ │ • Needs a reboot after installation │ │ • Cryptographic hash verification is available │ │ • Device is usable for the duration of the update │ │ Device Requests: • Message (...)


And here's what happens when I try to update:

fwupdmgr refresh --force && fwupdmgr update

Updating lvfs Downloading… Successfully downloaded new metadata: 2 local devices supported Devices with no available firmware updates: • Star Drive PCIe SSD ╔════════════════════════════════════════════════════════════════╗ ║ Upgrade System Firmware from 1.2.0 to 24.3.0? ║ ╠════════════════════════════════════════════════════════════════╣ ║ This release includes the following features: ║ ║ ║ ║ • Fixed an issue that stopped the backlight working after S3 ║ ║ • Enabled support for PD 2.0 chargers ║ ║ • Disable USB power in S3 ║ ║ • Improved battery reporting ║ ║ ║ ║ StarBook must remain plugged into a power source for the ║ ║ duration of the update to avoid damage. ║ ╚════════════════════════════════════════════════════════════════╝ Perform operation? [Y|n]: y Waiting… Successfully installed firmware Do not turn off your computer or remove the AC adapter while the update is in progress. Devices with the latest available firmware version: • UEFI dbx An update requires a reboot to complete. Restart now? [y|N]: y


Then I reboot and the firmware is still 1.2.0
I see this dmesg log that seems to be related:

[ 15.913653] systemd[1]: Starting Firmware update daemon... [ 15.994985] fwupd[1944]: 03:12:52.955 FuPluginFlashrom FCH device found but SMBus revision 0x51 does not match known values. [ 15.994985] fwupd[1944]: Please report this to flashrom@flashrom.org and include this log and [ 15.994985] fwupd[1944]: the output of lspci -nnvx, thanks!. [ 15.994985] fwupd[1944]: 03:12:52.955 FuPluginFlashrom Could not determine chipset generation. [ 15.995368] fwupd[1944]: 03:12:52.955 FuPluginFlashrom Laptops, notebooks and netbooks are difficult to support and we [ 15.995368] fwupd[1944]: recommend to use the vendor flashing utility. The embedded controller [ 15.995368] fwupd[1944]: (EC) in these machines often interacts badly with flashing. [ 15.995368] fwupd[1944]: See the manpage and https://flashrom.org/Laptops for details. [ 15.995368] fwupd[1944]: If flash is shared with the EC, erase is guaranteed to brick your laptop [ 15.995368] fwupd[1944]: and write may brick your laptop. [ 15.995368] fwupd[1944]: Read and probe may irritate your EC and cause fan failure, backlight [ 15.995368] fwupd[1944]: failure and sudden poweroff. [ 15.995368] fwupd[1944]: You have been warned.



# What that seems to mean

From what I understand, `fwupdmgr update` is downloading the firmware update successfully, and then setting up thing so flashrom runs at boot, but then flashrom fails because **"FCH device found but SMBus revision 0x51 does not match known values."**

Again, from what I understand, this message means that the System Management Bus protocol running for my laptop is on revision 0x51 and that revision is not supported by flashrom. But it seems odd - why would you be publishing a firmware update for laptops that can't be updated? So I'm guessing either:

- I somehow have a snowflake batch of the Mk V which uses a slightly different revision than what most of the StarBook Mk V are using - i.e. 0x51 is a variant of a known revision which is supported by flashrom, but it's just not listed as such
- This has to do with the AMD variant of the StarBook and flashrom really has no support for it
- Something is wrong with my system install (but that seems unlikely because I see the same message in OP's logs for issue https://github.com/StarLabsLtd/firmware/issues/65)

I'm sharing my thoughts in case it helps someone, but obviously this is all above my paygrade and have no expertise on firmware updates and fwupdmgr/flashrom outside.
cyb3rmonk commented 3 months ago

Extra info:

$ lspci -nnvx
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
    Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
    Flags: fast devsel
00: 22 10 30 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 30 16
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
    Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
    Flags: fast devsel, IRQ 255
    Capabilities: <access denied>
00: 22 10 31 16 00 00 10 00 00 00 06 08 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 31 16
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00

00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
    Flags: fast devsel, IOMMU group 0
00: 22 10 32 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
    Flags: fast devsel, IOMMU group 1
00: 22 10 32 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Flags: bus master, fast devsel, latency 0, IRQ 28, IOMMU group 2
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: fcf00000-fcffffff [size=1M] [32-bit]
    Prefetchable memory behind bridge: [disabled] [64-bit]
    Capabilities: <access denied>
    Kernel driver in use: pcieport
00: 22 10 34 16 07 04 10 00 00 00 04 06 10 00 81 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f1 01 00 00
20: f0 fc f0 fc f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 00 12 00

00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Flags: bus master, fast devsel, latency 0, IRQ 29, IOMMU group 3
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: fce00000-fcefffff [size=1M] [32-bit]
    Prefetchable memory behind bridge: [disabled] [64-bit]
    Capabilities: <access denied>
    Kernel driver in use: pcieport
00: 22 10 34 16 07 04 10 00 00 00 04 06 10 00 81 00
10: 00 00 00 00 00 00 00 00 00 02 02 00 f1 01 00 00
20: e0 fc e0 fc f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 00 12 00

00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
    Flags: fast devsel, IOMMU group 4
00: 22 10 32 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
    Flags: bus master, fast devsel, latency 0, IRQ 30, IOMMU group 5
    Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: f000-ffff [size=4K] [16-bit]
    Memory behind bridge: fca00000-fcdfffff [size=4M] [32-bit]
    Prefetchable memory behind bridge: d0000000-e01fffff [size=258M] [32-bit]
    Capabilities: <access denied>
    Kernel driver in use: pcieport
00: 22 10 35 16 07 04 10 00 00 00 04 06 10 00 81 00
10: 00 00 00 00 00 00 00 00 00 03 03 00 f1 f1 00 00
20: a0 fc d0 fc 01 d0 11 e0 00 00 00 00 00 00 00 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 01 12 00

00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
    Subsystem: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b]
    Flags: 66MHz, medium devsel, IOMMU group 6
    Kernel driver in use: piix4_smbus
    Kernel modules: i2c_piix4, sp5100_tco
00: 22 10 0b 79 03 04 20 02 51 00 05 0c 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 0b 79
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
    Subsystem: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e]
    Flags: bus master, 66MHz, medium devsel, latency 0, IOMMU group 6
00: 22 10 0e 79 0f 00 20 02 51 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 0e 79
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 0 [1022:166a]
    Flags: fast devsel, IOMMU group 7
00: 22 10 6a 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 1 [1022:166b]
    Flags: fast devsel, IOMMU group 7
00: 22 10 6b 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 2 [1022:166c]
    Flags: fast devsel, IOMMU group 7
00: 22 10 6c 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 3 [1022:166d]
    Flags: fast devsel, IOMMU group 7
    Kernel driver in use: k10temp
    Kernel modules: k10temp
00: 22 10 6d 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 4 [1022:166e]
    Flags: fast devsel, IOMMU group 7
00: 22 10 6e 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 5 [1022:166f]
    Flags: fast devsel, IOMMU group 7
00: 22 10 6f 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 6 [1022:1670]
    Flags: fast devsel, IOMMU group 7
00: 22 10 70 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Cezanne Data Fabric; Function 7 [1022:1671]
    Flags: fast devsel, IOMMU group 7
00: 22 10 71 16 00 00 00 00 00 00 00 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation E12 NVMe Controller [1987:5012] (rev 01) (prog-if 02 [NVM Express])
    Subsystem: Phison Electronics Corporation E12 NVMe Controller [1987:5012]
    Flags: bus master, fast devsel, latency 0, IRQ 49, IOMMU group 8
    Memory at fcf00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: nvme
    Kernel modules: nvme
00: 87 19 12 50 06 04 10 00 01 02 08 01 10 00 00 00
10: 04 00 f0 fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 87 19 12 50
30: 00 00 00 00 80 00 00 00 00 00 00 00 ff 01 00 00

02:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak] [8086:2725] (rev 1a)
    Subsystem: Intel Corporation Wi-Fi 6 AX210 160MHz [8086:0024]
    Flags: bus master, fast devsel, latency 0, IRQ 63, IOMMU group 9
    Memory at fce00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
00: 86 80 25 27 06 04 10 00 1a 00 80 02 10 00 00 00
10: 04 00 e0 fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 24 00
30: 00 00 00 00 c8 00 00 00 00 00 00 00 ff 01 00 00

03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c1) (prog-if 00 [VGA controller])
    Subsystem: IP3 Tech (HK) Limited Device [1e50:8015]
    Flags: bus master, fast devsel, latency 0, IRQ 40, IOMMU group 10
    Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Memory at e0000000 (64-bit, prefetchable) [size=2M]
    I/O ports at f000 [size=256]
    Memory at fcd00000 (32-bit, non-prefetchable) [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: amdgpu
    Kernel modules: amdgpu
00: 02 10 38 16 07 04 10 08 c1 00 00 03 10 00 80 00
10: 0c 00 00 d0 00 00 00 00 0c 00 00 e0 00 00 00 00
20: 01 f0 00 00 00 00 d0 fc 00 00 00 00 50 1e 15 80
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 01 00 00

03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
    Flags: bus master, fast devsel, latency 0, IRQ 82, IOMMU group 11
    Memory at fcdc8000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
00: 02 10 37 16 06 04 10 00 00 00 03 04 10 00 80 00
10: 00 80 dc fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 02 10 37 16
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 02 00 00

03:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
    Subsystem: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
    Flags: bus master, fast devsel, latency 0, IRQ 49, IOMMU group 12
    Memory at fcc00000 (32-bit, non-prefetchable) [size=1M]
    Memory at fcdcc000 (32-bit, non-prefetchable) [size=8K]
    Capabilities: <access denied>
    Kernel driver in use: ccp
    Kernel modules: ccp
00: 22 10 df 15 06 04 10 00 00 00 80 10 10 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 c0 fc 00 00 00 00
20: 00 00 00 00 00 c0 dc fc 00 00 00 00 22 10 df 15
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 03 00 00

03:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639] (prog-if 30 [XHCI])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
    Flags: bus master, fast devsel, latency 0, IRQ 31, IOMMU group 13
    Memory at fcb00000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci
00: 22 10 39 16 07 04 10 00 00 30 03 0c 10 00 80 00
10: 04 00 b0 fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 39 16
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 04 00 00

03:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639] (prog-if 30 [XHCI])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
    Flags: bus master, fast devsel, latency 0, IRQ 40, IOMMU group 14
    Memory at fca00000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci
00: 22 10 39 16 07 04 10 00 00 30 03 0c 10 00 80 00
10: 04 00 a0 fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 39 16
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 01 00 00

03:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 01)
    Subsystem: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2]
    Flags: fast devsel, IRQ 63, IOMMU group 15
    Memory at fcd80000 (32-bit, non-prefetchable) [size=256K]
    Capabilities: <access denied>
    Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh, snd_sof_amd_acp63
00: 22 10 e2 15 02 00 10 00 01 00 80 04 10 00 80 00
10: 00 00 d8 fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 e2 15
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 02 00 00

03:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
    DeviceName: HD Audio Controller
    Subsystem: Conexant Systems, Inc. Device [14f1:0216]
    Flags: bus master, fast devsel, latency 0, IRQ 50, IOMMU group 16
    Memory at fcdc0000 (32-bit, non-prefetchable) [size=32K]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
00: 22 10 e3 15 06 04 10 00 00 00 03 04 10 00 80 00
10: 00 00 dc fc 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 f1 14 16 02
30: 00 00 00 00 48 00 00 00 00 00 00 00 ff 03 00 00
$ fwupdmgr get-devices
Star Labs StarBook
│
├─AMD Ryzen 7 5800U with Radeon Graphics:
│ │   Device ID:          4bde70ba4e39b28f9eab1628f9dd6e6244c03027
│ │   Current version:    0x0a50000f
│ │   Vendor:             Advanced Micro Devices, Inc.
│ │   GUIDs:              79759cdc-94db-5098-be7b-eb02521fbbec ← CPUID\PRO_0&FAM_19&MOD_50
│ │                       20b595b0-5892-5870-8e4c-688133ad6e34 ← CPUID\PRO_0&FAM_19&MOD_50&STP_0
│ │   Device Flags:       • Internal device
│ │ 
│ ├─Graphics Processing Unit (GPU):
│ │ │   Device ID:        3743975ad7f64f8d6575a9ae49fb3a8856fe186f
│ │ │   Summary:          Cezanne Generic VBIOS
│ │ │   Current version:  017.010.000.030.000000
│ │ │   Vendor:           Advanced Micro Devices, Inc. [AMD/ATI] (PCI:0x1002)
│ │ │   GUID:             2fa7bf62-be21-592a-95ae-57b66aab5bb0 ← AMD\113-CEZANNE-020
│ │ │   Device Flags:     • Internal device
│ │ │ 
│ └─Secure Processor:
│       Device ID:        c54ab0237d7a8db8c717b68e0be78e4374a2a079
│       Current version:  00.11.00.71
│       Bootloader Version:00.11.00.71
│       Vendor:           Advanced Micro Devices, Inc. (PCI:0x1022)
│       GUIDs:            0e8dc554-a0a2-51fb-b439-1eb72b14ec38 ← PCI\VEN_1022&DEV_15DF
│                         bd5a5081-60b8-57cb-91d6-78e850123204 ← PCI\VEN_1022&DEV_15DF&SUBSYS_102215DF
│       Device Flags:     • Internal device
│     
├─Star Drive PCIe SSD:
│     Device ID:          71b677ca0f1bc2c5b804fa1d59e52064ce589293
│     Summary:            NVM Express solid state drive
│     Current version:    ECFM32.2
│     Vendor:             Phison Electronics Corporation (NVME:0x1987)
│     Serial Number:      1348072C06C700241992
│     GUIDs:              a44eb54c-5441-56f2-8cc0-5e48964c6457 ← NVME\VEN_1987&DEV_5012
│                         94e27f4a-86e3-53a2-a728-18db5dd2be18 ← NVME\VEN_1987&DEV_5012&SUBSYS_19875012
│                         12d61493-5ac4-57f7-a2c5-96878d115455 ← Star Drive PCIe SSD
│     Device Flags:       • Internal device
│                         • Updatable
│                         • System requires external power source
│                         • Needs shutdown after installation
│                         • Device is usable for the duration of the update
│   
├─System Firmware:
│ │   Device ID:          c738f5c2f089f407525d70d40c11ec7dbeb1e687
│ │   Summary:            UEFI System Resource Table device (updated via NVRAM)
│ │   Current version:    1.2.0
│ │   Minimum Version:    1.2.0
│ │   Vendor:             Star Labs (DMI:American Megatrends International, LLC.)
│ │   Update State:       Needs reboot
│ │   Last modified:      2024-06-06 17:10
│ │   GUID:               5a29ddbb-11dd-476d-a641-a45c1db63d5c
│ │   Device Flags:       • Internal device
│ │                       • Updatable
│ │                       • System requires external power source
│ │                       • Supported on remote server
│ │                       • Needs a reboot after installation
│ │                       • Cryptographic hash verification is available
│ │                       • Device is usable for the duration of the update
│ │   Device Requests:    • Message
│ │                       • Message (custom)
│ │ 
│ └─UEFI dbx:
│       Device ID:        362301da643102b9f38477387e2193e57abaa590
│       Summary:          UEFI revocation database
│       Current version:  371
│       Minimum Version:  371
│       Vendor:           UEFI:Linux Foundation
│       Install Duration: 1 second
│       GUIDs:            f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
│                         43423925-0c99-5746-879d-c5aa1dc14bf3 ← UEFI\CRT_E8E95F0733A55E8BAD7BE0A1413EE23C51FCEA64B3C8FA6A786935FDDCC71961&ARCH_X64
│       Device Flags:     • Internal device
│                         • Updatable
│                         • Supported on remote server
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│                         • Only version upgrades are allowed
│                         • Signed Payload
│     
├─TPM:
│     Device ID:          c6a80ac3a22083423992a3cb15018989f37834d6
│     Summary:            TPM 2.0 Device
│     Current version:    3.73.0.5
│     Vendor:             Advanced Micro Devices, Inc. (TPM:AMD)
│     GUIDs:              9305de1c-1e12-5665-81c4-37f8e51219b8 ← TPM\VEN_AMD&DEV_0001
│                         78a291ae-b499-5b0f-8f1d-74e1fefd0b1c ← TPM\VEN_AMD&MOD_AMD
│                         65a3fced-b423-563f-8098-bf5c329fc063 ← TPM\VEN_AMD&DEV_0001&VER_2.0
│                         5e704f0d-83cb-5364-8384-f46d725a23b8 ← TPM\VEN_AMD&MOD_AMD&VER_2.0
│     Device Flags:       • Internal device
│                         • System requires external power source
│                         • Needs a reboot after installation
│                         • Device can recover flash failures
│                         • Full disk encryption secrets may be invalidated when updating
│                         • Signed Payload
│   
Sean-StarLabs commented 3 months ago

So I'm guessing either...

So, fwupd does a lot of things - flashrom is only used when switching branch, or updating coreboot. What you're trying to do is a capsule update, so anything flashrom related can be ignored.. That said, the stuff you're seeing is because the version of flashrom you've got installed is too old for the processor.

For capsule updates, all it's doing is copying a capsule to the EFI partition and then booting an EFI binary that'll install it (it'll show in the Boot Menu as "Linux Firmware Updater").

There are too many variables in Arch to say where to look; if you want to dig into it, I'd suggest scheduling the update and then rebooting manually and selecting the "Linux Firmware Updater" to see if it's an issue with it, just not being called. If it is being called, then I've only ever seen it be tripped up by some file on the EFI partition that confuses things - cautiously removing things that aren't essential is the first step, and failing that, you have to pul logs for the EFI binary.

Best bet, just update it from the EFI Shell - https://support.starlabs.systems/kb/firmware/efi-shell

cyb3rmonk commented 3 months ago

So, fwupd does a lot of things - flashrom is only used when switching branch, or updating coreboot. What you're trying to do is a capsule update, so anything flashrom related can be ignored..

didn't know, thanks for the info!

Then I reboot and the firmware is still 1.2.0

FIXED - I was able to install the latest version just now. Turns out the problem was my system - I have a non-standard /boot setup, so fwupdmgr was writing fwupdx64.efi and fwupd-xxx.cap files outside of the EFI partition root.

The "0x51" error threw me off because it seemed related, and OP from #65 had the same message so I thought it indicated the problem was not with my install.

... so anyway sorry for wasting your time

That said, the stuff you're seeing is because the version of flashrom you've got installed is too old for the processor.

For the record, I checked and I'm using the latest version of fwupd and flashrom. Re-reading the logs, it seems like fwupd daemon is checking capabilities of plugins when it starts, and the SMBus thing is something the flashrom plugin sees as unsupported.

Since flashrom is for installing coreboot, I guess it doesn't matter until AMD gives you what you need.

Sean-StarLabs commented 3 months ago

I'm using the latest version of fwupd and flashrom. Re-reading the logs, it seems like fwupd daemon is checking capabilities of plugins when it starts, and the SMBus thing is something the flashrom plugin sees as unsupported.

It's because flashrom is outdated - just because it's arch, doesn't mean it's the latest ;)

cyb3rmonk commented 3 months ago

I mean it's up-to-date compared to their official releases - seems the the latest as of today is 1.3.0, which is what I have.

What do you mean by outdated?