Files
Blanton_TTL_Script/docs/release-notes/v1.2.3.md
T
etwenandClaude Opus 5.5 1d3fb4f929 docs: Record V1.2.3 in Script A's history and add the release note
Script A: header to V1.2.3 / 2026-09-23; five entries under V1.2.3 for
setup_pmon.ttl, ddr5_temp.sh, hsc_temp_readback.sh, avt_pmpower.sh and
Script 4, with notes on the ~4 s per snapshot, the exec bit, the CRLF in
hsc_temp_readback.sh v1.0.0 and AVT not being shipped.

CLAUDE.md: status to V1.2.3; the PMON temperatures and Script 4's CPU
power in the overview; a commands block for the three new scripts; fix
the stale Script 5 file name and the "last release V1.1.5" line.

ARCHITECTURE.md: Script A ref to V1.2.3; the three scripts in the tree
and in setup_pmon's comment; avt_pmpower.sh in Script 4's row; the git
tag checkbox to V1.2.3.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UniUXkxgCG2Ty74advL8Pd
2026-09-23 14:44:07 +08:00

4.2 KiB

v1.2.3 — DIMM and hot-swap temperatures in every snapshot, and CPU power next to the switch rails

✨ New features

Every PMON snapshot now reads DDR5 DIMM and hot-swap controller temperatures

  • utils/setup_pmon.ttl runs ddr5_temp.sh and hsc_temp_readback.sh right after show platform temperature. Because setup_pmon is shared, this lands everywhere a snapshot is taken: Script A's baseline, each Script B soak round, Script C, the Script 4 loop and every Script 5 check point.
  • ddr5_temp.sh reads the SPD5118 hub on each DIMM: i2c bus 5, 0x50 / 0x51, register 0x31 (bit[12:2], sign bit 12, 0.25 °C/LSB). A read that fails prints read fail — never a number it did not read. Bus and addresses can be passed: ddr5_temp.sh [bus] [addr ...].
  • hsc_temp_readback.sh reads both LTC4287 hot-swap controllers on i2c bus 28 — HSC_MAIN @ 0x40 (PU11 internal / PQ1 external) and HSC_STBY @ 0x45 (PU46 internal / PQ53 external). The source is selected through 0xF3, then READ_TEMPERATURE 0x8D is read in Kelvin and converted.

Script 4 logs AMD CPU package power every round

  • avt_pmpower.sh runs AVTCMD -module pmm "get_pmdata()" and summarizes SktPwr, PPT Fast / PPT Slow against their limits, and MemPwr.
  • It runs after the two TH6_SWB power readbacks, so each sample now puts the switch rails and the CPU package side by side.
  • -q prints the summary only. Exit 2 = AVTCMD not found, 3 = AVTCMD failed, 4 = the PM table parsed to nothing (format changed).

🐛 Bug fixes

hsc_temp_readback.sh was saved with CRLF line endings

  • Copied to the DUT as-is, bash on SONiC fails on the first line ($'\r': command not found). The shipped file is LF.
  • Its comments said the delay between I2C transactions was 100 ms; DELAY=0.5 is what actually runs. Comments corrected and a Version History header added.

📦 Downloads

File Contents
Script_ABC_Blanton_V1.2.3.zip The full Tera Term working directory, including Blanton_Script/ to copy onto the DUT
chmod +x ~/Blanton_Script/*.sh
grep -rlU $'\r' ~/Blanton_Script              # expect no output
ls ~/AVT_Linux_NDA_2.8.37/AVTCMD              # Script 4 only - must already be there

⚠️ Before you run

  • Redeploy Blanton_Script/. If an earlier copy of hsc_temp_readback.sh reached the DUT, it is CRLF and will not run.
  • chmod +x after deploying. setup_pmon calls both new scripts by path. Without the exec bit each call is Permission denied and the snapshot carries on without those rows — nothing stops, nothing warns.
  • Each PMON snapshot is ~4 s longer. hsc_temp_readback.sh sleeps 0.5 s twice for each of its four readings. It adds up in Script 5, which snapshots at every check point.
  • AVT is not in this package (NDA). Unpack it on the DUT at exactly ~/AVT_Linux_NDA_2.8.37/ before Script 4. Missing, the call exits 2 every round and the loop runs on without a CPU power reading.
  • Script 4 logs the full PM table once a minute, because the call is made without -q.
  • CPU power is SMU telemetry, not a measurement. Its absolute accuracy is whatever the BIOS SVI calibration gives — cross-check against the VR's PMBus READ_POUT when the number matters.
  • None of the three new scripts has been checked against the Script A/B/C flow on hardware yet.
  • Do not run the boot cycle with EN_Cold_Warm_boot = 0, and check the hard-coded BDF on every board before the cold path (see v1.2.2).
  • BER, the DSC cycle, blanton_traffic_linespeed and blanton_tr518.sh cannot overlap. They all take the same ports.
  • Script 4 has no teardown: finish it with blanton_tr518.sh stop and systemctl stop mlucas-amm.
  • blanton_multiphase_margin.sh save is permanent, and must not be mixed with margin.sh.
  • FAN_SPEED is 100.

Full changelog: V1.2.2...V1.2.3