diff --git a/sfm/sfm_webapp.html b/sfm/sfm_webapp.html index d03070e..aa5c555 100644 --- a/sfm/sfm_webapp.html +++ b/sfm/sfm_webapp.html @@ -108,6 +108,12 @@ color: var(--text); } .btn-ghost:hover { border-color: var(--blue-lt); color: var(--blue-lt); } + .btn-danger { background: var(--red); color: #fff; } + .btn-danger:hover:not(:disabled) { filter: brightness(1.15); } + .diag-result { display:block; margin-top:6px; font-size:12px; opacity:.85; + white-space:pre-wrap; word-break:break-word; } + .diag-result.ok { color: var(--green); } + .diag-result.error { color: var(--red); } .btn:disabled { background: var(--surface2) !important; color: var(--text-mute) !important; cursor: not-allowed; border-color: var(--border2) !important; } /* #connect-btn styles moved to #live-connect-bar block */ @@ -910,6 +916,7 @@ + + +
+ +
+ +
+
Device State
+
+ Fast probes — POLL plus one read each, about 2 s. None of these walk the event chain. +
+
+
+ + +
+
+ +
+
Actions
+ +
+ + +
Halts recording. On a unit triggering continuously, this is what breaks the call-home loop.
+ +
+ +
+ + +
Stored events are left untouched (rescue?erase=false). The unit stops dialing out until ACH is re-enabled.
+ +
+ +
+ + + +
⚠ Permanent, and resets the event chain to key 0x01110000. Download anything worth keeping first.
+ +
+
+ +
+
Unresponsive Unit
+
+ The escalation ladder from docs/runbooks/wedged_unit_recovery.md, for a unit too busy + to answer normal request/response. Prefer Method A — point the modem at an + ach_server and answer its call — before racing it with these. +
+ +
+ + +
Success is bytes_received > 0. A full duration with send_error: null is not success on its own.
+ +
+ +
+ + + +
+
+ +
+
+