Commit Graph

13 Commits

Author SHA1 Message Date
Robert McMahon 179477702f SSH remote: ~/ paths via $HOME; discover hub/port table; test_read_remote
- ssh_node: quote remote python/script so tilde expands (remote_path_bash_word)
- config: remote_python python3 by default; Pi ~/Code/FiWiManager script paths
- tests/test_read_remote.py: probe + discover; timeouts; vendor-neutral labels
- concentrator: always print Hub|Serial|Ports after discover/show_hostcards; infer
  port counts from stem class when connectFromSpec fails
- Docs/strings: USB power-control wording; requirements comment; usb_probe doc

Made-with: Cursor
2026-04-03 12:05:34 -07:00
Robert McMahon c361cbf17d config: Pi paths ~/Code/FiWiManager; venv python; SSH bash -lc for remote tilde
Made-with: Cursor
2026-04-03 11:45:08 -07:00
Robert McMahon 5b04560241 Rename harness to FiWiConcentrator; config profiles and smoke test
- Replace FiWiHarness with FiWiConcentrator (fiwi/concentrator.py); update CLI, exports, and docs.
- Add config/default.ini, uax24.ini, uax4.ini under config/ with paths, patch_panel default_ports, remote_ssh, and [remote_hubs] hosts; load via fiwi.config (FIWI_CONFIG profile). Merge FIWI_REMOTE_HUBS with FIWI_CALIBRATE_REMOTES in SshNodeConfig.
- Extend fiwi.paths: configure loads remote_ssh.env then INI; fiber_map_path respects FIWI_FIBER_MAP; add config_dir().
- CLI: GNU-style global options (getopt + SSH shield), show_hostcards / show_radioheads, help text updates.
- patch_panel: default_panel_ports from env; adnacom print_adnacom_host_card_table.
- tests/test_concentrator_instantiate.py: --config, local + remote show_hostcards inventory.
- Example map/SSH strings use rjmcmahon@192.168.1.39; remote_script points at ~/Code/FiWiManager/fiwi.py in profiles.
- .gitignore: drop root fiwi.ini; document config layout.

Made-with: Cursor
2026-04-03 11:35:24 -07:00
Robert McMahon e9ddcd7b2b docs: FiWiManager example path; drop hub_manager references
Use FiWiManager in remote_ssh.env.example. Remove obsolete hub_manager
mentions from design and CLI docs.

Made-with: Cursor
2026-03-30 18:18:50 -07:00
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