About
tncd is a userspace bridge that lets AGWPE-compatible applications (Winlink,
Xastir, APRSIS32, etc.) talk to KISS TNCs — serial, TCP, or Bluetooth.
It implements full AX.25 connected mode including SABM/UA handshake, I-frame sequencing, and RR acknowledgement, with no kernel AX.25 stack required.
x86_64
i686
arm64
armhf
riscv64
Install
Debian / Ubuntu
curl -fsSL https://tncd.dev/tncd.pub \
| sudo gpg --dearmor \
-o /usr/share/keyrings/tncd.gpg
echo "deb [signed-by=/usr/share/keyrings/tncd.gpg] \
https://tncd.dev/apt stable main" \
| sudo tee /etc/apt/sources.list.d/tncd.list
sudo apt update
sudo apt install tncd
Fedora / RHEL / CentOS
sudo curl -fsSL \
https://tncd.dev/rpm/tncd.repo \
-o /etc/yum.repos.d/tncd.repo
sudo dnf install tncd
openSUSE
sudo curl -fsSL \
https://tncd.dev/rpm/tncd.repo \
-o /etc/zypp/repos.d/tncd.repo
sudo zypper refresh
sudo zypper install tncd
Arch Linux (AUR)
yay -S tncd
Or any AUR helper. System deps are resolved automatically.
Packages include all Python dependencies. Only
python3 and
bluez need to be installed separately (usually already present).
Quick Start
Copy the example config and edit it for your TNC:
sudo cp /etc/tncd.ini.example /etc/tncd.ini
sudo $EDITOR /etc/tncd.ini
Enable and start the service:
sudo systemctl enable --now tncd
For a Bluetooth TNC, also start the rfcomm manager:
sudo systemctl enable --now tncd-rfcomm
See the README for full configuration reference.