diff --git a/CLAUDE.md b/CLAUDE.md index ec22a58..4d18b75 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,7 +44,7 @@ NFC tag 讀取由 `nfc_polling.sh` 背景輪詢(A 做基線、B 起、C 停並 `retimer_lanes.sh` / `unused_lanes.sh`(把沒接線的 retimer lane / TH6 port 關 TX),以及 `5_1_Blanton_Script_Boot_Cycle_Fast.ttl`(Script 5 拿掉流量那段,只留 `ps`)。 **V1.2.6 起 FDR 統計(`blanton_fdr.sh`,`phydiag fdrstat`)接進流量**:A 包住流量基線(sleep 15→40)、 -B 在 soak 前 start、C 收尾 rdcnt + stop,**只在兩個 unit 都開時才跑**。Script A 另在 BER 前先 `unused_lanes.sh off`, +B 在 soak 前 start、每輪 rdcnt、C 收尾 rdcnt + stop,**只在兩個 unit 都開時才跑**。Script A 另在 BER 前先 `unused_lanes.sh off`, ⚠️ **沒有任何地方再 `on` 回來**。 以及 **`5_Blanton_Script_Boot_Cycle.ttl`**(重開機循環,**獨立跑不接 A→B→C**:登入 → 風扇 → Check Pt1~Pt13 → `reboot` → `wait "Booting in blind mode"`,`cnt_cycle` 每輪遞增,`while 1` 無止境, diff --git a/docs/release-notes/v1.2.6.md b/docs/release-notes/v1.2.6.md index 3de1901..1308b95 100644 --- a/docs/release-notes/v1.2.6.md +++ b/docs/release-notes/v1.2.6.md @@ -10,7 +10,7 @@ **FDR runs alongside the traffic test in Script A, B and C** * **Script A** wraps its traffic baseline: `fdr start` after `init`, `fdr clear` after `clear`, `fdr rdcnt` after the run, `fdr stop` after the traffic stop. The traffic run is now **40 s instead of 15 s**, so the counters are read after the first 30 s interval has been published — the same rule as `prbsstat Ber`. -* **Script B** starts and clears FDR with the traffic setup, before the soak loop — the counters run for the whole soak. +* **Script B** starts and clears FDR with the traffic setup, before the soak loop — the counters run for the whole soak — and reads them (`rdcnt`) in every soak round, after the Tray ID stress. * **Script C** reads them (`rdcnt`) before stopping the traffic and stops FDR after it — the closing read of the counters Script B started. **Script A turns off the unused lanes before the BER baseline** @@ -32,6 +32,7 @@ grep -rlU $'\r' ~/Blanton_Script # expect no output * **`chmod +x` after deploying.** `blanton_fdr.sh`, `unused_lanes.sh` and `retimer_lanes.sh` are all called by path; `unused_lanes.sh` also refuses to start if `retimer_lanes.sh` is not executable. * **`blanton_fdr.sh stop` sends `fdrstat STOp` — that keyword is inferred from `prbsstat STOp` and has not been checked on the bench.** `bcmcmd` exits 0 even when the BCM shell rejects a command, so if it is wrong, FDR keeps running and only the log shows it. Check the first run. * **FDR only runs when both switch units are enabled** (`SWB_UNIT0 = SWB_UNIT1 = 1`). The single-unit branches have no FDR, and Script A's single-unit traffic run is still 15 s. +* **Script B's per-round `fdr rdcnt` is not gated by the unit settings** — with one unit enabled, FDR was never started and each round just logs whatever `fdrstat Counters` returns. * **Nothing turns the unused lanes back on.** Script C has no `unused_lanes.sh on`; run it by hand when the DUT is needed in its normal state. Whether a reboot clears it has not been checked. * **`unused_lanes.sh off` is not gated by `SWB_UNIT0` / `SWB_UNIT1`** — it always acts on both boards. * **`blanton_ber.sh` (Script A / C) still uses `p=3` and `sleep 30`**; see v1.2.5. diff --git a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl index 55cd8c5..243eacc 100644 --- a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl +++ b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl @@ -874,6 +874,10 @@ ; ScriptB fdr start + fdr clear with the traffic setup, before the loop ; (SWB_UNIT0 = SWB_UNIT1 = 1 only) - the counters run for the ; whole soak +; fdr rdcnt in every soak round, after the Tray ID stress +; !! not gated by SWB_UNIT0 / SWB_UNIT1, unlike the start - +; with one unit enabled FDR was never started, and the +; round just logs whatever fdrstat Counters returns ; ScriptC fdr rdcnt before traffic stop, fdr stop after it ; (SWB_UNIT0 = SWB_UNIT1 = 1 only) - the closing read of the ; counters Script B started, bracketing the soak diff --git a/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl b/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl index dbe6fe5..a12e81f 100644 --- a/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl +++ b/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl @@ -194,6 +194,10 @@ while 1 ; ========== Tray ID Stress Test ========== wait prompt_sonic_root sendln "~/Blanton_Script/tray_id_stress.sh" + + ; ========== FDR Counter Read ========== + wait prompt_sonic_root + sendln "~/Blanton_Script/blanton_fdr.sh rdcnt" wait prompt_sonic_root sendln "sleep 60"