etwenandClaude Opus 5 690be5db7d feat(ber): Measure port 268, and stop reading lane results as shell errors
The port list ran 256-259 straight to 270-308, so ce0(268) - the 100G
uplink - was never measured. It is now its own group:

    BER_PORTS_200G   the cabled 200G ports
    BER_PORTS_100G   268, one per unit

They go out on one phydiag command and come back reported apart. The
summary gives each unit three rows - 200G ports, 100G p268, TOTAL -
because unit 0 and unit 1 each have their own ce0(268), and a marginal
uplink lane averaged into 432 others is invisible. TOTAL is not a
hand-added sum: every lane is folded into its own group and into ALL
separately, so the parts cannot drift from the whole. A group that
reports no lane at all counts as a failure - silence on the port under
test is the easiest way to ship a green report that measured nothing.

Separately, a fix that has been needed since v1.0.0. init kept answering

    [ERR ] unit 1: the BCM shell rejected 'phydiag ... prbs get'

on runs that were working. 'prbs get' prints one line per lane, a lane
that has not locked says "PRBS Error!", and the rejection check grepped
the whole output case-insensitively for ERROR|Invalid|... - so the
measurement matched the pattern meant for shell diagnostics.

The false alarm was the smaller half. The function returned early, which
skipped the lock count that was supposed to judge those very lanes: the
operator saw an error they could not act on, and did not see which lanes
had failed to lock. Per-lane lines are now excluded from the check, the
match is case-sensitive, and a genuine rejection prints the offending
line.

Developed on the bench as blanton_ber_test.sh and folded back over this
file once proven, so there is one BER script again rather than two with
diverging port lists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RetWKFZFG1ZHcitQAyhwM
2026-09-15 21:27:25 +08:00
S
Description
Blanton Tera Term TTL reliability test
4.9 MiB
V1.2.7
Latest
2026-10-22 14:26:17 +08:00
Languages
Shell 82%
Python 18%