• V1.2.1 7a1967bc9a

    etwen released this 2026-09-08 09:35:42 +08:00 | 2 commits to main since this release

    New features

    Script A now takes a SerDes BER sweep before the first traffic run

    • blanton_ber.sh init → start → sleep 30 → report → stop → clear, branched on SWB_UNIT0 / SWB_UNIT1 exactly like the traffic block beside it.
    • Script C already ran the closing sweep after its traffic report. With this one at the front, the pair brackets the soak — the same shape as the DSC scans added in v1.2.0, and the same reason: a BER figure on its own says very little, a change in it says a lot.
    • The sleep 30 matches blanton_ber.sh's BER_INTERVAL. Reporting before one full interval has accumulated reads a window that has not finished, and nothing warns you about it.

    🐛 Bug fixes

    The new block's comment described the wrong position

    • It was copied out of Script C, which runs BER after the traffic report, and the comment came with it and still said "after". In Script A the block runs before traffic. The comment now says what the code does and why the ordering is what it is.

    ⚠️ Before you run

    • Watch Script A's first traffic report on the first run. PRBS holds the lanes out of normal operation and blanton_ber.sh clear is what releases them — and in Script A nothing settles between that clear and the blanton_traffic_linespeed ps / init that follows. Script C does not have this ordering, so the two reports are a built-in comparison: if Script A shows NA or FAIL pairs that Script C does not, the lanes had not come back yet, and a sleep after clear is the fix. This has not been run on hardware yet.
    • sleep 30 and BER_INTERVAL now live in three places — Script A, Script C, and blanton_ber.sh itself. Changing one without the others silently reports a partial interval.
    • BER, blanton_traffic_linespeed and blanton_tr518.sh cannot overlap. They all take over the same ports. Script A now touches those ports twice before the soak even starts.
    • EN_TX_FIR is still 0 by default, so the DSC scans do not run unless you turn them on; a full scan is ~10 min in each of Script A and Script C.
    • Replace config.ttl along with the macros. Tera Term aborts the macro on an undefined variable rather than treating it as 0.
    • bcm_dsc_scan.sh needs the execute bit: chmod +x ~/Blanton_Script/*.sh after copying.
    • --runtime is the job's overall limit, not a per-pass one. --passes does not extend it.
    • Script 4 has no teardown: finish it with blanton_tr518.sh stop and systemctl stop mlucas-amm.
    • Script 5 (reboot cycle) has no exit condition. A 199-cycle / 60-hour run has now been analysed: PCIe AER stayed at 0, all 218 traffic pairs and all 864 lanes passed every cycle, and the BMC never reset. Two things it did surface — bmc-first-enroll does not exist on that BMC build, and NFC returned FAIL on every cycle.
    • blanton_multiphase_margin.sh save is permanent, and must not be mixed with margin.sh.
    • READ_VIN and READ_IIN are still not in the ADPM12200 coefficient table.
    • The BMC USB service log only exists on the USB stick.
    • FAN_SPEED is 100.
    • Still unverified from v1.1.0: the ce0 ingress mirror, the 120 s settle in blanton_tr518.sh, and test mode nr=no on stop.

    📦 Downloads

    File Contents
    Script_ABC_Blanton_V1.2.1.zip The full Tera Term working directory, including Blanton_Script/ to copy onto the DUT
    chmod +x ~/Blanton_Script/*.sh
    grep -rlU $'\r' ~/Blanton_Script    # expect no output
    ls ~/hammer/tools/amd/mlucas-avx2   # must already be there
    

    🔗 Links

    Full changelog: V1.2.0...V1.2.1

    Downloads