Skip to content

feat(mesh) P1: radio-Transport -> end-to-end mesh-over-modem (streaming RX + meshd integration), host-testable #15

Description

@gHashTag

Goal

Advance the TRI-NET radio link from a validated single-burst modem to an end-to-end encrypted mesh running over the modem transport, all HOST-TESTABLE (no new hardware). Continues tri-net#9 (radio PHY) and feeds #11-#14 (M2-M5) over radio.

Where we are (merged on trios-mesh main)

Incremental increments (host-testable, in order)

  1. CFO-robust streaming receiver. Turn rx_recover from single-burst into a continuous-stream receiver: idle-noise burst detection, retry-next-excursion when a lock fails to demodulate, multi-burst demux, and a normalized/differential detector so the sync gate holds near the CFO edge (0.03-0.038 cyc/sym) instead of the current ~3% loss. (This is the already-flagged follow-up.)
  2. Mesh-over-modem. Wire ModemTransport into the meshd so the encrypted mesh (X25519/ChaCha20 M1 + ETX routing/forwarding M2/M3) runs OVER the modem transport through a simulated radio channel (fractional delay + CFO + AWGN), proving multi-hop mesh-over-radio end-to-end in simulation.
  3. (Hardware-gated) AD9361 cabled loopback TX/RX on a Mini for a real 2-node radio link — needs an SMA cable + 30-40 dB attenuator (OTA illegal in Thailand). Do NOT attempt without confirmed cabling; leave a clear hook.

Method & gates

Same as what worked: deterministic fuzz (LCG+Box-Muller, no rand), then an adversarial refute pass on each new behavior. cargo fmt + clippy -D warnings + bash scripts/verify.sh green; add tests per increment; small reviewable PRs.

Done

A host test shows an encrypted mesh frame routed 2 hops through the modem transport over a delay+CFO+AWGN channel and decrypted intact; streaming RX recovers back-to-back bursts with leading idle noise. Hardware step left as a gated hook.

phi^2 + phi^-2 = 3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions