Announcing tnc-server, a cross-platform, multiplexing KISS-to-TCP server

752 views
Skip to first unread message

Christopher Snell

unread,
Jun 23, 2014, 3:39:10 AM6/23/14
to aprx-s...@googlegroups.com
Hi,

I just released the first version of tnc-server, my cross-platform network-enabled KISS gateway.  Using tnc-server, you can attach a KISS TNC to a workstation and share that TNC with multiple users on the local LAN or remotely over the Internet. All clients have full read/write access and any packets coming in will be sent to all clients simultaneously.  tnc-server is designed to handle many concurrent clients and could be useful for an EOC setting where there is one TNC and transceiver but many APRS clients (aprx, Xastir, APRSISCE/32, etc.) that need to connect and send/receive traffic.  I'm run tnc-server on a BeagleBone single-board computer in my ham shack out back and run aprx on a server inside the house.

You can read more about it and download a copy here:

https://github.com/chrissnell/tnc-server

In the coming days, I plan to release some simple command-line APRS clients that work with tnc-server, as well as my APRS and KISS/AX2.5 libraries for the Go programming language.

Chris 
NW5W



Geoffrey F4FXL

unread,
Jun 23, 2014, 5:08:54 AM6/23/14
to aprx-s...@googlegroups.com
Hi Chris,

Well done nice work ! And thank you for making it open source !
One question why have you made the choice for a brand new standard and did not go for an AGWPE clone ?

73
Geoffrey F4FXL

Christopher Snell

unread,
Jun 23, 2014, 11:53:57 AM6/23/14
to aprx-s...@googlegroups.com
Hi Geoffrey,

The "standard" isn't brand new at all.   In fact, aprx speaks KISS over TCP right out of the box:

<interface>
  tcp-device 127.0.0.1 6700 KISS
  callsign YOURCALL-SSID
  tx-ok true
</interface>

That said, I'd like to figure out how to support the AGWPE protocol as well, since APRSISCE/32 apparently supports it right out of the box and so does Xastir (no remserial needed).   I'm going to do some digging into the specs and see if I can get it added in.  

Chris
> --
> You received this message because you are subscribed to the Google Groups "Aprx software" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to aprx-softwar...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Kenneth Finnegan

unread,
Jun 23, 2014, 12:04:44 PM6/23/14
to aprx-s...@googlegroups.com

Good luck working on agw. Other than some comments that its "well documented," I've been unable to find any solid information on it.

I don't entirely understand why you need multiple clients to share a single TNC instead of using an APRS-IS server as the mux for a single rf-gate.

Kenneth Finnegan

Lynn W Deffenbaugh (Mr)

unread,
Jun 23, 2014, 12:48:13 PM6/23/14
to aprx-s...@googlegroups.com
APRSISCE/32 also supports KISS over TCP right out of the box.  Configure a Simply(KISS) port and tell it the connection is via TCP/IP.  Point to the proper IP address and port and it should work.

Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32

Christopher Snell

unread,
Jun 23, 2014, 1:17:58 PM6/23/14
to aprx-s...@googlegroups.com
I found some pretty good documentation in the AGWPEAPI.HTM file in this zipfile:  http://www.sv2agw.com/downloads/develop.zip
There's a lot of functionality in there and II need to figure out what needs to be supported at a minimum to make APRSISCE/32, Xastir, etc. work well.

The "sharing" aspect is just a side benefit of how I wrote this.  My original purpose was to come up with a work-around for the aprx iGating bug that I ran into a few weeks ago.  I needed a way for my weather station to share the TNC with aprx.  My near-term goal is to add AGWPE support and also a RESTful API for creating APRS packets.   I want to make it easy for any software to send telemetry, WX, positions, etc. over APRS.   The plan is to incorporate this into a high altitude balloon that I'm building, as well as a connector for weewx.

Chris NW5W

Christopher Snell

unread,
Jun 23, 2014, 2:06:41 PM6/23/14
to aprx-s...@googlegroups.com
Indeed, APRSISCE/32 works well with tnc-server:


kg4pid

unread,
Jun 25, 2014, 9:17:05 PM6/25/14
to aprx-s...@googlegroups.com
Under Linux, can this tnc-server connect to AX.25 which is in turn connected to a kiss tnc? Also would it be possible to control access to read/write, read only and write only BY client? I'm trying to put together a puzzle and this could be a key piece.

