KISS TNC

Expose graywolf as a KISS terminal node controller

The KISS (Keep It Simple, Stupid) interface lets third-party packet software — such as Xastir, YAAC, pinpoint, or aprx — use graywolf as their TNC. Graywolf supports multiple simultaneous KISS interfaces over TCP, serial, or Bluetooth.

KISS Interfaces page showing a TCP KISS interface on port 8071
A TCP KISS interface configured on port 8071

Interface Types

TypeDescriptionUse Case
tcp TCP socket server accepting multiple clients Most APRS software (Xastir, YAAC, etc.)
serial Virtual serial port Legacy software expecting a serial TNC
bluetooth Bluetooth serial profile Mobile APRS apps (APRSdroid, etc.)

Interface Settings

FieldDefaultDescription
name Display name for this interface
type tcp, serial, or bluetooth
listen_addr Listen address for TCP (e.g., 0.0.0.0:6700)
device Device path for serial/Bluetooth
baud_rate 9600 Baud rate for serial interfaces
channel 1 Default radio channel for this interface
broadcast true Fan out received packets to all connected clients
enabled true Interface active/inactive

TCP Setup

A TCP KISS interface is the most common setup. Configure it to listen on a port and point your APRS software at host:port with KISS protocol selected.

Port 6700 is the conventional KISS-over-TCP port used by most APRS software. If your APRS application asks for a “KISS TNC host”, point it at graywolf’s IP and this port.

Multi-Port KISS

The KISS protocol supports multiple “ports” (0–15) within a single connection. Each KISS port maps to a graywolf radio channel. Clients can send and receive on different channels through one TCP connection.

RX Broadcast

When broadcast is enabled, all packets received on the interface’s channel are forwarded to every connected KISS client. Disable this if you want a write-only interface where clients can transmit but don’t receive.

API Reference

MethodEndpointDescription
GET/api/kissList all KISS interfaces
GET/api/kiss/{id}Get a single interface
POST/api/kissCreate a new interface
PUT/api/kiss/{id}Update an interface
DELETE/api/kiss/{id}Delete an interface