Files
Blanton_TTL_Script/docs/release-notes/v1.1.2.md
T
etwenandClaude Opus 5 bc2b529c3a feat(nfc): Poll the NFC tag through the soak instead of sampling it once
nfc_polling.sh wraps blantons_nfc_validate.py in a background loop and
keeps score: start/stop/status/tail/report/clear/fg. Script A takes a
30s baseline, Script B starts the poll for the soak, Script C stops it
with the other monitors and reports.

report only reads the log, so it can be run mid-soak without disturbing
anything - and it says RUNNING so a snapshot is not read as the final
answer. Each round appends a machine-readable RESULT line, which keeps
the tally independent of the tool's wording.

ERROR is counted apart from FAIL. A round where the tool printed neither
[PASS] nor [FAIL] - crashed, missing, hung past the timeout - measured
nothing, and that is a different fault from a tag that would not read.
Rolling them together hides whichever one you are not looking for.

Two habits from earlier bugs are baked in: tail does not follow (tail -f
never returns and a macro waiting on the prompt hangs there), and the .py
is called through python3 rather than ./ (it arrives mode 100644 and a
USB copy carries no execute bit).

Also fixes Script C copying "nfc_polling.log" to the job dir when the
file is "nfc_poll.log". The cp failed, nothing checked it, and the run
finished looking fine - you would find out at the desk, with a job
archive that had no NFC log in it.

Script A -> V1.1.2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RetWKFZFG1ZHcitQAyhwM
2026-08-28 22:41:02 +08:00

4.2 KiB

v1.1.2 — NFC tag reads are now watched for the whole soak, not sampled once

New features

Background NFC polling

  • New nfc_polling.sh runs blantons_nfc_validate.py over and over in the background and keeps score. start / stop / status / tail / report / clear / fg.

  • report works while the poll is still running. It only reads the log, so it never disturbs the run — and it labels itself RUNNING so a mid-soak snapshot is not mistaken for the final answer:

    state    : RUNNING (pid=2240323) -- this is a snapshot, the count is still moving
    rounds   : 240
    PASS     : 238
    FAIL     : 2
    ERROR    : 0   (tool did not produce a verdict)
    RESULT   : FAIL
    
    --- tags seen ---
      046F7BD2142290       238
    
  • ERROR is counted apart from FAIL. A round where the tool printed neither [PASS] nor [FAIL] — it crashed, the file was missing, it hung past the timeout — did not measure anything. That is a different problem from a tag that would not read, and rolling the two together hides whichever one you are not looking for.

  • report also lists which NFCID1s were seen and how often, and the last ten failures with their timestamps and reasons.

  • start clears the log first, so a report always describes the run you just did rather than everything since the DUT was built.

  • Script A takes a 30-second NFC baseline, Script B starts the poll for the soak, Script C stops it with the other monitors and reports.

🐛 Bug fixes

The NFC log never reached the USB stick

  • Script C copied nfc_polling.log; the file is nfc_poll.log. The cp failed, nothing checked it, and the run finished looking fine — you would only notice back at the desk with a job archive that had no NFC log in it.

📦 Downloads

File Contents
Script_ABC_Blanton_V1.1.2.zip The full Tera Term working directory, including Blanton_Script/ to copy onto the DUT

After copying to the DUT:

chmod +x ~/Blanton_Script/*.sh      # see below
grep -rlU $'\r' ~/Blanton_Script    # expect no output

blanton_ber.sh and nfc_polling.sh are invoked by the macros 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. blantons_nfc_validate.py does not need it: nfc_polling.sh calls it through python3 precisely so one more chmod cannot be forgotten.

⚠️ Before you run

  • nfc_polling.sh start clears the log. Script B starts a fresh poll for the soak, which wipes Script A's baseline log — the baseline numbers are already in the master console log by then, but the file is gone.
  • NFC log path is ~/Blanton_Script/log/nfc_poll.log and it is copied into the job directory by Script C for the USB archive.
  • These three tests cannot share the switch. blanton_ber.sh, blanton_tr518.sh and blanton_traffic_linespeed all take over port loopback and L2 learning. Script C already orders BER after the traffic report.
  • PRBS takes the links down while blanton_ber.sh is armed. That is the test working, not a fault.
  • ce0 keeps running until you stop it. An interrupted run leaves the 100G port saturated with nothing in show interfaces status to hint at it.
  • Two numbers must stay in step: Script C's sleep 30 and blanton_ber.sh's BER_INTERVAL.
  • FAN_SPEED is 100 — the fans run flat out unless you change config.ttl.
  • Declare the switch population with SWB_UNIT0 / SWB_UNIT1.
  • PRBS on the two 100G uplinks (port_prbs_monitor.sh) is still not wired into the macros.
  • 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. See v1.1.0 for the one-command check on each.

Full changelog: V1.1.1...V1.1.2