Also known as: KISS, KISS TNC, KISS protocol
KISS (“Keep It Simple, Stupid”) is a minimal framing protocol that connects a host computer to a terminal node controller (TNC) — the modem that turns packet radio tones into bits. In KISS mode the TNC does almost nothing but the physical modem work, passing raw AX.25 frames to and from the host with only a few bytes of overhead, so all protocol logic lives in software on the computer.12
How it works
KISS uses SLIP-style framing: each frame is bracketed by a special FEND delimiter byte (0xC0), with byte-stuffing (FESC escapes) so that any FEND or FESC appearing inside the data cannot be mistaken for a boundary. The first byte after the opening FEND is a command/port nibble — most often “data frame” — and everything up to the closing FEND is the raw AX.25 packet. There is no error checking or acknowledgement in KISS itself; that is deliberately left to the AX.25 layer and the application. The result is that a “dumb” KISS TNC is just a bidirectional pipe between the radio’s modem and host software.
The design philosophy is the point: earlier TNCs embedded the whole AX.25 state machine in firmware, which was hard to update. KISS moves that intelligence into the host, where it can evolve freely, and leaves the TNC responsible only for AFSK/GFSK modem duties and frame synchronization.
Relevance to SDR
KISS is the near-universal interface between packet-radio modems and applications. A software-defined-radio setup commonly runs Direwolf as a software TNC that demodulates the audio, then exposes a KISS TCP socket that APRS clients, Winlink, or BBS software connect to — no hardware TNC required. Because the framing is trivial, KISS is easy to implement and is supported by essentially every packet application, making it the natural bridge from an SDR audio stream to higher-level data protocols.
GopherTrunk targets land-mobile trunking and paging, so it neither implements a KISS interface nor decodes AX.25; KISS is documented here as the standard glue in the adjacent amateur packet-radio ecosystem, alongside tools like Direwolf and multimon-ng.
Sources
-
KISS (TNC) — Wikipedia, for the KISS framing protocol, its FEND delimiters and command byte, and the move of AX.25 logic to the host. ↩
-
Terminal node controller — Wikipedia, for the TNC’s role as the packet-radio modem between radio and computer. ↩