blob: 0cac547910910a43ef592997d4ad5b76b64d3c16 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# 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) |
|