ldstnc
What ?
This project is all about a simple, network connectable TNC.
After working on a linux packet engine (ldsped) to be able to run UI-view on my PC's and having the TNC on the linux box, I wanted to go a bit further.
While the linux system is far more able to interact with other programs (ie MRTG), the purpose here is just to have a basic system.
The hardware
The TNC
The first thing I needed was a TNC. I bought a second-hand AEA PK-900. But this is not a little device. And it was a one shot. Not good for a project someone might try to duplicate.
Then I thought of a baycom device. Alas, the TCM3105 is out of production for some time now and is very rare (and expensive if you find it).
I searched for another solution and found on the Internet an example of a simple decoder with the CML MX614. Alas again, while I found a supplier in Belgium, I had to buy a minimum of 50 pcs. A little bit to much for me ...
But then I saw the light ! I found the amazing TNC-X, at a very good price. I bought 3 pcs.
The Network connection
The next thing is the network connection.
I needed a device with serial connection(s) to interface to the TNC-X and means to connect to a TCP/IP network. And enough memory to hold the neccesary code.
This was not a big problem, I already knew the zworld products (I also used them in my car-APRS solution), and there is a beautifull little processor board with ethernet connection, the RCM3700 :
RCM3700(photo from the zworld site)
The assembly
Very little glue is necessary to connect the processor board to the TNC-X :
I do the desinging & drawing, and my good friend former ON4DVT makes the PCB boards. The result :
Very nice, isn't it ?
At first, I wanted to design it to support 2 TNC-X devices, but for now, I let it as is.
The Software
This system is driven by a stripped-down and adapted version of the ldsped code.
This was not as easy as I first thougth. The linux code benifits from the linux OS: network interfacing, multitasking etc: it all is there and ready to use.
I already mentioned : I'm not that of a programmer. It took me some time to study the examples to service multiple TCP/IP connections on the zworld board.
For now, it will only process the R, G, k, K and m frames (and, offcourse, respond with the proper frames). This is enough for UI-view or similar to function (send and receive).
A photo of the complete test system :
Here's how my tnc presents itsself to UI-view (of course pretending it's an agwpe) :
Jumper 0 enables the debugging. Debug info then is sent via the serial port on the TNC-X board :
The first lines are the attempts to connect to 2 different NTP servers to set the zworld's clock.
Then 5 TCP/IP sockets are opened.
Finally the TNC's data is processed.
Conclusion
It's a nice project. Although not yet finished, I'm very pleased it worked out well so far.
If you have questions / suggestions : please tell me !