home      FAQs

Keep It Simple Stupid -- KISS

KISS mode is a feature of some TNCs, and the only mode of other TNCs. The basic idea is that TNCs were originally designed for a person to operate, with readable commands and responses. The TNC made it practical for a person to get on the air on packet and hold conversations with multiple people.

The problem with a TNC's human-usable interface is that it is hard to operate from the perspective of a computer. Since everybody who uses packet these days uses a computer to drive it, having all sorts of readable control capability is a disadvantage. KISS mode is a command interface that lets the computer do most of the work, and makes it possible for the computer to have very fine control of what the TNC is doing.

Examples of where KISS is easier for the computer:

In human mode the TNC could be ready to accept a command and would tell you so with the cmd: prompt. Typing K puts the TNC back into the condition where it will send what is typed. Sending control-C will go back to command mode. However, if an incoming message comes in, it gets displayed (or sent to the computer) regardless of whether the TNC is waiting for a command or not.
In KISS mode the packet is created in the memory of the master computer, in our case a Raspberry PI, and is sent to the TNC in complete form. The from callsign, to callsign, command bits, length, payload, and crc checksum are all in the message sent to the TNC. Once the TNC has the message, it performs PPERSIST based delays and SLOTTIME and so on and then goes on the air once permitted by those calculations and CSMA. When not commanded to transmit, or when waiting to transmit, the TNC is also listening for incoming packets, whether addressed to this TNC or not. KISS TNCs do not have a sense of personal callsign or address, and will receive and decode any message arriving. It is up to the master computer to read each and every intact packet out of the TNC and decide what to do with that message.

Where does KISS mode fail?

KISS mode does not give the master computer absolute control over PTT. The master computer is still at the mercy of the channel control built into the TNC. If there is a sending station on frequency which never shuts up, or if there are many stations which combine to aways keep the channel busy, the KISS TNC can't transmit anymore than any other TNC can.

Switching in and out of KISS mode

On a TNC having KISS mode as an option, there is a command provided to let a person put the TNC into KISS mode. Once the TNC is in KISS mode it is not likely to drop back to normal command mode because if it was easy, it could be done by mistake when the computer is trying to control the TNC with KISS commands.

If you put the TNC in KISS mode it may erase all configurations and saved mail, if your TNC has a mailbox.

When KISS mode was first made available, it came in the form of EPROMs that replaced the factory firmware in the TNC. There was no getting in and out of KISS mode.

Modern TNCs may come with only KISS mode, since there is an expectation that you are using a computer to control it anyway.

How do I get out?

You can take the TNC out of KISS mode but you need a few pieces of knowledge and hardware. First you need to know the serial baud rate of the TNC and that it is actually in KISS mode. Second you need a PC with a terminal program connected to the TNC. If you have these things, then you can use the extended keyboard sequences on a typical PC keyboard to send the not-so-secret code to the TNC.
Hold down the ALT key and on the numeric keypad press 192, then release the ALT key.
Do the same for 255, and then for 192 again.
That should do it.

If the keypad method didn't work or you don't know the baud rate, you can always do a hard reset on the CPU of the TNC. How you do that is up to the TNC manufacturar but in general you have to power down the TNC, open it up, remove the battery or remove the battery jumper, allowing the TNC memory to decay out. That could take a few minutes.
Then re-connect the battery, and power up the TNC.

© Tadd Torborg, 2014↝2017 -- all rights reserved