-
released this
2026-09-04 22:44:25 +08:00 | 13 commits to main since this release✨ New features
blanton_multiphase_margin.sh normal— put the rails back without a power cyclenormalreturns all 38 multiphase rails to their nominal set point, with the same per-rail reporting as the margin profiles (SWB0_0V9_ANLG0 - 0.930V Configure Done).-u 0|1|allas usual.- Until now the only way out of a margin was to power-cycle the DUT. That mattered more than it sounds:
saverun while the board was still margined would have written the offsets into NVM, where a power cycle does not help either. - The commands it sends are in
tools/Multiphase_Normal.txtfor anyone driving the bench by hand.
⚠️
TH6_COREis 0.8 V nominal but settles near 0.8591 V once the load line is active. Reading back 0.859 afternormalis the load line doing its job, not a failed write.5_Blanton_Script_Reboot_Cycle.ttl— an unattended reboot-cycle run-
A standalone macro, like Script 4: it does not chain to A → B → C and does not use
hw-test-session. Every cycle is a fresh boot, so there is nothing to carry over and nothing to tear down. -
Each round: login →
sudo -i→date -s→ fan speed →wait_init→ Check Pt1 … Pt13 →show uptime→reboot→ wait for the next boot. The cycle number is printed in the banner of every round.Pt1 DUT info Pt2 BMC info + tools Pt3 mgmt ping Pt4 NFC poll Pt5 SSD stress Pt6 USB stress Pt7 BMC USB net Pt8 port status + 15 s traffic Pt9 BER sweep Pt10 NVMe errors Pt11 platform data Pt12 dmesg i2c Pt13 PCIe error counters -
The USB step takes its device node from
usb_target.sh, not a hard-coded/dev/sda1.
The SSD and USB stress durations are declared in
config.ttlSSD_RUNTIME/SSD_COUNTandUSB_RUNTIME/USB_COUNTreplace the values that were hard-coded in Script B, so a site changes them in one place.COUNTis passed straight through as--passes.
🐛 Bug fixes
Script B left the global
timeoutat 15 s for the rest of the cdc_ncm section- The NCM probe sets
timeout = 15and restored it only at:skip_ping— which the success path reaches severalwaits later. Until then everywaitgave up after 15 s instead of blocking, and awaitthat returns without eating the prompt puts the whole macro a beat ahead of the DUT. It is now restored on the success path too.
goto skip_pingin the reboot-cycle macro had no label to jump to- The probe was copied out of Script B without its
:skip_pinglabel. Tera Term does not check labels when it loads a macro — it raises the error only when it actually jumps, which here means only when the NCM interface is missing. The failure mode was an error dialog stopping the whole cycle, on the one run where something was already wrong. The label is there now, and thetimeoutis restored before the branch so one line covers both paths.
Two check points both numbered 12
Dmesg_i2candPCIE Error Countersboth announced themselves asCheck Pt12. The second is nowPt13; Pt1 … Pt13 are unique.
📦 Downloads
File Contents Script_ABC_Blanton_V1.1.7.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.sh,blanton_multiphase_margin.sh,pwr_brick.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
--runtimeis the job's overall limit, not a per-pass one.qfx5252-stress-*stops afterRUNTIMEseconds whatever--passessays, soSSD_RUNTIME=600is a 10 minute stress, not 600 ×SSD_COUNT. For a 24 hour soak setRUNTIMEto86400. The shipped defaults are 600.- Script 5 has not been run on hardware yet. Two things to confirm on the bench: that
wait "Booting in blind mode"really appears in this build's boot output — it has notimeoutguard, so a changed string waits forever — and that re-runningbmc-first-enrollevery cycle is safe. - Script 5 has no exit condition.
while 1with arebootat the end of each round; stop it by closing the Tera Term macro. blanton_multiphase_margin.sh saveis permanent, and must not be mixed withmargin.sh— same rails, two access paths, no interlock. Never run it while the board is margined.READ_VINandREAD_IINare still not in the ADPM12200 coefficient table —pwr_brick.shdecodes them with the voltage and current coefficients. Confirm before quoting brick Vin.- The BMC USB service log only exists on the USB stick.
- Script 4 (thermal/safety) has no teardown — finish with
blanton_tr518.sh stopandkill $(jobs -p). - These three cannot share the switch:
blanton_ber.sh,blanton_tr518.sh,blanton_traffic_linespeed. FAN_SPEEDis 100.- Still unverified from v1.1.0: the
ce0ingress mirror, the 120 s settle inblanton_tr518.sh, andtest mode nr=noon stop.
🔗 Links
- ARCHITECTURE.md — test flow, data models, constraints
- CLAUDE.md — commands and the bench gotchas
- Blanton_Test_Flow.drawio — the scripts side by side
Full changelog: V1.1.6...V1.1.7
Downloads