Setting up a digipeater using a Kantronics TNC with v8.2 software

The following is an annotated discussion of KPC3 settings, from APRSSIG. Some things have been edited to correct typos in the original text. Be sure to see the LATE NOTES at the bottom!

Original message by Jeff Brenton KA9VNV

Here is the DISP from our KPC-3+ with the v8.2 software, edited to protect my remote SYSOP passwords... your mileage will vary, but this works (important settings for APRS are in RED):

8BITCONV ON
ABAUD 9600
AUTOLF ON
AX25L2V2 ON
AXDELAY 0
AXHANG 0
BEACON EVERY 0 (see important ID note below!)
BKONDEL ON
BLT
1 EVERY 00:10:00
2 EVERY 00:29:00
3 EVERY 01:00:00 STARTING AT 00:01:00
4 EVERY 01:00:00 STARTING AT 00:31:00
BREAK OFF
BTEXT 
BUDLIST OFF NONE
A Link state is: DISCONNECTED
CANLINE $18 (CTRL-X)
CANPAC $19 (CTRL-Y)
CD SOFTWARE
CHECK 0 (disabled)
CMDTIME 1 (1 sec)
CMSG PBBS
COMMAND $03 (CTRL-C)
CONLIST OFF NONE
CONMODE CONVERS
CONOK ON
CONPERM OFF
CPACTIME OFF
CR ON
CRSUP OFF
CSTAMP OFF
CTEXT No operator here; routing to PBBS...
CTRL A OFF B OFF
CWID EVERY 0 (disabled)
CWIDTEXT DE KA9VNV
DAYTIME 10/02/97 15:13:11
DAYTWEAK 8
DAYSTR mm/dd/yy hh:mm:ss
DAMA OFF
DAMACHCK 18 (180 sec)
DBLDISC OFF
DELETE $08 (CTRL-H)
DIGIPEAT ON 
DWAIT 0
ECHO ON
ESCAPE OFF
FLOW ON
FILTER OFF
FRACK 4 (4 sec)
FULLDUP OFF 
GPSHEAD
1 
2
3
4
GPSINIT
HBAUD 1200
HEADERLN OFF
HID OFF 
HTEXT
INTFACE TERMINAL
KNTIMER 15 min
LEDS ON
LCOK ON
LFADD ON
LFSUP OFF
LLIST OFF NONE
LT
1 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
2 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
3 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
4 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
LTP 
1 APRS VIA WIDE 
2 APRS VIA WIDE,WIDE
3 APRS VIA TRACE3-3
4 APRS VIA WIDE3-3
LTRACK 0
MONITOR ON      (SEE IMPORTANT LATE NOTE BELOW)
MALL ON
MAXFRAME 4
MAXUSERS 10
MBEACON ON
MCON OFF
MCOM OFF
MHEADER ON
MRESP OFF
MRPT ON
MSTAMP OFF
MXMIT ON
MYCALL KA9VNV-3 
MYALIAS MCEOC   (anything but RELAY, WIDE, or TRACE)
MYDROP 0
MYNODE KA9VNV-7 (anything but RELAY, WIDE, or TRACE)
MYPBBS MCESDA
MYREMOTE WDSTK-3
NDWILD OFF
NEWMODE ON
NOMODE OFF
NTEXT
NUMNODES 0
PACLEN 0 
PACTIME AFTER 10 (1000 msec)
PASS $16 (CTRL-V)
PASSALL OFF
PBBS 10
PBFORWRD NONE EVERY 0 (disabled)
PBHEADER ON
PBHOLD ON
PBKILLFW OFF
PBLIST OFF NONE
PBLO NEW VARIABLE
PBPERSON OFF
PBREVERS ON
PERSIST 63 (25%)
PID OFF
PMODE CMD
PTEXT Welcome to McHenry County RACES PBBS
REDISPLA $12 (CTRL-R)
RELINK OFF
RETRY 10
RING ON
RNRTIME 0 (disabled)
RTEXT YouR keY phRAse goEs HerE!
SCREENL 0
SENDPAC $0D (CTRL-M)
SLOTTIME 10 (100 msec)
START $11 (CTRL-Q)
STOP $13 (CTRL-S)
STREAMSW $7C (|)
STREAMCA OFF
STREAMEV OFF
SUPLIST ON KA9VNV-3
SWP 17,17,108
TELEMTRY 0 (disabled)
TRACE OFF
TRFLOW OFF
TRIES 10
TXDELAY 30 (300 msec)
TXFLOW OFF
UNPROTO APRSW VIA KA9VNV-3,WIDE
UIDIGI ON RELAY,WIDE,TRACE 
UIDWAIT OFF
UIFLOOD WIDE,30,NOID  (SEE IMPORTANT ID NOTE BELOW!)
UITRACE TRACE,30 
USERS 1
XFLOW ON
XKCHKSUM OFF
XKPOLLED OFF
XMITLVL 100
XMITOK ON
XOFF $13 (CTRL-S)
XON $11 (CTRL-Q)
--------------------------------------------

