From 43314444e9fd255a660b653f4296a506d1f938aa Mon Sep 17 00:00:00 2001 From: ETWen Date: Fri, 28 Aug 2026 10:32:07 +0800 Subject: [PATCH] feat(config): Run the fans at full speed by default FAN_SPEED 30 -> 100. A soak is a thermal test of everything except the cooling, so the cooling should not be one of the variables in it. At 30% a long run can throttle partway through, and throttled results read like a different fault entirely. Folded into V1.0.11 rather than bumping the version: the tag has not moved on and this is the same delivery. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_014RetWKFZFG1ZHcitQAyhwM --- ARCHITECTURE.md | 2 +- CLAUDE.md | 3 ++- docs/release-notes/v1.0.11.md | 5 ++++- src/Script_ABC_Blanton/1_Blanton_Script_A.ttl | 1 + src/Script_ABC_Blanton/config.ttl | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 250e363..af5d9b5 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -215,7 +215,7 @@ project_name = "Blanton" ; 專案名,進 log 檔名 strTestcase = "ENV" ; 測項名(ENV/EMC/Margin...),進 log 檔名 EN_Margin = 0 ; 1=跑 margin 掃描, 0=跳過 EN_log = 1 ; 1=logopen 存檔, 0=不存 -FAN_SPEED = 30 ; 傳給 fan-speed-control.sh 的風扇轉速 (%) +FAN_SPEED = 100 ; 傳給 fan-speed-control.sh 的風扇轉速 (%),預設全速 SWB_UNIT0 = 1 ; 這台有 switch unit 0(流量與 wait_init 都依此) SWB_UNIT1 = 1 ; 這台有 switch unit 1 prompt_login = "sonic login:" diff --git a/CLAUDE.md b/CLAUDE.md index 3154138..1e5015e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,7 +12,8 @@ DUT 端的取數能力由一組 **bash 工具庫** 提供(CB FPGA `pcimem` → **目前狀態(2026-08-27)**:Script A 為 **V1.0.10**(A 集中記錄 A/B/C 三支的變更)。涵蓋 PCIe AER / DDR EDAC / PMON+TPM / 電壓 margin(9 顆 LTC2980)/ SWB loopback 線速流量 / 10G+1G 管理網路 ping / BMC DDR 與 USB / NVMe 健康,壓力層走平台的 `bgctl`。 -switch unit 數量由 `config.ttl` 的 `SWB_UNIT0` / `SWB_UNIT1` 宣告,風扇轉速由 `FAN_SPEED` 指定。 +switch unit 數量由 `config.ttl` 的 `SWB_UNIT0` / `SWB_UNIT1` 宣告,風扇轉速由 `FAN_SPEED` 指定 +(預設 100 = 全速;soak 是熱測試,散熱不該是變因)。 測試 job log 收在 DUT 的 `/host/hw-eval/jobs/`,Script C 結束時掛好 USB 再帶時戳複製到 `/mnt/usb/`。 100G PRBS(`port_prbs_monitor.sh`)已隨包交付,但 **A/B/C 的呼叫仍註解掉**,還在 bring-up。 Script B 的 soak 迴圈每輪印 `bgctl list` + `jobs`,並 `pause 60`(V1.0.10 之前完全沒有 pause)。 diff --git a/docs/release-notes/v1.0.11.md b/docs/release-notes/v1.0.11.md index 58e5666..4051bb2 100644 --- a/docs/release-notes/v1.0.11.md +++ b/docs/release-notes/v1.0.11.md @@ -14,6 +14,9 @@ Both print a per-chip line and a `N saved, M failed` tally, and both return a non-zero exit code when anything failed. +**The fans now default to full speed** +* `FAN_SPEED` in `config.ttl` is 100 instead of 30. A soak is a thermal test of everything *except* the cooling, so the cooling should not be a variable in it — and a DUT that throttles halfway through a run produces results that look like a different fault. Lower it deliberately if quiet operation is what you are measuring. + ## 🐛 Bug fixes **A failed NVM write still reported success** @@ -42,7 +45,7 @@ grep -rlU $'\r' ~/Blanton_Script # expect no output * **`margin_save` in any form writes NVM permanently.** A power cycle does not undo it. `margin_save all` and `margin_save blanton` do it to all 18 controllers at once. Run `margin_status_all.sh` first and never call any of them during a test run — the macros do not, and should not be made to. * **The 18 raw commands were verified on the DUT; the wrapper was not.** `margin_save blanton` issues exactly the sequence that was run by hand at the bench, and the packaging was tested against stubbed hardware, but the function itself has not been run on a DUT yet. Watch the per-chip lines the first time. * **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. +* **`FAN_SPEED` is now 100.** It is applied at the start of every run, so this build runs the fans flat out unless you change `config.ttl`. Expect the noise. * **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. * **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. diff --git a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl index 271fb74..53222cf 100644 --- a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl +++ b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl @@ -94,6 +94,7 @@ ; FPGA-channel -> i2c-bus map ; LTC2980_Margin_Script/Ref/*.md 0x15 trace note corrected to send-byte ; LTC2980_Margin_Script/script/margin_save_all.sh Point at margin_save all; keep it for subsets +; config.ttl FAN_SPEED 30 -> 100 (full speed by default) ; ============================================================================= include "config.ttl" diff --git a/src/Script_ABC_Blanton/config.ttl b/src/Script_ABC_Blanton/config.ttl index b39d2eb..08e8751 100644 --- a/src/Script_ABC_Blanton/config.ttl +++ b/src/Script_ABC_Blanton/config.ttl @@ -10,7 +10,7 @@ EN_log = 1 ; 1: Enable log, 0: Disable log ;================================================================ ; FAN_SPEED ;================================================================ -FAN_SPEED = 30 +FAN_SPEED = 100 ;================================================================ ; Switch Unit Population ;================================================================