summaryrefslogtreecommitdiff
path: root/stacks/max25-bcpr/README.md
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
commit04d965d67a7264a1c7c211494aebda1953df7603 (patch)
tree0ebd700a6e219f84a26a656f4bee8778bc75da7b /stacks/max25-bcpr/README.md
Initial push
Diffstat (limited to 'stacks/max25-bcpr/README.md')
-rw-r--r--stacks/max25-bcpr/README.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/stacks/max25-bcpr/README.md b/stacks/max25-bcpr/README.md
new file mode 100644
index 0000000..bc1039a
--- /dev/null
+++ b/stacks/max25-bcpr/README.md
@@ -0,0 +1,77 @@
+# max25-bcpr — BayCom/based PC-COM SER12 (MAX25 userspace)
+
+**Status: available · usable** — default CMake build ON (`MAX25_BUILD_MAX25_BCPR=ON`).
+
+Public mark: **BayCom/based**. Product path: **max25-bcpr** / daemon **max25-bcprd**. Host device: **`max25e0`** (forks `max25e0:bcN` only).
+
+| Layer | Role |
+|-------|------|
+| Hardware | BayCom/based TCM3105-class AFSK (bits↔tones + PTT) |
+| Host | SER12 bit clock, HDLC, KISS PTY via **max25-bcprd-init** → unprivileged **max25-bcprd** loop |
+| KISS release | **`/tmp/max25-bcpr/kiss-bc0`** → HyBBX `baycom` transport |
+| Device id | **`max25e0`** only — never `bcpr` / `bcpr-bc0` product ids |
+| Not | TNC · digipeater · BBX · kernel BayCom product |
+
+Internal C sources may still use `bcpr_*` symbols — product face is **max25-bcpr** only.
+
+## Build (default)
+
+```bash
+cmake -S . -B build
+cmake --build build --target max25-bcprd max25-bcprd-init test_hdlc_offline
+install sets **setuid** on `max25-bcprd-init` (chmod 4755).
+```
+
+Opt-out: `-DMAX25_BUILD_MAX25_BCPR=OFF`.
+
+## Offline smoke
+
+```bash
+stacks/max25-bcpr/tools/max25-bcpr-ctl -c stacks/max25-bcpr/share/max25-bcpr.ini.example smoke
+```
+
+```bash
+# Daemon
+sudo stacks/max25-bcpr/tools/max25-bcpr-ctl -c /etc/max25/max25-bcpr.ini start
+sudo stacks/max25-bcpr/tools/max25-bcpr-ctl -c /etc/max25/max25-bcpr.ini status
+sudo stacks/max25-bcpr/tools/max25-bcpr-ctl -c /etc/max25/max25-bcpr.ini stop
+
+# Interactive diag / force-TX ladder (operator — prove RX first)
+sudo -n stacks/max25-bcpr/tools/max25-bcpr-ultimate-diag.sh --menu
+```
+
+## max25d + HyBBX cohost
+
+```ini
+[daemon]
+mode = hybbx-cohost
+
+[features]
+max25_bcpr = yes
+
+[devices]
+default = max25e0
+max25e0 = max25-bcpr:bc0
+
+[device.max25e0]
+kiss_link = /tmp/max25-bcpr/kiss-bc0
+max25_bcpr_ini = /etc/max25/max25-bcpr.ini
+ipv4 = 127.0.0.25/8
+ipv6 = ::25/128
+```
+
+max25d starts **max25-bcprd-init** (live) or **max25-bcprd** (dry-run), then **releases** KISS PTY for HyBBX attach. Verified standalone Main co-host 2026-07-31 / 2026-08-01.
+
+Forks `max25e0:bcN` inherit `ipv4` / `ipv6` from `max25e0` unless set on the fork section.
+
+## Related
+
+| Goal | Doc |
+|------|-----|
+| Operator guide | [../../docs/BAYCOM.md](../../docs/BAYCOM.md) |
+| Freeze caveats (dev) | [../../docs/BAYCOM-FREEZES.md](../../docs/BAYCOM-FREEZES.md) |
+| HyBBX attach | [../../docs/HYBBX.md](../../docs/HYBBX.md) |
+
+## License
+
+Algorithms from Linux `baycom_ser_fdx` / `hdlcdrv` (GPL) — `NOTICE.md`.
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com