BPQ Home   BPQ32 Home

KISS support in BPQ32/LinBPQ.

1. Introduction.

Although the basic KISS configuration is simple, with a number of parameters set to reasonable defaults, the KISS driver has a large number of options. KISS can operate over a serial port, i2c, TCP and UDP.

2. Basic Configuration.

All KISS ports have a number of statements in common:

; Minimal KISS Configuration

PORT
 ID=Kiss Port
 TYPE=ASYNC
 PROTOCOL=KISS
 FRACK=10000
 RESPTIME=3000
 RETRIES=10
 MAXFRAME=2
 PACLEN=200
 TXDELAY=500
 SLOTTIME=100
 PERSIST=64
 

Serial ports need COMPORT and SPEED parameters:

 COMPORT=3              ; Windows - COM3
or 
 COMPORT=/dev/ttyS0     ; Linux device name.      
 SPEED=19200            ; PC to TNC Speed

Software Modems, such as DireWolf or UZ7HO Soundmodem, can use KISS over TCP. These Need IPADDR and TCPPORT parameters:

 IPADDR=127.0.0.1       ; Address of PC runnning the TNC. Usually this is the same machine as BPQ, so use 127.0.0.1 but can be on another machine
 TCPPORT=8100           ; Port TNC listens on. Default for UZ7HO is 8100 and Direwolf 8001

Some configurations need a KISSOPTIONS paramter. The options are

 KISSOPTIONS=POLLED,CHECKSUM,ACKMODE,SLAVE,D700,PITNC,NOPARAMS,FLDIGI,TRACKER

ENDPORT
 

3. KISSOPTIONS.

The first 3 select my extended KISS mode.

These extended KISS options are supported by my BPQKISS EPROM for the TNC2 and clones, the TNCPI and most Kantronics TNCs (where it is called XKISS).

POLLED selects multi-dropped mode, where the TNC only transmits when requested (Polled) by the PC. This allows several TNCs to share an async port without any risk of collisions.

CHECKSUM selects a mode where a checksum byte is appended to each data message, and checked by the other end. This reduces the risk of data corruption if errors occur on the link from PC to TNCs. It may be used on its own, but should always be used if POLLED mode is selected.

ACKMODE enables the transmission of 'ACK required' frames. These cause the TNC to send a reply when the frame has been transmitted. This will improve link performance by avoiding the possibility of a retry being sent before the original frame has even left the TNC. This mode should always be used if the TNC support it.

SLAVE allows a PC to be multidropped along with one or more KISS TNCs on a multidropped link. If you use SLAVE, you shouldn't set POLLED, and you shouldn't use ACKMODE on either end.

D700 removes the risk of accidentally taking D700/D710 radios out of KISS Mode

PITNC is for use the the TNC-PI on a Raspberry PI

NOPARAMS - Don't send Parameters (TXDELAY, SLOTTIME, etc) to TNC;

FLDIGI - Set if you are using the "KISS over UDP" option in FLDIGI

TRACKER - Used with SCS Tracket to place it in KISS mode on initialisation

If you need more than one separate with commas, eg KISSOPTIONS=PITNC,NOPARAMS



John Wiseman GM8BPQ/G8BPQ
November 2018