# v1.2.7 — FDR on the cabled ports only, vendor NFC tool v2.5, and a tester user guide ## ✨ New features **`Script_User_Guide.md` — the tester guide, shipped in the package** * Part 1: copying `Blanton_Script/` from a USB stick onto the DUT (mount, copy, `chmod +x`, CRLF check), every `config.ttl` setting, and what Scripts A, B and C run, step by step. * Part 2: the usage of every tool in `Blanton_Script/`, including the full LTC2980 margin guide. **`4_1_Blanton_Script_thermal.ttl` — Script 4 with an idle phase and the thermal tr 518 load** * 300 idle rounds first (PMON snapshot, SWB0/SWB1 rail power, AMD CPU power), then `blanton_tr518_thermal.sh start` and the full-load loop. * The full-load loop also logs `nvme smart-log` / `smartctl -x` every round and waits with a DUT-side `sleep 1` instead of `pause 60`. **`blanton_tr518_thermal.sh` — `tr 518` with the thermal-test arguments** * Same as `blanton_tr518.sh` (start / stop, `-u`, `-w`, `--no-wait`, `-n`), but runs `tr 518 Scenario=6 Profile=2 portstopktszstride=1 Count=260 PktSize=603,218 CheckLinkTime=20 CheckDataTime=200 TestPhase=1`. * Override the arguments with `TR_THERMAL_ARGS`, not `TR_TEST_ARGS`. **`blanton_multiphase_read.sh` — read back the SWB multiphase VRMs** * Reads the controllers `blanton_multiphase_margin.sh` writes (SWB0 = i2c-13/15, SWB1 = i2c-14/16): one row per chip with VOUT / VOUT2, IOUT / IOUT2, POUT (V × I) and TEMP, plus the total power per board. * Every voltage and current is followed by the raw PMBus word in hex, e.g. `0.740(0x0128)`. ## 🐛 Bug fixes **`blanton_fdr.sh` no longer prints the uncabled ports** (v1.0.1) * The default port list was `'1-259,270-565'`, which also covered ports nothing is cabled to (cd15..19, cd47..51, cd111..115, ...). * It is now the cabled-port list from `blanton_traffic_linespeed.sh` (`TL_PS_PORTS`), the same one `blanton_ber_debug.sh` uses: `1-24,40-96,112-168,184-240,256-259,270-308,310-327,342-380,382-399,414-452,454-471,486-524,526-543,558-565`. * Script A, B and C pick this up with no change to the TTLs. ## 📦 Vendor tool update **`blantons_nfc_validate.py` v2.3 → v2.5** — the customer's `qfx5252-nfc-validate`, renamed to keep the name `nfc_polling.sh` calls. * New: `--read-ndef` (Type 2 / Type 4 NDEF, Text and AMD FRU records), `--write-ndef` / `--set-location`, `--max-ndef-bytes`; NCI data packets with credit flow control. * Fixed: a `FileNotFoundError` crash while listing the processes that hold the NFC device open. * Bad arguments now print `[FAIL]` and exit 1 — `nfc_polling.sh` counts that as **FAIL**, not ERROR. * The default `test --debug` output (`[PASS]` / `[FAIL]` lines, `NFCID1=`) is unchanged, so `nfc_polling.sh` is not modified. ## 📦 Downloads | File | Contents | |---|---| | `Script_ABC_Blanton_V1.2.7.zip` | The full Tera Term working directory, including `Blanton_Script/` to copy onto the DUT | ```bash chmod +x ~/Blanton_Script/*.sh grep -rlU $'\r' ~/Blanton_Script # expect no output python3 ~/Blanton_Script/blantons_nfc_validate.py --version # expect 2.5 ``` ## ⚠️ Before you run * **`4_1_Blanton_Script_thermal.ttl`, `blanton_tr518_thermal.sh` and `blanton_multiphase_read.sh` have not been run on the bench yet.** Check that `tr 518` prints `TR 518 TEST PARAMETERS` on both units the first time. * **`4_1_Blanton_Script_thermal.ttl` has no teardown, like Script 4**: finish it with `blanton_tr518_thermal.sh stop` **and** `systemctl stop mlucas-amm`. * **`blanton_multiphase_read.sh` names 0x21 / 0x22 PU105 / PU102** (from `blanton_pwr_data.sh`), the reverse of the PHYTILE mapping in `blanton_multiphase_margin.sh`; the totals are not affected. Do not run it while `blanton_multiphase_margin.sh` is writing. * **Port 268 (ce0, 100G uplink) is not in the FDR list** — as before. Add it with `FDR_PORTS="...,268"` if FDR is wanted there. * **The cabled-port list now lives in three scripts** — `blanton_traffic_linespeed.sh`, `blanton_ber_debug.sh`, `blanton_fdr.sh`. Change all three when the cabling changes. * **Never put the NFC write flags (`--write-ndef`, `--set-location`, `--confirm-write`) in `NFC_ARGS`** — polling would rewrite the tag every round. * **`blanton_fdr.sh stop` (`fdrstat STOp`) is still unverified on the bench**; see v1.2.6. * **Nothing turns the unused lanes back on**; run `unused_lanes.sh on` by hand. See v1.2.6. * **`blanton_ber.sh` (Script A / C) still uses `p=3` and `sleep 30`**; see v1.2.5. * **Script 4 has no teardown**: finish it with `blanton_tr518.sh stop` **and** `systemctl stop mlucas-amm`. * **`FAN_SPEED` is 100.** ## 🔗 Links * [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.2.6...V1.2.7](https://etgit.et-wen.com/etwen/Blanton_TTL_Script/compare/V1.2.6...V1.2.7)