• V1.0.3 419b680980

    etwen released this 2026-08-21 09:33:06 +08:00 | 46 commits to main since this release

    Blanton TTL Script V1.0.3

    One test run is Script A (baseline) -> B (soak) -> C (verdict), all captured in a single Tera Term log.

    New features

    Traffic

    • blanton_traffic_linespeed.sh drives SWB loopback line-speed traffic over bcmcmd, VLAN 30..137 pairing cdN with cdN+32
    • Per-pair TX/RX cross-check (cdA.TX == cdB.RX) yields PASS/FAIL; awk on the DUT, tools/bcm_mibpair_report_V1.1.0.py off-box
    • All three scripts now cover both switch units

    BMC

    • bmc_monitor.sh samples free -m; bmc_monitor_ddr.sh runs memtester as a stress load. Both reach the BMC through bmc-manager run from the host, so no interactive SSH to the BMC is needed
    • Script B starts them, Script C stops them and folds their logs into the master log

    Data collection

    • Script A records show boot, the BMC version, 100G port status and show uptime, and waits for pmon to come up before taking a baseline (utils/wait_init.ttl)
    • Script C adds show reboot-cause and show uptime, so an unplanned reset during the soak is visible in the closing snapshot
    • PMON snapshot extended with leak status and leak channels

    Packaging

    • publish/publish.sh builds publish/Script_ABC_Blanton_<Ver>/ (-z for a zip). The version is read from Script A's header, so the folder name cannot disagree with the macro

    🐛 Bug fixes

    • Every counter in the traffic report printed as 2147483647 — the DUT's awk casts to a 32-bit int for %d, and a real line-speed run is around 1e12. Now formatted with %.0f. Verdicts were never affected: the cross-check compares doubles and only the display path was wrong
    • SWB I2C channels and LTC2977 addresses — corrected against the bench. CONN13/15 and CONN14/16 were paired to the wrong channels, and addresses step by 2, not 1. This also clears the collision where two CONNs both landed on 0x5E on Ch6
    • CRLF made margin.sh unrunnable on SONiC ($'\r': command not found). .gitattributes now pins *.sh and *.conf to LF. settings/*.conf was the quieter half: they are sourced, so CB_I2C_CH=6 became "6\r"
    • margin.sh v2.6.0 — the SWB path never found the cb_i2c backend, so TRANSPORT=swb always failed to load. It now searches the parent Blanton_Script/ directory, and the duplicated backend copies were removed
    • Script C hung — it called a subcommand that runs tail -f and never returns, so the run never reached the stress results or the closing messagebox. Replaced with a direct cat of the logs

    ⚠️ Deployment notes

    scp -r src/Script_ABC_Blanton/Blanton_Script admin@<DUT>:~/
    chmod +x ~/Blanton_Script/bmc_monitor*.sh      # required -- see below
    grep -rlU $'\r' ~/Blanton_Script               # expect no output
    

    The chmod +x is not optional. bmc_monitor*.sh are the first scripts here meant to be executed rather than sourced, do_start re-execs its own path, and neither git (mode 100644) nor a Windows/USB copy carries the execute bit. Without it Script B's start fails with Permission denied and Script C's cat finds nothing — the BMC section ends up empty and nothing reports an error.

    📦 Downloads

    File Contents
    Script_ABC_Blanton_V1.0.3.zip The full Tera Term working directory, including Blanton_Script/ to scp onto the DUT
    Downloads