# 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`.