Commit Graph

9 Commits

Author SHA1 Message Date
Robert McMahon a030549f61 feat(fiwi): Fi-Wi package, SSH transport, diagnostics, and docs
Replace the hubmgr layout with the fiwi package and fiwi.py entry point.
Add SshNode with deferred remote subprocess overlap, async capture helpers,
and a central diag timeline (dmesg, lspci, kernel-dump event placeholder).

Document design, CLI, and test/automation authoring under docs/.
Refresh fiber_map.example.json and remote_ssh.env.example; widen .gitignore
for Python tooling and local operator files.

Made-with: Cursor
2026-03-30 18:16:57 -07:00
Robert McMahon 86e73bcff2 Calibrate: PCIe while port ON, Ctrl-C save; fix remote ON tracking.
- Keep hub port powered through fiber id + PCIe prompts; power off after.
- Ctrl-C saves fiber_map.json, turns off current port, exits 130; handle during PCIe.
- Remote calibrate: set step_powered only when SSH on succeeds; skip step if remote
  ON failed (was incorrectly treating failed ON as powered).
- power() returns False when hubs cannot connect; CLI on/off exits 1 so SSH sees failures.
- remote_hub_port_power: merge stdout+stderr for diagnostics; ssh_forward_capture uses stdin=DEVNULL.
- Warn when calibrate_remotes yields zero remote steps; clarify remote_ssh.env.example.

Made-with: Cursor
2026-03-29 18:15:13 -07:00
Robert McMahon 6d2fb4b957 Calibrate PCIe metadata, Adnacom catalog, hybrid calibrate env.
Add optional fiber_ports.pcie (board_serial, sfp_serial) and PCIe column in
panel/fiber status. During panel calibrate, prompt to pick known H3 cards 1–6
and SFP lane 1–4 from adnacom_pcie_catalog, or manual/clear/keep.

HUB_MANAGER_CALIBRATE_REMOTES in remote_ssh.env merges into calibrate SSH
hosts so one panel calibrate run can cover local and remotes without repeating
--ssh. Document in remote_ssh.env.example and help.

Made-with: Cursor
2026-03-29 17:36:05 -07:00
Robert McMahon e7869dd9f2 Refactor hub manager into hubmgr package for maintainability.
Move AcronameManager, CLI, fiber map I/O, USB probe, remote SSH, and path
configuration into hubmgr/. hub_manager.py only configures map paths next to
the script and delegates to hubmgr.cli.main. Clarify remote_ssh.env.example
for Pi-side paths. Add fiber_map and panel_map example presets.

Made-with: Cursor
2026-03-27 18:33:55 -07:00
Robert McMahon 4ecf1c00b9 fiber panel calibrate 2026-03-27 18:10:07 -07:00
Robert McMahon 00bd562d25 mapping 2026-03-27 17:18:45 -07:00
Robert McMahon 0d90434ee4 Add hub discovery, panel map, SSH remote helper, and Pi deps.
Support USBHub2x4 and USBHub3p discovery with correct downstream port counts,
patch-panel mapping via panel_map.json, lazy brainstem import and diagnostics,
SSH forwarding with optional remote_ssh.env defaults, and requirements.txt
for brainstem. Ignore local panel_map.json, remote_ssh.env, and __pycache__.

Made-with: Cursor
2026-03-25 22:44:56 -07:00
Robert McMahon 4b9010de87 add discovery 2026-03-25 17:33:16 -07:00
Bob McMahon 2650ca4b5e first commit 2026-03-07 15:59:12 -08:00