blob: aa9b8efa15942068edfe0199e3acea7681038bd9 (
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
|
# TNC2C operations
Landolt TNC2C on a serial port — software recovery, boot-wait rescue, verify, HyBBX attach.
## Prerequisites
- Port free: no HyBBX or other userspace serial owner on the TNC serial device
- `tnc2c-serial.env` matches your wiring (device, baud, line format)
- DTR+RTS asserted while talking to the TNC (boot-wait and host-reset do this)
## Normal prep (max25d / HyBBX)
Production path: `max25d` with `auto_start` runs boot-wait and software recovery before KISS attach.
```bash
./scripts/max25-ctl start --hardware tncs --device tnc2c
# or: sudo max25d -c /etc/max25/max25d.ini
```
Manual recovery without power cycle:
```bash
cd stacks/tncs
./tnc2c-host-reset.sh --kiss
# or: ./tnc2c-boot-wait.sh --recover-only
```
Full ladder and rescue rules: [TNC-RECOVERY.md](TNC-RECOVERY.md).
## Boot-wait (rescue — power cycle)
Use when software recovery fails or the TNC was cold-started without DTR high:
```bash
cd stacks/tncs
./tnc2c-boot-wait.sh
```
Power cycle the TNC while the script holds DTR+RTS. Expect `OK: HOST` when successful.
## Verify
```bash
./tnc2c-integration-test.sh
./tnc2c-health.sh
```
Integration test runs boot-wait + verify in one process so DTR does not drop between steps.
## HyBBX
1. MAX25 prep complete (boot-wait or `max25d` auto_start with recovery).
2. Merge `share/hybbx/tnc2c-host.ini.example` into Secondary `hybbx.ini` — **`kiss_entry = none`** (MAX25 owns KISS entry).
3. Do not run another userspace serial client on the same device while HyBBX is active.
See [HYBBX-TNC2C.md](HYBBX-TNC2C.md) and [../../docs/HYBBX.md](../../docs/HYBBX.md).
## Recovery
| Symptom | Action |
|---------|--------|
| Echo only, no `cmd:` | `./tnc2c-host-reset.sh` then `./tnc2c-boot-wait.sh --recover-only` |
| Still echo-only / silent | **Rescue:** `./tnc2c-boot-wait.sh` + power cycle (DTR high) |
| `max25d` reports `error-host` | Stop other serial owners; run `--recover-only`; restart max25d |
| Port busy | Stop HyBBX or other serial owner; check `fuser` on device |
| Wrong baud | Fix `tnc2c-serial.env` and retry |
|