Max KG4PID

Christopher Snell

unread,
Jun 25, 2014, 10:55:54 PM6/25/14
to aprx-s...@googlegroups.com
Not sure what you mean by "AX.25 which is in turn connected to a KISS TNC".  I'm no packet expert but from my research, KISS seems to be an alternative layer 2 protocol for packet radio over serial.   I believe that the TNC takes AX.25 frames off the air and stips off some of the more esoteric AX.25 bits and book-ends them with 0x0c bytes.   I could be wrong about this.

It wouldn't be hard to add ports for read-only and write-only but what's the use case for these?


Liz

unread,
Jun 26, 2014, 8:05:56 AM6/26/14
to aprx-s...@googlegroups.com
On Thu, 26 Jun 2014 12:55:33 +1000
Christopher Snell <chris...@gmail.com> wrote:

> Not sure what you mean by "AX.25 which is in turn connected to a KISS
> TNC".  I'm no packet expert but from my research, KISS seems to be an
> alternative layer 2 protocol for packet radio over serial.   I
> believe that the TNC takes AX.25 frames off the air and stips off
> some of the more esoteric AX.25 bits and book-ends them with 0x0c
> bytes.   I could be wrong about this.

I use AX.25 to a KISS TNC on Kenwood D710.

Patrick Domack

unread,
Jun 26, 2014, 8:39:59 AM6/26/14
to aprx-s...@googlegroups.com
I think he means, he uses the linux ax25 kernel stack to talk to his
tnc, using kissattach.

Christopher Snell

unread,
Jun 26, 2014, 10:09:39 AM6/26/14
to aprx-s...@googlegroups.com
Ah, ok. He might be able to use remserial to bind the remote tnc-server to a local pty and kissattach to that.

Chris
NW5W

kg4pid

unread,
Jun 26, 2014, 11:00:03 AM6/26/14
to aprx-s...@googlegroups.com
Yes this is exactly what I mean. As far as the read only and write only access let me try to explain. In an SAR environment, not everyone using a tracking program is a ham, so they would not be allowed to transmit anything, so they need read only privileges. The write only won't be so easy to explain.

I am currently connecting to a FireNet server so that I can receive Nation Weather Service warnings, watches and advisories and transmit them on RF. However while connected to FireNet I don't receive any messages, I have to be connected to the APRS-IS for that, but then I loose the NWS data. And I just learned yesterday that FirNet was not meant to be used with an igate. So, I want to have one raspberry pi running aprx connected to the APRS-IS doing it's normal thing, igating and able to transmit messages. I want to have another raspberry pi running aprx connected to FireNet and ONLY receive the NWS data, no igating of any kind. It should be able to write to the tnc, but not receive anything from it, preventing it from being an igate. Then feed the output of these into one tnc. This should give me messaging AND the NWS data without having two igates possibly causing a problem.. I figured it was worth a shot. If it doesn't work, oh well. If FireNet would give me messages or if the APRS-IS carried all the NWS data like it used to years ago, I wouldn't be having this problem. I hope you can follow all this.

Max KG4PID

Bill Vodall

unread,
Jun 26, 2014, 11:30:24 AM6/26/14
to aprx-s...@googlegroups.com
> the linux ax25 kernel stack to talk to his tnc, using kissattach.

I believe the connection between the new KISS system and the Linux
ax25 packet stack would be the net2kiss tool. It provides a KISS
packet stream on a virtual serial port.

http://manpages.ubuntu.com/manpages/precise/man8/net2kiss.8.html

That's assuming the new tool doesn't directly attach to the existing
packet stack...

73
Bill, WA7NWP

javi vilar

unread,
Sep 21, 2014, 9:07:33 AM9/21/14
to aprx-s...@googlegroups.com
Hi

very good idea, but it´s possible run the tnc-server in a router whit openWRT and aprx????

thanks

Christopher Snell

unread,
Sep 21, 2014, 5:38:47 PM9/21/14
to aprx-s...@googlegroups.com
I spent a few hours trying to get a gccgo tool chain built for the WRT architecture but I wasn't successful.  If someone wants to give it a shot, I'm happy to distribute your binaries.  

Chris
Reply all
Reply to author
Forward
0 new messages