• etwen released this 2026-08-27 14:29:50 +08:00 | 27 commits to main since this release

    New features

    Every soak round now reports the background jobs

    • Script B's monitoring loop prints bgctl list (platform jobs) and jobs (the login shell's own background jobs) on every pass, right after the platform data. A stress job that dies three hours into an overnight soak now shows up as a shorter list on the next round, instead of only being noticed at the end — or not at all.
    • The two lists answer different questions and are both worth having: bgctl knows about the platform's job runner, jobs knows about anything the macro backgrounded in that shell.

    A single table for all 144 margin channels

    • docs/LTC2980_channel_map.csv flattens the nine settings/*.conf files into one sheet — Board,CONN,Ch,NetName,Vnom — so "which board and channel is PVDD1V5_TSC on?" is one search instead of opening nine files.
    • tools/gen_channel_map.sh regenerates it. The CSV is output, not source: edit the .conf files and re-run the script, never the other way round.
    • Unused channels stay in the table as NC / - rather than being dropped, because the channel number is also the PMBus page (ch / 8 picks the chip, ch % 8 picks the page) — filtering the gaps out would shift everything after them.

    The bench command lists that these scripts came from

    • tools/100G_PRBS.txt, tools/TR518.txt and tools/fan_ctrl.txt join the existing traffic_loopback_*.txt set: the raw bcmcmd / sysfs sequences, kept in the form you can paste into a console when a script is misbehaving and you want to drive the hardware directly.

    🐛 Bug fixes

    The soak loop ran as fast as the DUT could answer

    • while 1 had no pause at all, so each round started the moment the previous one finished. Over a long soak that means constant console traffic and a log full of near-identical samples taken seconds apart. The loop now ends each round with pause 60.
    • Note the gap this leaves: the Status sheet asks for a 10-minute sampling interval, and 60 seconds is still hard-coded rather than configurable. This makes the loop sane, it does not finish the job.

    A comment promised a cadence the code never had

    • The loop was labelled Get data every 10mins while running with no delay whatsoever. It now says what it does.

    📦 Downloads

    File Contents
    Script_ABC_Blanton_V1.0.10.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
    

    mgmt_ping_monitor.sh and port_prbs_monitor.sh launch their workers through bash, so those two run without the execute bit. bmc_monitor.sh and usb_target.sh still need it, and neither git (mode 100644) nor a Windows/USB copy carries it. Without the chmod, start fails with Permission denied and the later cat finds nothing: the section ends up empty and nothing reports an error.

    ⚠️ Before you run

    • Declare the switch population. SWB_UNIT0 / SWB_UNIT1 in config.ttl say which switch units this DUT has; traffic and the readiness gate both follow them.
    • Set FAN_SPEED. It is applied at the start of every run.
    • Management connectivity is in use, not preserved. Both management NICs are up and pinging — drive the run from the serial console.
    • PRBS is still not wired into the macros. Run port_prbs_monitor.sh by hand if you want it; the calls in A/B/C remain commented out, unchanged from v1.0.9.
    • TR518 and the loopback traffic test cannot both run. tools/TR518.txt sets port all lb=mac and l2 learn off across the whole unit, which is the same hardware blanton_traffic_linespeed is using. Pick one.
    • Two settings persist to config_db.json and survive a reboot: LLDP is left disabled and the 100G uplinks are left configured. Restore them before the DUT moves on.

    🔗 Links

    Full changelog: V1.0.9...V1.0.10

    Downloads