summaryrefslogtreecommitdiff
path: root/stacks/tncs/docs/TNC2C-OPERATIONS.md
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 |
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com