docs: Update CLAUDE / ARCHITECTURE for V1.2.1 and add the release note

CLAUDE.md: status to V1.2.1 / 2026-09-08; the BER paragraph now says
Script A takes a baseline as well as Script C taking the closing sweep;
and a new gotcha that 'clear' is what puts the lanes back, with the
Script A versus Script C traffic reports as the way to tell whether they
came back in time.

ARCHITECTURE.md: Script A ref to V1.2.1 and its row updated with the
baseline sweep; the BER row notes both call sites; the sleep 30 /
BER_INTERVAL known issue now says three places rather than two; a new
known issue for the missing settle between Script A's BER clear and its
first traffic run; and the git tag checkbox to V1.2.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RetWKFZFG1ZHcitQAyhwM
This commit is contained in:
2026-09-08 09:35:36 +08:00
co-authored by Claude Opus 5
parent 496e3ab650
commit 7a1967bc9a
3 changed files with 67 additions and 8 deletions
+7 -2
View File
@@ -9,7 +9,7 @@ DUT 端的取數能力由一組 **bash 工具庫** 提供(CB FPGA `pcimem` →
完整架構見 [ARCHITECTURE.md](ARCHITECTURE.md)。
**目前狀態(2026-09-07**Script A 為 **V1.2.0**(A 集中記錄所有 TTL 的變更)。涵蓋
**目前狀態(2026-09-08**Script A 為 **V1.2.1**(A 集中記錄所有 TTL 的變更)。涵蓋
PCIe AER / DDR EDAC / PMON+TPM / 電壓 margin9 顆 LTC2980/ SWB loopback 線速流量 /
10G+1G 管理網路 ping / BMC DDR 與 USB / NVMe 健康,壓力層走平台的 `bgctl`
switch unit 數量由 `config.ttl``SWB_UNIT0` / `SWB_UNIT1` 宣告,風扇轉速由 `FAN_SPEED` 指定
@@ -24,7 +24,8 @@ Script B 的 soak 迴圈每輪印 `bgctl list` + `jobs` + `systemctl is-active m
(V1.0.10 之前完全沒有間隔;V1.2.0 起 A/B/C 的等待一律改成 DUT 端 `sleep` 而非 macro 端 `pause`)。V1.1.8 起 AMD CPU 壓力(`mlucas-avx2`)由 `systemd-run` 掛成
`mlucas-amm` transient unit`Restart=always`),不再是 shell 的 `&` 背景 job —— 掉線也不會停,
Script C 用 `systemctl stop mlucas-amm` 收掉並把 log 複製到隨身碟。
V1.1.0 新增全機 SerDes BER 掃描(`blanton_ber.sh`**Script C 已接**`SWB_UNIT` 分支)
V1.1.0 新增全機 SerDes BER 掃描(`blanton_ber.sh`,依 `SWB_UNIT` 分支)**V1.2.1 起 Script A 也接了一次**
在第一輪流量之前取基線,與 Script C 流量報表之後的收尾掃描一起夾住 soak(同 DSC 的做法)。另有
TR518 負載(`blanton_tr518.sh`**TTL 尚未接**)、SWB 軌功耗(`TH6_SWB{0,1}_power_readback.sh`),
線速流量也納入 100G `ce0`VLAN 138,靠 ingress mirror 維持循環)。
Script A 開頭會先收掉前一輪殘留(`hw-test-session finish` + `bgctl reset/stop --all`),
@@ -353,6 +354,10 @@ Tera Term 連 COM port (115200-8-N-1)
- ⚠️ **兩張管理網卡同網段會 ARP flux**`mgmt_ping_monitor.sh` 讓 eth0/eth1 同時 up,同一個 /24 下
對端 ARP 可能由任一張卡回應,回包落在沒送封包的那張。`ARP_STRICT=1` 擋掉;判讀時看 `RESULT` 行的
`nic_tx`/`nic_rx`(該卡自己的 packet delta)—— **ping 成功但 `nic_tx` 接近 0 = 封包從另一張卡出去的**
- ⚠️ **BER 的 `clear` 才是把 lane 放回正常運作的動作**V1.2.1 起 Script A 在第一輪流量**之前**跑 BER,
`blanton_ber.sh clear` 與緊接著的 `blanton_traffic_linespeed ps` 之間**沒有任何 settle**。
Script C 是流量報表之後才跑 BER,沒有這個順序問題。第一次上機時比對兩邊的 traffic report ——
**Script A 有 NA/FAIL 而 Script C 沒有,就是 lane 還沒回穩**,在 `clear` 後補一個 `sleep` 即可
- ⚠️ **PRBS 跑起來時 `show interfaces status` 會顯示 DOWN**,那是 link 離開正常運作模式,不是故障。
`port_prbs_monitor.sh``start` 因此刻意不印 port status(避免測試員誤判),只在 `prbs clear` 之後的報表裡印
- ⚠️ **`ip -s link` 的欄位順序是 `bytes packets errors ...`**,要 packet 數取的是**第 2 欄**不是第 1 欄