diff --git a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl index 2bc121a..9710ac4 100644 --- a/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl +++ b/src/Script_ABC_Blanton/1_Blanton_Script_A.ttl @@ -1,6 +1,6 @@ ; ============================================================================= ; Script A for Blanton -; Version : V1.1.9 +; Version : V1.2.0 ; Date : 2026-09-07 ; Author : ETWen ; ============================================================================= @@ -484,6 +484,57 @@ ; bmc_monitor.sh and friends in the chmod +x line after ; deployment. Without it both scans fail with Permission ; denied and the macro walks straight past it +; V1.2.0 2026-09-07 +; Blanton_Script/bcm_dsc_scan.sh v1.3.0 bcmcmd was eating the port list +; The scan loop read the port file on stdin, and bcmcmd +; reads stdin too, so the first call swallowed the rest of +; the file and the loop ended after ONE port +; Nothing looked wrong: the log held one PORT marker and +; one dsc block, markers == dumps, exit code 0. A 445 port +; scan finished in seconds and reported success +; Fixed by reading the loop on fd 3 (done 3< "$PORTFILE") +; and giving bcmcmd < /dev/null +; Added a check that the iteration count equals the port +; list count. The marker / dump comparison cannot catch a +; loop that ends early, because both numbers shrink +; together; the Saved: line now reports dumps out of TOTAL, +; not out of markers +; !! this is the same bcmcmd trap +; blanton_traffic_linespeed.sh hit at v0.3.1, where only +; the first VLAN was configured. Every while ... done < +; file loop that calls bcmcmd needs < /dev/null - assume +; it will read stdin unless proven otherwise +; ScriptA / ScriptB / ScriptC Wait on the DUT with 'sleep', not on the macro with 'pause' +; pause N stops the macro for N seconds without touching +; the DUT: the shell sits idle and the macro is guessing +; how long the last command took. sendln "sleep N" + wait +; prompt_sonic_root moves the wait onto the DUT, so the +; macro resumes when the prompt actually comes back and the +; two cannot drift apart +; It also lands in the console log with a timestamp, so a +; round that ran long is visible afterwards instead of +; invisible +; Durations changed with it: ScriptA mgmt ping 30 -> 15 s; +; the settle after every traffic 'clear' 15 -> 5 s; the +; traffic run itself stays 15 s; ScriptB's monitor loop +; stays 60 s +; !! Script4 and Script5 were NOT converted and still use +; pause. The 'pause 1' at the top of ScriptB / ScriptC +; also stays - it only spaces the log header and runs +; before there is a prompt to wait for +; config.ttl Add EN_TX_FIR to gate the SerDes DSC scan +; EN_TX_FIR = 1 enables bcm_dsc_scan.sh in ScriptA and +; ScriptC, and the four cp lines that carry +; blanton_dsc_Script{A,C}_u{0,1}.log to /host/hw-eval/jobs. +; Default is 0 +; A full scan is ~10 min and both scripts do one, so +; leaving it off keeps ~20 min out of a routine run. Turn +; it on when the SerDes data is what you are after +; ScriptC Stop printing the BMC poll and mlucas logs to the console +; cat bmc_poll.log and cat mlucas_amm_log are commented +; out. Both files are still copied to /host/hw-eval/jobs +; and out to the USB stick with everything else, so no data +; is lost - the master log is just shorter ; ============================================================================= include "config.ttl" @@ -649,7 +700,8 @@ include "utils/show_dmesg.ttl" wait prompt_sonic_root sendln "./Blanton_Script/mgmt_ping_monitor.sh start" wait prompt_sonic_root -pause 30 +sendln "sleep 15" +wait prompt_sonic_root sendln "~/Blanton_Script/mgmt_ping_monitor.sh stop" wait prompt_sonic_root sendln "cat ~/Blanton_Script/log/mgmt_ping.log" @@ -700,12 +752,14 @@ if SWB_UNIT0 = 1 && SWB_UNIT1 = 1 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show" wait prompt_sonic_root sendln "blanton_traffic_linespeed start" wait prompt_sonic_root - pause 15 + sendln "sleep 15" + wait prompt_sonic_root sendln "blanton_traffic_linespeed stop" wait prompt_sonic_root sendln "blanton_traffic_linespeed report" @@ -717,12 +771,14 @@ elseif SWB_UNIT0 = 1 && SWB_UNIT1 = 0 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear -u 0" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show -u 0" wait prompt_sonic_root sendln "blanton_traffic_linespeed start -u 0" wait prompt_sonic_root - pause 15 + sendln "sleep 15" + wait prompt_sonic_root sendln "blanton_traffic_linespeed stop -u 0" wait prompt_sonic_root sendln "blanton_traffic_linespeed report -u 0" @@ -734,12 +790,14 @@ elseif SWB_UNIT0 = 0 && SWB_UNIT1 = 1 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear -u 1" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show -u 1" wait prompt_sonic_root sendln "blanton_traffic_linespeed start -u 1" wait prompt_sonic_root - pause 15 + sendln "sleep 15" + wait prompt_sonic_root sendln "blanton_traffic_linespeed stop -u 1" wait prompt_sonic_root sendln "blanton_traffic_linespeed report -u 1" @@ -747,9 +805,11 @@ else endif -; ========== Collect bcm dsc data ========== -wait prompt_sonic_root -sendln "./Blanton_Script/bcm_dsc_scan.sh -f blanton_dsc_ScriptA.log -F" +if EN_TX_FIR = 1 then + ; ========== Collect bcm dsc data ========== + wait prompt_sonic_root + sendln "./Blanton_Script/bcm_dsc_scan.sh -f blanton_dsc_ScriptA.log -F" +endif ; ========== Show Power on uptime ========== wait prompt_sonic_root diff --git a/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl b/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl index 38897af..1a66ef8 100644 --- a/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl +++ b/src/Script_ABC_Blanton/2_Blanton_Script_B.ttl @@ -109,7 +109,8 @@ timeout = 0 wait prompt_sonic_root sendln "./Blanton_Script/mgmt_ping_monitor.sh start" wait prompt_sonic_root -pause 3 +sendln "sleep 3" +wait prompt_sonic_root sendln "./Blanton_Script/mgmt_ping_monitor.sh status" ; ========== NFC Test ========== @@ -139,7 +140,8 @@ if SWB_UNIT0 = 1 && SWB_UNIT1 = 1 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show" wait prompt_sonic_root sendln "blanton_traffic_linespeed start" @@ -151,7 +153,8 @@ elseif SWB_UNIT0 = 1 && SWB_UNIT1 = 0 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear -u 0" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show -u 0" wait prompt_sonic_root sendln "blanton_traffic_linespeed start -u 0" @@ -163,7 +166,8 @@ elseif SWB_UNIT0 = 0 && SWB_UNIT1 = 1 then wait prompt_sonic_root sendln "blanton_traffic_linespeed clear -u 1" wait prompt_sonic_root - pause 15 + sendln "sleep 5" + wait prompt_sonic_root sendln "blanton_traffic_linespeed show -u 1" wait prompt_sonic_root sendln "blanton_traffic_linespeed start -u 1" @@ -173,7 +177,7 @@ endif -; ========== Monitor loop: platform data + background jobs (pause 60s per round) ========== +; ========== Monitor loop: platform data + background jobs (sleep 60s per round) ========== while 1 include "utils/setup_pmon.ttl" wait prompt_sonic_root @@ -182,5 +186,6 @@ while 1 sendln "jobs" wait prompt_sonic_root sendln "systemctl is-active mlucas-amm" - pause 60 + wait prompt_sonic_root + sendln "sleep 60" endwhile diff --git a/src/Script_ABC_Blanton/3_Blanton_Script_C.ttl b/src/Script_ABC_Blanton/3_Blanton_Script_C.ttl index 4fa3cd6..0691ac1 100644 --- a/src/Script_ABC_Blanton/3_Blanton_Script_C.ttl +++ b/src/Script_ABC_Blanton/3_Blanton_Script_C.ttl @@ -53,8 +53,8 @@ sendln "/usr/sbin/ras-mc-ctl --summary" ; ========== BMC Monitor TAKE DATA ========== wait prompt_sonic_root sendln "./Blanton_Script/bmc_monitor.sh stop" -wait prompt_sonic_root -sendln "cat ./Blanton_Script/log/bmc_poll.log" +; wait prompt_sonic_root +; sendln "cat ./Blanton_Script/log/bmc_poll.log" ; ========== BMC USB Test result ========== wait prompt_sonic_root @@ -64,8 +64,8 @@ sendln "journalctl -u qfx5252-bmc-usb-net-test.service --no-pager -o short-iso > ; ========== CHECK Stress results ========== -wait prompt_sonic_root -sendln "cat ~/hammer/tools/amd/mlucas_amm_log" +; wait prompt_sonic_root +; sendln "cat ~/hammer/tools/amd/mlucas_amm_log" wait prompt_sonic_root sendln "cat /host/hw-eval/jobs/qfx5252-stress-ssd.log" wait prompt_sonic_root @@ -150,10 +150,11 @@ else endif -; ========== Collect bcm dsc data ========== -wait prompt_sonic_root -sendln "./Blanton_Script/bcm_dsc_scan.sh -f blanton_dsc_ScriptC.log -F" - +if EN_TX_FIR = 1 then + ; ========== Collect bcm dsc data ========== + wait prompt_sonic_root + sendln "./Blanton_Script/bcm_dsc_scan.sh -f blanton_dsc_ScriptC.log -F" +endif ; ========== NVME Err Info ========== wait prompt_sonic_root @@ -199,14 +200,17 @@ wait prompt_sonic_root sendln "cp ./Blanton_Script/log/mgmt_ping.log /host/hw-eval/jobs/" wait prompt_sonic_root sendln "cp ./Blanton_Script/log/nfc_poll.log /host/hw-eval/jobs/" -wait prompt_sonic_root -sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptA_u0.log /host/hw-eval/jobs/" -wait prompt_sonic_root -sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptA_u1.log /host/hw-eval/jobs/" -wait prompt_sonic_root -sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptC_u0.log /host/hw-eval/jobs/" -wait prompt_sonic_root -sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptC_u1.log /host/hw-eval/jobs/" + +if EN_TX_FIR = 1 then + wait prompt_sonic_root + sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptA_u0.log /host/hw-eval/jobs/" + wait prompt_sonic_root + sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptA_u1.log /host/hw-eval/jobs/" + wait prompt_sonic_root + sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptC_u0.log /host/hw-eval/jobs/" + wait prompt_sonic_root + sendln "cp ./Blanton_Script/log/blanton_dsc_ScriptC_u1.log /host/hw-eval/jobs/" +endif wait prompt_sonic_root getdate ts_date "%Y%m%d" diff --git a/src/Script_ABC_Blanton/config.ttl b/src/Script_ABC_Blanton/config.ttl index 15fc0b5..12a2c21 100644 --- a/src/Script_ABC_Blanton/config.ttl +++ b/src/Script_ABC_Blanton/config.ttl @@ -5,6 +5,8 @@ project_name = "Blanton" strTestcase="ENV" ;ENV,EMC,Margin...etc EN_Margin = 0 ; 1: Enable Margin Test, 0: Disable Margin Test +EN_TX_FIR = 0 ; 1: Enable bcm_dsc_scan.sh collect port TX_FIR, 0: Disable (saves ~20 min: ScriptA and ScriptC each scan for ~10 min) + EN_log = 1 ; 1: Enable log, 0: Disable log EN_timestamp = 1 ; 1: Enable timestamp in log, 0: Disable timestamp in log