Skip to content

v0.4.30

Choose a tag to compare

@github-actions github-actions released this 26 Oct 13:12
· 17 commits to main since this release

v0.4.30: ME info shows the full engine detail

What was wrong

"ME info" reported six fields: version, type, generation, offset, size and the
partition list. Everything else an engine dump carries — release, SKU, SVN/VCN,
OEM configuration, FWUpdate support, file system state, FIT version — was not
shown, even though the suite already ships the analyzer that decodes it.

What changed

The ME Region page now shows the detail set, in the analyzer's own order:

Family: CSE ME
Version: 16.1.25.1991
Release: Production
Type: Extracted
SKU: Consumer H
Chipset: Unknown
TCB SVN: 1
ARB SVN: 4
VCN: 14
Production Ready: Yes
OEM Configuration: Yes
FWUpdate Support: No
Date: 2022-08-29
File System State: Initialized
Size: 0x3DA000
Flash Image Tool: 16.1.25.1991
MEA Database Name: 16.1.25.1991_CON_H_X_PRD_EXTR
Generation: GEN3
Offset: 0x3000

Partitions:
  PSVN: offset 0x3400, size 0x200
  ...
  • The values are the analyzer's answers, not a second decoder. The bundled
    analyzer produces a JSON report; the page prints one labelled line per field
    from it, so the numbers match a full analyzer run exactly.
  • Nothing is guessed. A field the analyzer did not decode is left out, and an
    undecidable one stays Unknown (see the note on Chipset below).
  • If the analyzer cannot read the image, the page keeps the old six lines and
    adds one sentence saying so; a packaging problem (a missing analyzer
    dependency) and an unreadable image are reported differently.
  • The "ME Analyzer" menu action now shows the same labelled fields instead of
    the tail of its ASCII tables.
  • Partition names no longer carry padding spaces in the display.

Note on Chipset for the dump you sent

Chipset: Unknown is correct for this image, not a gap in the app: its chipset
initialization table (mphytbl) is present but empty, so the chipset name cannot
be derived from the file itself. The analyzer prints Unknown for the same
reason. Its MEA Database Name ends in _X_ for the same reason (unknown
stepping), while Chipset Support: ADP/RPP comes from the image's own manifests.

Verification

  • 675 tests pass; ruff clean. CI: Linux tests on 3.10, 3.11 and 3.12, plus the
    Windows build, all pass.
  • New tests cover: the exact field set and order, independent firmware (PMC,
    PCHC, PHY) never mistaken for the engine, unknown values omitted instead of
    guessed, N/A kept as a real answer, several engines labelled separately, the
    unreadable-image path, the missing-dependency path, the timeout path, a broken
    analyzer never breaking the page, and the page rendering both the detailed and
    the fallback output.
  • The frozen-app path was exercised end to end: the packaged dispatch
    (--mea-child) wrote the report and the fields matched the unpackaged run.
  • FIT/MFIT tool identification is unchanged and still passes its tests.

Downloads (SHA-256 from the GitHub release API)

  • BIOSRecoverySuite-portable-0.4.30.zip: sha256:8fb462caa317b8e5bbf26484118c81d256e91cf2ffd096652acc1492e0eefaa9
  • BIOSRecoverySuite-Setup-0.4.30.exe: sha256:054d77185d35621abdc9cbc1d121e94372ce77ddc2becc5a2893719dfa3617e5
  • BIOSRecoverySuite-Setup-0.4.30.exe.sig: sha256:f39758ae1a2b65706ca87b531c44c9ffb2e412006bd8240ecd3ddf02b49d3042

The installer is signed with the suite's Ed25519 release key (unchanged since
v0.4.24); the updater verifies the .sig and falls back to the SHA-256 above
over HTTPS when the key does not match.