IMPORTANT NOTE ON IDs: Due to the use of NOID in the UIFLOOD parameter, it is now necessary to force an ID every 10 minutes to remain legal, since the digipeater no longer sends its ID with every transmitted packet.

To minimize the number of "useless" beacons, it is important to still leave HID OFF, so the LText beacons must be modified to show all aliases that a digipeater digipeats for, and set one buffer to transmit every 10 minutes. All LText buffers should be set to identical contents, due to a limitation in APRS/DOS.

The LTPath for the buffer being transmitted every 10 minutes should be set to either zero or one digipeater, to minimize clutter; this will accomplish covering the legalities.

Discussion by KC5JGV:

>BLT
>1 EVERY 00:10:00
>2 EVERY 00:29:00
>3 EVERY 01:00:00 STARTING AT 00:01:00
>4 EVERY 01:00:00 STARTING AT 00:31:00

This is interesting and a clever way to send different paths. I hadn't thought of this one.

>CMSG PBBS

Here if someone tries to connect to the digi they are moved into the PBBS (messaging system). I use DISC, as I don't want to use the PBBS. DISC displays CTEXT and then disconnects the users.

>CTEXT No operator here; routing to PBBS...

Here I use: This digi for APRS use only. Please contact KC5JGV for info on APRS......

>LT
>1 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
>2 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
>3 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
>4 !4220.47NT08826.42W#PHG6460 McHenry County EOC WIDE/R RELAY/R TRACE/R
>LTP
>1 APRS VIA WIDE
>2 APRS VIA WIDE,WIDE
>3 APRS VIA TRACE3-3
>4 APRS VIA WIDE3-3

This works with the BLT command. Again, very clever! Have you thought about sending objects here? i.e. area repeater locations, ARES station, EOC? Might be useful during a time of crisis!

>MAXUSERS 10

I have mine set to 1. With no PBBS in use, 1 is all I need.

>MYCALL KA9VNV-3
>MYALIAS MCEOC
>MYDROP 0
>MYNODE KA9VNV-7
>MYPBBS MCESDA

I've kept the RELAY and WIDE calls here in MYALIAS and MYNODE. See anything wrong with that?

>PBBS 10

Here, set PBBS to 0 if you don't want to use a PBBS!

>PTEXT Welcome to McHenry County RACES PBBS

If you set CMSG to PBBS and PBBS to 0, I think you still get the PTEXT. Although this would disconnect you, you'd get TWO lines of text (CTEXT and PTEXT). Could be of use.

>UNPROTO APRSW VIA KA9VNV-3,WIDE
>UIDIGI ON RELAY,WIDE,TRACE
>UIDWAIT OFF
>UIFLOOD WIDE,30,NOID
>UITRACE TRACE,30
>USERS 1

I've set UNPROTO to APRS VIA WIDE, TRACE, WIDE

-------------------------------------

Reply by on Monday:

>>1 !4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
>>2 !4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
>>3 !4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
>>4 !4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
>>LTP
>>1 APRS VIA WIDE
>>2 APRS VIA WIDE,WIDE
>>3 APRS VIA TRACE3-3
>>4 APRS VIA WIDE3-3
> 
>This works with the BLT command. Again, very clever! Have you thought
>about sending objects here? i.e. area repeater locations, ARES station,
>EOC? Might be useful during a time of crisis!

