• V1.2.3 1d3fb4f929

    etwen released this 2026-09-23 14:44:07 +08:00 | 15 commits to main since this release

    ✨ 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.

    🔗 Links

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

    Downloads