-
released this
2026-08-31 22:19:43 +08:00 | 20 commits to main since this release✨ New features
4_Blanton_Script_thermal_safety.ttl- A standalone script — it is not part of the A → B → C chain and is not started by any of them. Run it on its own when the question is thermal or safety rather than functional.
- Brings the DUT up the same way Script A does (login, session reset, fan speed,
wait_init, DUT inventory, BMC, PCIe error clear,pcie_bus, PMON, dmesg), then loads it:mlucas-avx2 -cpu 0:15in the background andblanton_tr518.sh starton the data plane. - Then loops every minute: platform data, both switch boards' rail power via
TH6_SWB0/1_power_readback.sh, andbgctl list/jobs. That is the point of the script — power per rail under sustained full load, sampled over hours. - It has no teardown. When you interrupt it the DUT is still in
port cd lb=mac,l2 learn offandtest mode nr=yes, andmlucas-avx2is still running. Runblanton_tr518.sh stopandkill $(jobs -p)before anything else uses the box — nothing inshow interfaces statusreveals the leftover state. - It cannot share a DUT with Script B. Both take over the
cdports.
Test flow diagram
docs/Blanton_Test_Flow.drawiodraws all four scripts side by side, with the config flags that change each step marked, the one realgotoin Script B drawn, and the manual handoffs between A → B → C shown as such.
🐛 Bug fixes
The soak loop spent most of its minute reading margin
- Script B's per-round loop is meant to be a quick sample.
margin_status_all.shwalks nine LTC2980s over I2C and dominated the round. The scan moved to Script C, which takes it once beforeshow uptime. - The trade-off is real and worth knowing: margin is now only measured at the start (Script A) and the end (Script C). Drift that happens during the soak is no longer visible.
hw-test-session finishran from inside the session's own shell- Script C now sends
exitand waits forScript donefirst, sofinishruns in the login shell that opened the session.
The new script arrived with LF line endings
- Every other
.ttlin the repo is CRLF, and.gitattributesmarks*.ttlas-text— whatever is committed is exactly what Tera Term gets. Converted to CRLF to match.
📦 Downloads
File Contents Script_ABC_Blanton_V1.1.4.zipThe full Tera Term working directory, including Blanton_Script/to copy onto the DUTAfter copying to the DUT:
chmod +x ~/Blanton_Script/*.sh # see below grep -rlU $'\r' ~/Blanton_Script # expect no outputblanton_ber.sh,nfc_polling.sh,blanton_tr518.shand the twoTH6_SWB*_power_readback.share invoked through./or~/, so they need the execute bit along withbmc_monitor.shandusb_target.sh— neither git nor a Windows/USB copy carries it reliably.⚠️ Before you run
- Script 4 leaves the switch loaded and looped back. Always finish with
blanton_tr518.sh stop. If the next test starts without it, traffic and BER results are meaningless and nothing warns you. - Do not run Script 4 and Script B on the same DUT. Same ports, same L2 settings.
- Margin is no longer sampled during the soak — only Script A (start) and Script C (end).
- Re-baseline your margin limits if you have not already:
VNOMbecame the measured median in v1.1.3, which moved both the deviation % and the margin window. - These three cannot share the switch:
blanton_ber.sh,blanton_tr518.sh,blanton_traffic_linespeed. - PRBS takes the links down while
blanton_ber.shis armed. ce0keeps circulating until you stop it.- Two numbers must stay in step: Script C's
sleep 30andblanton_ber.sh'sBER_INTERVAL. FAN_SPEEDis 100 — relevant here more than anywhere: a thermal run at full fan is not the same test as one at 30%.- The three items listed as unverified in v1.1.0 are still unverified: the
ce0ingress mirror, the 120s settle inblanton_tr518.sh, andtest mode nr=noon stop. The settle matters most for this release — Script 4 depends ontr 518still driving traffic minutes after it was started.
🔗 Links
- Blanton_Test_Flow.drawio — the four scripts side by side
- ARCHITECTURE.md — test flow, data models, constraints
- CLAUDE.md — commands and the bench gotchas
Full changelog: V1.1.3...V1.1.4
Downloads