Capsule Updates require ME to be manually disabled
Component
Dasharo firmware
Device
NovaCustom V56 14th Gen, NovaCustom V54 14th Gen, NovaCustom NS7x 12th Gen, NovaCustom NS7x 11th Gen, NovaCustom NS5x 12th Gen, NovaCustom NS5x 11th Gen, NovaCustom NV4x 12th Gen, NovaCustom NV4x 11th Gen
Dasharo version
No response
Dasharo Tools Suite version
No response
Test case ID
No response
Brief summary
Updating via Capsule Update requires the ME to be manually disabled, to prevent ME from attempting to write to the flash while updating. This is sub-optimal UX.
How reproducible
100%
How to reproduce
- try to perform capsule update with ME enabled
Expected behavior
capsule update passes
Actual behavior
I get an error from CapsuleApp: Unsupported.
Screenshots
No response
Additional context
There are mechanisms to stop ME for update, like HMRFPO and flash descriptor override by strap.
Solutions you've tried
No response
@SergiiDmytruk can you describe the issues that you had with automatically disabling the ME on entry to FUM?
In-ram capsule images can't survive disabling or enabling ME because it requires a cold reset which changes contents of RAM and ruins the capsules. This is why ME needs to be disabled before the capsule is loaded into memory and the system is warm reset. An alternative is loading a capsule from disk after disabling ME, but we only have in-ram capsules at the moment.
An alternative is loading a capsule from disk after disabling ME
We are also considering updating ME over ME Interface (HECI). But that is rather more like a future plan.
Okay so to summarize, to make capsule-in-ram plug & play without needing to manually change settings, we would need to support two update protocols in capsules:
- ME FWUpdate via HECI when ME is enabled (using prestitched FWUpdate images)
- Direct flashing if ME is disabled (using a raw ME binary) These could be distributed as part of one capsule and the firmware could make the decision which protocol to use.
or: use capsule-on-disk instead of capsule-in-ram