blob: fdac1174b720748d372c95ab295a041a51f06529 (
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
; MainAX25-Stack — max25d daemon (Linux only)
; Copy to /etc/max25/max25d.ini or pass MAX25D_INI=
[features]
; PC-COM / SER12: max25-bcpr userspace (BayCom/based). Kernel baycom = legacy.
baycom = yes
pccom = yes
max25_bcpr = yes
; T-Modem-c1224 USB KISS half-TNC (Pico) — off unless stuffed
tmodem = no
[daemon]
; Operating mode: standalone | service | hybbx-main | hybbx-cohost | hybbx-host
; HyBBX attach (release serial/KISS to hybbxd): hybbx-main | hybbx-cohost | hybbx-host
; or [hybbx] release_attach=yes on standalone
mode = standalone
; Drop to unprivileged user after stack prep (when started as root via run-max25d.sh)
; user = max25
; group = max25
; Default hardware when per-device hardware= is omitted
hardware = tncs
; Legacy single-device id (used when [devices] is absent)
device = tnc2c
[devices]
; Linux host: ONE RF device per max25d (design rule). Pick one id below.
; Layout examples still under design — do not enable two backends on one host.
; Serial path, baycom:<modem>, or crdop:<profile>
default = tnc2c
tnc2c = /dev/ttyS4
; pktnc2 = /dev/ttyS5
; --- PC-COM / BayCom/based: max25-bcpr userspace SER12 (default product path) ---
; Uncomment ONE RF device — max25e0 for PC-COM on ttyS0 (adjust serial in max25-bcpr.ini)
; default = max25e0
; max25e0 = max25-bcpr:bc0
; baycom-kiss = /dev/ttyUSB0
; pccom-kiss = /dev/ttyUSB0
; baycom-ser12 = baycom:a ; LEGACY kernel path — avoid
; soft-crdop = crdop:default
; --- T-Modem-c1224 USB KISS half-TNC (not BayCom/based) ---
; tmodem = yes ; under [features]
; tmodem = /dev/ttyACM0
; Acoustic bench (loopback / ALSA sniff / host daemon):
; audio-dummy = audio:loopback
; enabled = tnc2c ; optional — single id recommended
[network]
; Terminal clients connect here (TCP). Unix socket always enabled on Linux.
tcp_host = 0.0.0.0
tcp_port = 7325
unix_socket = /run/max25/modem.sock
; Plain-text TCP auth for remote terminals (empty = disabled; Unix socket exempt)
tcp_password =
[modem]
; Default IDs — terminal may override live (session scope)
callerid = CB-0
callid = QST
; Send lines as AX.25 UI when yes (CRDOP uses native AX.25 UI display when ax25_ui=yes)
ax25_ui = yes
; Banned AX.25 source callsigns — silent RX drop (one per line in file)
; bans_file = /etc/max25/bans.txt
[reporting]
; Client-visible error/voice telemetry in STATUS (and EVENT on decode failure).
; yes = participate in STATUS; no = always report invalid for that field.
error_transmissions = yes
voice_transmissions = yes
; Data quality: N timed passes (good/bad only; voice/noise ignored), min % good.
; Each pass lasts up to data_pass_seconds (default 20s); full cycle = 3 × 20s.
data_passes = 3
data_quality_min = 50
data_pass_seconds = 20
[stack]
; Auto-start hardware on daemon start (boot-wait / baycom-pr-ctl / crdopc per device)
auto_start = yes
; TNC serial stability: periodic probe + software recovery (power-cycle stays rescue-only)
serial_watch = yes
serial_watch_interval = 60
serial_repair_cooldown = 20
serial_watch_startup_grace = 45
; max25d uses --recover-only for TNC stack prep (no power cycle on daemon start)
stack_recover_only = yes
stack_retry_interval = 120
; After N inline repair failures (error-host), escalate to boot-wait subprocess
serial_bootwait_escalate = yes
serial_bootwait_escalate_after = 3
serial_bootwait_escalate_cooldown = 300
; Software TOT (host policy for max25-bcpr / BayCom/based — not radio TOT)
; Synced into max25-bcpr.ini on stack start. Trip → stop bcpr, tot-paused, auto recover.
[tot]
enabled = yes
max_key_sec = 25
min_gap_sec = 1.5
max_consecutive = 3
max_bursts = 8
recover_sec = 300
; Detached operator session (CLI — not parsed from ini):
; max25d --session tmux -c /etc/max25/max25d.ini
; max25d session start --tmux
; max25d-session attach
; Env: MAX25D_SESSION=max25d MAX25D_SESSION_BACKEND=tmux|screen
[serial]
; Legacy single-device overrides — ignored when [devices] is present.
; device = /dev/ttyS4
; baud = 19200
; line = 8n1
; dtr_rts = yes
; kiss_entry = kiss_on
[serial.tnc2c]
; Per-device serial profile (optional — defaults from stacks/tncs/tnc2c-serial.env)
; baud = 19200
; line = 8n1
; dtr_rts = yes
; kiss_entry = kiss_on
[serial.pktnc2]
; pktnc2: 9600 8N1, DTR+RTS off, kiss_entry=auto
; baud = 9600
; line = 8n1
; dtr_rts = no
; kiss_entry = auto
[serial.tmodem]
; T-Modem-c1224 USB CDC KISS half-TNC (not BayCom/based)
; baud = 115200
; line = 8n1
; dtr_rts = no
; --- BayCom kernel (LEGACY — prefer bcpr above) ---
; baycom-ser12 = baycom:a
; [device.baycom-ser12]
; kiss_link = /var/run/baycom-pr/kiss
; modem = a
; baycom_ini = /etc/baycom/baycom-pr.ini
; --- max25-bcpr device block (when max25e0 enabled above) ---
; [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
; Forks max25e0:bcN inherit ipv4/ipv6 from max25e0 unless overridden.
; Built by default (MAX25_BUILD_MAX25_BCPR=ON). See share/max25-bcpr/max25-bcpr.ini.example
; --- HyBBX co-host / standalone attach (max25d preps, HyBBX opens KISS) ---
; [hybbx]
; release_attach = yes
; --- USB/async BayCom KISS serial ---
; [serial.baycom-kiss]
; baud = 9600
; line = 8n1
; dtr_rts = no
; --- CRDOP sound-card modem (MAX25-SoftModem) ---
; [device.soft-crdop]
; host = 127.0.0.1
; port = 8515
; listen = yes
; --- Virtual IP netdev (TUN max25d0 — planned near term) ---
; Full doc: docs/NETDEV.md · interface name is always max25d0
; [netdev]
; enabled = no
; mode = tun
; ipv4 = 127.0.0.25/8
; ipv6 = ::25/128
|