Skip to content

Support the 12PSSSS3 camera identity variant - #22

Merged
phryneas merged 3 commits into
mainfrom
support-pssss3-hwconfig-identity
Sep 20, 2026
Merged

phryneas merged 3 commits into
mainfrom
support-pssss3-hwconfig-identity

Conversation

@phryneas

@phryneas phryneas commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • accept the observed 12PSSSS3 serial and UOID structures alongside 12PSSSS4
  • correct the unit-specific HWCONFIG check range to 0x7D200A–0x7D200C
  • recognize and validate the observed 2026-03-02 and 2026-04-01 calendar-shaped fields at 0x7D206F–0x7D2072
  • normalize only those validated unit fields while retaining exact hashes for every surrounding byte
  • record the fourth stable dump's non-sensitive fingerprints and software-validation results
  • bump the package version from 0.8.0 to 0.9.0 for the follow-up release

Recovery continues to preserve the complete input HWCONFIG partition and the camera's own serial. No camera dump or full identifier is committed.

Evidence

The fourth camera's stable multi-read dump has SHA-256 574c71e6572093ea1b65c3ca9c3e5e1dd1e55d71443ca7b282db8ce700c45c85. Boot, kernel, root, system, partition layout, and every non-unit HWCONFIG byte match the supported family. Its exhausted config is 98.761% non-FF, with 634 CRC-valid nodes and 632 obsolete nodes.

Validation

  • python -m unittest discover -s tests -q — 165 tests passed
  • package installation and CLI smoke test passed
  • fingerprint JSON validation and git diff --check passed
  • strict inspection passed for the new dump and an existing supported reference dump
  • local serial-only recovery generation passed complete post-build validation and produced SHA-256 c28fdd1865219a82dd815bea3333acba91091ac809721b130e805adb53062b66

The contributor confirmed multiple independent reads with matching MD5 values. Only one representative copy was available in this environment, so the local recovery-generation check used the explicit reduced-read option. This is software validation; the new variant has not been flash/boot-tested through this PR.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

Hardware-specific recovery behavior and validation changes require final human review.

Review effort: Lite
Findings: 1 Medium severity · 1 Low severity

Open (2)
What changed in this PR

Adds support for the 12PSSSS3 camera identity variant and associated HWCONFIG fields.

Changes:

  • Validates and normalizes supported identity, date, and check fields.
  • Preserves unit-specific data while updating fingerprints.
  • Adds tests and fourth-camera validation documentation.
File Description
tests/​test_implementation.py Updates recovery and manifest tests.
tests/​test_hwconfig_variants.py Adds identity, date, and normalization tests.
hardware-recovery/​TEST_RESULTS.md Records fourth-camera validation results.
hardware-recovery/​TECHNICAL_DETAILS.md Documents the expanded contract.
hardware-recovery/​REFERENCE_FINGERPRINTS.json Updates supported identities, ranges, and hashes.
cc2camera/​image.py Implements variant and HWCONFIG validation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/test_hwconfig_variants.py
Comment thread hardware-recovery/TECHNICAL_DETAILS.md
@phryneas
phryneas merged commit 28fae6d into main Sep 20, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants