# MAX25-Stack Linux supervisor for Packet Radio hardware: TNC lifecycle, KISS, M25/1 IPC, optional CRDOP soft-modem. HyBBX consumes RF through plugins — MAX25 owns prep and attach contracts. ## Start (canonical) ```bash ./scripts/run-max25d.sh # escalates only when ttyS/USB/SER12 needs root ./scripts/run-max25-terminal.sh -U /run/max25/modem.sock ``` ## Capability matrix | Capability | Status | Entry | |------------|--------|-------| | TNC2C serial (KISS) | active | `device=tnc2c` | | PK-TNC / multi-TNC | active | `[devices]` map | | BayCom/based (SER12) | **active** | `max25-bcpr` / `max25e0`; default build ON | | CRDOP soft-modem (1200 bd AFSK) | active (dev/test) | `soft-crdop` | | max25-terminal (F10 UI) | active | M25/1 TCP or Unix | | HyBBX attach | active | `:7325` + INI in `share/hybbx/` | | AX.25 kernel bundle | optional build | `-DMAX25_BUNDLE_AX25=OFF` default CI | ## Three commands ```bash cmake -B build -DMAX25_BUILD_TERMINAL=ON && cmake --build build cmake --build build --target max25_test # or: ./scripts/tx-rx-test.sh ./scripts/run-max25d.sh # root only when ttyS/USB needs it ``` BayCom/based / **max25-bcpr** is **available and usable** in the default build. Device id **`max25e0`** only. HyBBX cohost: `mode=hybbx-cohost` — see [docs/BAYCOM.md](docs/BAYCOM.md). ## HyBBX integration matrix | Rule | Value | |------|-------| | Order | max25d up → HyBBX `[max25] check=yes` → `kiss_entry=none` | | Serial ownership | One process per `/dev/tty*` | | BayCom/based | **active** — max25-bcpr default ON; cohost via `hybbx-cohost` | ## Related | Goal | Doc | |------|-----| | TNC / modem bring-up | [docs/DEV/TNC-MODEM-DEV.md](docs/DEV/TNC-MODEM-DEV.md) | | Setup | [LINUX-HOST-SETUP.md](docs/LINUX-HOST-SETUP.md) | | Architecture | [ARCHITECTURE.md](docs/ARCHITECTURE.md) | | All docs | [docs/README.md](docs/README.md) |