-
released this
2026-08-26 15:35:48 +08:00 | 28 commits to main since this release✨ New features
100G uplink PRBS test
-
New
port_prbs_monitor.shdrives a PRBS test on both 100G uplinks: it clears low-power mode, arms the pattern, then pollsphy diag <phy> prbs getin the background until stopped. A poll counts as PASS only when the output saysPRBS OK!;prbsstat Beris captured alongside every poll for the record. -
stoprunsprbsstat STOpandprbs clearon each port before rendering the report, so the test does not leave PRBS armed behind it. -
reportgives the tally the bench actually wants:PORT POLLS PASS FAIL RESULT Ethernet513 42 42 0 PASS Ethernet514 42 40 2 FAIL -
One port at a time is a first-class mode.
start aorstart bruns a single uplink, which is how you separate a genuine port fault from the DUT not coping with two PRBS streams at once. A port that was not run reportsSKIP, notFAIL. -
Every command and its full output — setup, each poll, teardown — goes to that port's raw log.
⚠️ The script ships in this build and can be run by hand, but the calls in Script A, B and C are commented out: PRBS is still under bring-up on this platform.
USB target detection
usb_target.shreports an inserted USB device's node, mount point or by-id path. It excludes whatever disk backs/and/host— this platform can boot from a USB DOM, which also reports as USB — refuses to guess when several USB disks are present, and when mounting, verifies the result is writable rather than trusting thatmountsucceeded.- Script B builds the USB stress command from the detected node instead of a hard-coded
/dev/sda1.
🐛 Bug fixes
The job logs were being written to a path nobody collected
- Stress output, the monitors' logs and the USB archive disagreed about where the job directory lives. Everything now uses
/host/hw-eval/jobs/, so what Script B writes is what Script C copies out.
Script C copied to a USB that was never mounted
- The archive step assumed
/mnt/usbwas ready. Script C now finds the device and mounts it first, so a run's logs leave the DUT instead of being written into an empty mount point.
show interfaces statusright after starting PRBS reads as a failure- With PRBS armed the link is out of normal operation and reports DOWN.
port_prbs_monitor.shdeliberately does not print the port status atstart— it appears in the report instead, afterprbs clear, labelled as the recovered state.
📦 Downloads
File Contents Script_ABC_Blanton_V1.0.9.zipThe full Tera Term working directory, including Blanton_Script/to copy onto the DUTAfter copying to the DUT:
chmod +x ~/Blanton_Script/*.sh # see below grep -rlU $'\r' ~/Blanton_Script # expect no outputmgmt_ping_monitor.shandport_prbs_monitor.shlaunch their workers throughbash, so those two run without the execute bit.bmc_monitor.shandusb_target.shstill need it, and neither git (mode 100644) nor a Windows/USB copy carries it. Without thechmod,startfails withPermission deniedand the latercatfinds nothing: the section ends up empty and nothing reports an error.⚠️ Before you run
- Declare the switch population.
SWB_UNIT0/SWB_UNIT1inconfig.ttlsay 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 not wired into the macros yet. Run
port_prbs_monitor.shby hand if you want it; uncommenting the calls in A/B/C is not supported in this build. - Two settings persist to
config_db.jsonand survive a reboot: LLDP is left disabled and the 100G uplinks are left configured. Restore them before the DUT moves on.
🔗 Links
- ARCHITECTURE.md — test flow, data models, constraints
- CLAUDE.md — commands and the bench gotchas
Full changelog: V1.0.8...V1.0.9
Downloads
-