- contenido curado desde Drogheda via scripts/sync-docs.sh (procedimientos de banco, montaje/arneses, diagnostico remoto, guias git) - scripts/deploy.sh: mkdocs build --strict + rsync al servidor Helgen - README con setup de nginx + htpasswd para acceso privado de tecnicos Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJ4eAB6zjQT49RVwpgfKdt
8.9 KiB
Remote Diagnostic Protocol — Pulled HBOX Units
Date: 2026-06-19 · Owner: Leo Rodriguez Situation: all HBOX units were removed from the machines. We have 4 units in hand: 3 not working, 1 working-ish. They are physically in Veracruz; the team is in Querétaro → debugging is remote until they're shipped or someone on-site acts as our hands. Firmware on these units = v1 (no MCU thermal log) → thermal evidence must come from physical inspection + a bench power test, not from the firmware.
The single working-ish unit is the control. Every measurement below should be taken on it too, so "bad" readings on the dead units have a baseline to compare against.
0. Decision gate (make this call first)
Recommendation: ship all 4 units to Querétaro. They are small, and remote- debugging dead electronics is slow and rarely conclusive — a 1–2 day courier buys full bench access (PSU with current limit, scope, u-center, reflash, thermal soak, teardown). Bring the working-ish unit too; it's the reference.
Choose remote-hands only if shipping is blocked (client chain-of-custody, the units must stay on-site, or courier delay is unacceptable). Confirm with ICAVE who owns the units and whether they may leave the terminal.
| Path | When | Cost |
|---|---|---|
| Ship to QRO (recommended) | units may leave Veracruz | courier + 1–2 days |
| Remote-hands in Veracruz | units must stay; cooperative on-site tech exists | needs the protocol below + their time |
Either way, start §2 (backend analysis) now from Querétaro — it needs no units.
1. What we can / cannot learn remotely
| Question | Remote-hands? | How |
|---|---|---|
| Is the LiPo swollen / burnt / leaking? | ✅ | photo checklist (§3 Tier 0) |
| Connectors/SMA loose, solder cracked? | ✅ | photos + wiggle test |
| Does it draw current / boot on power? | ✅ | bench PSU current reading (§3) |
| LED state on power-up? | ✅ | film the LED, decode (§4) |
| Battery V, fix quality, state, packets | ✅ (Tier 1) | USB dashboard capture |
| Does the 4G modem attach / get a fix? | ✅ (Tier 1–2) | dashboard / u-center / remote desktop |
| Does it reach our gateway when powered? | ✅ | watch htracker for that unit's cell_id |
| Exact failed component / thermal soak | ❌ (needs bench) | ship to QRO |
So ~80% of triage is remotely achievable; only component-level confirmation and thermal reproduction strictly require the units in QRO.
2. Do this NOW from Querétaro (no units needed)
The backend is on our own server — fully debuggable from QRO, and per
02-Architecture-Software/backend-review.md it can take healthy units off Wialon by itself.
- Historical online-vs-offline split. For the days before removal, compare each unit's htracker record (online on UDP receipt) against Wialon (online on positions received). A unit that was online in htracker but offline in Wialon was a backend victim (anti-jump lock-out / HOL stall), not dead hardware — that reframes which "dead" units are actually hardware failures.
- Gateway logs around the death window: look for the anti-jump warning
(
¡Filtro Anti-Salto Activado!) spamming onecell_id(→ lock-out), and fornetstat -suUDP receive-buffer drops (→ HOL stall). - Bench-reproduce with the working-ish unit once it's powered (in VER via remote-hands, or in QRO): point it at the gateway and watch whether the retranslator forwards it cleanly or trips the filter.
- Caster (HelgenSRV) uptime + per-SIM data balance/suspension for the window.
This is the highest-leverage work we can do today and it needs nobody in Veracruz.
3. Remote-hands protocol (tiered by what the on-site person has)
Give the on-site tech the matching tier. A ready-to-send Spanish version is in §6.
Tier 0 — power + a phone camera (minimum)
For each unit, before powering:
- Photograph: the whole inside, then close-ups of the LiPo (any swelling, bulging, brown/black marks, leaks?), the PowerBoost, every connector/Dupont, the SMA antenna joints, and any discoloured/burnt components.
- Wiggle test (gently): do any Dupont/terminal/SMA connectors move or fall off?
- Bench power-on with a current-limited PSU at the unit's normal voltage
(12 V or 24 V), current limit ~2 A:
- Read inrush then steady current. Record the number.
- 0 mA / trips at 0: open circuit / dead input stage / blown fuse.
- Hits the current limit / very hot: short → power off immediately.
- ~50–150 mA steady, nothing else: MCU only, stack not powering (load switch / boost / modem).
- Normal-ish draw + LED activity: boots — go to Tier 1.
- Compare every reading to the working-ish unit.
- Film the LED for ~60 s from power-up (decode in §4).
Tier 1 — Tier 0 + USB cable + a laptop
- Plug the Blackpill USB into the laptop; open PuTTY/TeraTerm at 115200. The v1 watchdog prints a live dashboard. Capture 3–5 min (log to file) and send it. Read off: BATTERY V, SYSTEM STATE, RTK FIX, PACKETS TX'd, PWR/IGN inputs. (No MCU-temp line — these are v1.)
- Note whether PACKETS TX'd increments (GNSS+serial alive) and whether RTK FIX ever reaches 4/5 (corrections arriving = 4G/NTRIP working).
Tier 2 — Tier 1 + remote-desktop (AnyDesk/TeamViewer) into the laptop
- We drive from QRO: read the live dashboard, run u-center on the ZED-F9P (fix, sat levels, config), issue AT commands to the 4G modem (attach, signal), and if useful reflash v2 to gain thermal logging + better recovery.
4. LED quick-decode (v1)
| LED | State | Read as |
|---|---|---|
| Fast blink | BOOTING | powered, waiting for 4G/GNSS |
| Solid ON | RUNNING, vehicle power, RTK fixed | healthy |
| Heartbeat (1 s) | RUNNING on battery | on LiPo, 30 s rate |
| Slow blink | searching / no corrections | 4G/NTRIP not delivering |
| Off (with power applied) | SLEEP / dead | battery-critical logic or not booting |
"Off while powered from a good bench supply" on a unit that should boot = a strong no-boot / power-stage signal — correlate with the current reading.
5. Per-unit triage decision tree
Power on bench PSU (current-limited)
├─ 0 mA ............................. dead input / blown fuse / open → ship to QRO
├─ hits limit / hot ................ SHORT (power off!) ............... → ship to QRO
└─ draws current
├─ no LED, no USB dashboard ...... MCU/boot dead .................... → ship to QRO
└─ boots (LED + dashboard)
├─ PACKETS not incrementing ... GNSS/serial dead ................ Tier 2 / ship
├─ FIX stuck 0/1 (never 4/5) .. 4G/NTRIP not delivering ......... check modem/SIM/antenna
└─ FIX 4/5 + packets OK ........ HARDWARE IS FINE ............... → backend victim (§2)
The last branch is the important one: a pulled unit that boots, fixes, and transmits on the bench is not the failure — its disappearance from Wialon is then backend (§2), and re-installing it unchanged would just repeat the problem.
6. Safety — heat-damaged LiPo (tell the on-site tech)
A swollen/puffy or hot LiPo is a fire risk. Do not charge it, puncture it, or keep powering a unit whose battery is visibly swollen. Disconnect it, place it in a LiPo-safe / fireproof bag or a metal container, keep it away from anything flammable, and ventilate. Photograph first, then isolate. If it's hot, vented, or smells: stop and isolate immediately.
6b. Spanish — instrucciones para el técnico en sitio (Tier 0/1)
Para cada unidad: (1) Fotos del interior y de cerca de la batería LiPo (¿inflada, manchas cafés/negras, fuga?), del PowerBoost, de cada conector Dupont, de las antenas SMA, y de cualquier componente quemado/decolorado. (2) Prueba de movimiento suave: ¿algún conector se mueve o se cae? (3) Enciéndela con una fuente de banco a su voltaje normal (12 V/24 V), límite de corriente ~2 A, y anota la corriente (arranque y estable). Si llega al límite o se calienta, apágala de inmediato (corto). (4) Graba el LED ~60 s desde el encendido. (5) Si hay laptop: conecta el USB del Blackpill, abre PuTTY/TeraTerm a 115200 y graba 3–5 min del tablero (BATERÍA V, ESTADO, RTK FIX, PAQUETES). Seguridad: una batería inflada o caliente es riesgo de incendio — no la cargues ni la perfores; aíslala en bolsa/recipiente seguro y ventila.
7. What to send back to Querétaro (capture checklist)
Per unit, labeled with its cell_id/machine: the photos, the current reading
(inrush + steady), the LED video, the 3–5 min USB dashboard capture, and a
one-line note (boots? fix? packets?). With that, we can classify all 4 units against
the tree in §5 and the backend evidence in §2 — and decide which truly need teardown
in QRO.