spdr-cli 0.1.0

Command-line DDR5 SPD (JESD400-5) decoder and beyond-CRC linter; the spdr binary. Unbuffered (UDIMM) complete; SODIMM, RDIMM, and LRDIMM deferred.
Documentation

spdr-cli

The command-line front-end for spdr, a read-only DDR5 SPD content decoder plus a semantic linter that validates beyond the CRC. It reads a saved SPD dump or a Linux sysfs eeprom path, prints a readable decode, and emits the lint report. It never writes SPD and never touches hardware.

Install

cargo install spdr-cli

The crate is spdr-cli, but the installed binary is named spdr. Note that cargo install spdr does not work: spdr is the library crate and ships no binary. Install spdr-cli for the tool, and cargo add spdr for the library.

Usage

spdr decode <file>          # human-readable decode (default)
spdr decode <file> --json   # JSON, one object keyed by section

spdr lint <file>            # human-readable lint findings (default)
spdr lint <file> --json     # JSON array of findings (empty array when clean)

decode exits 0 when the image fully decoded, 1 when at least one section failed (for example a truncated image; the sections that decoded are still printed), and 2 when the file was unreadable or the arguments were invalid. A base CRC mismatch is reported, not an error, and does not change the decode exit code.

lint exits 0 when there are no warning or error findings (clean, or only info advisories), 1 when at least one warning or error is present, and 2 on the same operational failures as decode. When the base configuration does not decode, the checks that depend on it are skipped while the reserved-bit check still runs, and the output says so, so a clean result on an unparseable file is not mistaken for a full bill of health.

Scope

Unbuffered (UDIMM) is complete; SODIMM, RDIMM, and LRDIMM module-specific decoding is deferred. See the spdr crate and the repository README for the full scope and the validated-against ledger.

License

Apache-2.0.