# v1.1.5 — The stress jobs now last the whole soak ## 🐛 Bug fixes **USB stress ran for sixty seconds of an overnight soak** * `qfx5252-stress-usb` was started with `--runtime 60`. It finished a minute in and the USB path sat idle for the rest of the night. Nothing failed, nothing said so, and the run looked complete. * SSD stress had the same shape at `--runtime 3600` — one hour of a soak that usually runs far longer. * Both are now `--runtime 86400`, and the BMC DDR memtester lost its loop count (`64M 1` → `64M`) so it runs until it is stopped rather than finishing one pass. * **86400 is 24 hours, not "forever".** A soak longer than a day leaves SSD and USB dead for the remainder. Script B prints `bgctl list` every round (since v1.0.10), so the shorter list is visible there — but nothing raises an alarm. ## ✨ New features **Multiphase VRM margin** * New `blanton_multiphase_margin.sh` drives the multiphase controllers on both switch boards over the native i2c buses — SWB0 on `/dev/i2c-13` and `-15`, SWB1 on `-14` and `-16`. 19 rails per board, 38 in all. * `high3` / `low3` / `comboA` / `comboB` set the voltages and report one line per rail: ``` SWB0_0V9_ANLG0 - 0.930V Configure Done SWB0_0V75_ANLG0 - 0.775V Configure Done ... [ OK ] high3: 38 rail(s) configured ``` * `save` commits them. It has no per-rail mapping, so it reports as one operation: `Multiphase Save All`. * `-u 0` / `-u 1` for a single board; rails belonging to the other board are skipped and counted separately, not failed. * **`save` writes NVM permanently** (PMBus `STORE_USER_ALL`, and `0x17` on the TH6 core rail). A power cycle does not undo it. * **These are not the LTC2980s that `margin.sh` drives.** The two tools reach the same rails from different sides and each assumes it is the only writer. There is no interlock — do not run both. **Traffic bursts carry a random pattern** * `blanton_traffic_linespeed` v0.7.0 appends `PatternRandom=yes` to every `tx`, `ce0` included. A fixed pattern can sit on a benign bit sequence for an entire run; a changing one is what makes a weak lane show itself. * `-r no` forces the fixed pattern; `-r ""` leaves the argument off entirely, which is the pre-v0.7.0 wire format if a future SDK rejects it. * Defaults change from `tx 100 length=512` to `tx 200 length=324`. * **Counter totals are not comparable across this build**: 64800 bytes per burst instead of 51200, about 27% more. The PASS/FAIL cross-check compares a pair against each other and is unaffected — only absolute figures moved. ## 📦 Downloads | File | Contents | |---|---| | `Script_ABC_Blanton_V1.1.5.zip` | The full Tera Term working directory, including `Blanton_Script/` to copy onto the DUT | **After copying to the DUT:** ```bash chmod +x ~/Blanton_Script/*.sh # see below grep -rlU $'\r' ~/Blanton_Script # expect no output ``` `blanton_ber.sh`, `nfc_polling.sh`, `blanton_tr518.sh`, `blanton_multiphase_margin.sh` and the two `TH6_SWB*_power_readback.sh` are invoked through `./` or `~/`, so they need the execute bit along with `bmc_monitor.sh` and `usb_target.sh` — neither git nor a Windows/USB copy carries it reliably. ## ⚠️ Before you run * **A soak longer than 24 hours needs the runtimes raised.** `--runtime 86400` is a ceiling; past it, SSD and USB are idle and only a shorter `bgctl list` hints at it. * **`blanton_multiphase_margin.sh save` is permanent.** Read the rails back before committing, and never run it during a test. * **Do not mix `blanton_multiphase_margin.sh` and `margin.sh`** — same rails, two different access paths, no interlock. * **Traffic counters changed scale.** Any absolute thresholds taken from earlier logs need redoing. * **Script 4 (thermal/safety) has no teardown** — finish with `blanton_tr518.sh stop` and `kill $(jobs -p)`. * **These three cannot share the switch**: `blanton_ber.sh`, `blanton_tr518.sh`, `blanton_traffic_linespeed`. * **Margin is only sampled at the start and end of a soak** (since v1.1.4), not during it. * **`FAN_SPEED` is 100** — the fans run flat out unless you change `config.ttl`. * **The three items listed as unverified in v1.1.0 are still unverified**: the `ce0` ingress mirror, the 120s settle in `blanton_tr518.sh`, and `test mode nr=no` on stop. ## 🔗 Links * [Blanton_Test_Flow.drawio](https://etgit.et-wen.com/etwen/Blanton_TTL_Script/src/branch/main/docs/Blanton_Test_Flow.drawio) — the four scripts side by side * [ARCHITECTURE.md](https://etgit.et-wen.com/etwen/Blanton_TTL_Script/src/branch/main/ARCHITECTURE.md) — test flow, data models, constraints * [CLAUDE.md](https://etgit.et-wen.com/etwen/Blanton_TTL_Script/src/branch/main/CLAUDE.md) — commands and the bench gotchas **Full changelog:** [V1.1.4...V1.1.5](https://etgit.et-wen.com/etwen/Blanton_TTL_Script/compare/V1.1.4...V1.1.5)