Well, since the digi is AT the EOC, don't need that... B-)

But, you bring up a good point. I did for other objects... that is a very good idea, too. I can think of a few, such as the current storage location of specific ESDA vehicles (our main communications van doesn't have a permanent home), and the availability of the remote commands to change LT buffers would make this viable. In fact, I originally misunderstood how to specify a "TRACE" digi symbol, and ended up broadcasting that there was a thunderstorm over the EOC... was able to change it from home, using a log-on script I designed.

>>MYCALL KA9VNV-3
>>MYALIAS MCEOC
>>MYDROP 0
>>MYNODE KA9VNV-7
>>MYPBBS MCESDA
> 
>I've kept the RELAY and WIDE calls here in MYALIAS and MYNODE. See
>anything wrong with that?

Yes, there is something wrong with that - you don't get callsign substitution for MYALIAS, at least, and possibly for MYNODE. It definitely works for all callsigns in the UID area, which is why I put W-R-T there. The others are to fill in the "holes" in the callsign assortment. MCEOC is there because, while it doesn't shorten the actual packet to have a shorter call (all callsigns are 6 characters in AX.25), it gives you more space in WinAPRS's TNC path...

>>UNPROTO APRSW VIA KA9VNV-3,WIDE
>>UIDIGI ON RELAY,WIDE,TRACE
>>UIDWAIT OFF
>>UIFLOOD WIDE,30,ID
>>UITRACE TRACE,30
>>USERS 1
> 
>I've set UNPROTO to APRS VIA WIDE, TRACE, WIDE, TRACE. For now, that
>seems ok. UIDIGI to ON, RELAY, WIDE, TRACE, AR (AR for Arkansas, you'd
>use your state). The rest we left out. Is there a specific reason for
>setting UIFLOOD and UITRACE? Have you tried it without setting them?

The UNPROTO is a legacy from testing with WinAPRS, prior to putting it up as a digi. Since BTEXT and HID are off, it's never used.

UIFLOOD and UITRACE implement the WIDEn-n and TRACEn-n features; if you don't set them, those paths won't work, and I wanted to be able to support MIC-E (and other) packets addressed to APRS V WIDE3-3 or whatever...

The "ID" on the end of UIFLOOD makes it SOMEWHAT equivalent to the UITRACE path, with one important difference; only the LAST flood digi's call appears in the header, rather than ALL digipeater's calls.
--------------------------------
LATE NOTES, added after the above was posted on APRSSIG. It has been pointed out to me that the APRS posit format used in the above examples is correct only for a stand-alone digipeater. All places where '!' was used should be replaced with a '=', if the digi usually has an APRS computer attached to it. Examples:

=4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
!4220.47NT08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace

Also, Bob Bruninga has suggested, and it has been adopted, that digis built with Kantronics 8.2 software and settings as suggested here (that is, implementing the WIDEn-n and TRACEn-n code) should use an 'N' overlay on the digipeater symbol. This is done by putting an 'N' between the latitude and longitude, in place of the 'T' used in our examples, thus:

=4220.47NN08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace
!4220.47NN08826.42W#PHG6460 McHenry County EOC Wide/Relay/Trace

There are other overlay characters defined for digipeaters with different capabilities, such as 'T' for those using PacComm's TNC version 4.x software, which can do call sign substitution (so you can do TRACE), but not WIDE/TRACEn-n.

IMPORTANT!! If you intend to leave the TNC attached to a computer, but will not be running an APRS or other terminal program on that computer, you must make sure that the INITKPC3.TNC and RESTORE.TNC files are modified to include "MON ON" and "MON OFF", respectively. And, before exiting from any terminal program, issue a "MON OFF" command.

In this particular circumstance, it is possible for the computer's serial port to tell the TNC to not send data. When the TNC's port buffer fills, the TNC may stop working. This problem has not been reported when the TNC is not plugged into a computer, or if the computer is actively listening to the TNC. In the absense of a connected computer, however, the TNC just sends the excess data off to the bit bucket. [Note: failure to provide a properly-sized bit bucket will require proper drainage, or sufficient airflow to allow for adequate bit evaporation]

[updated 01 September 2001. Copyright 1999-2002 by Jeff Brenton KA9VNV]