An AX.25 emulator for TCP connections.
This interface emulates a TNC and makes regular TCP/IP traffic appears like AX.25. So you can connect to a Telnet Ham-Radio BBS or DX Cluster with old MS-DOS Packet Radio software.
For example Graphic Packet:
Or TSTHOST:
Monitor traffic is also simulated:
Remember these are actual TCP/IP sockets in disguise.
Edit stations.txt
and add data for known stations.
Example:
# Callsign ip or hostname port
EA4BAO localhost 6300
EA2RCF cqnet.dyndns.org 6300
EA2RCF-5 cqnet.dyndns.org 7300
EA5SW ea5sw.ddns.net 6300
Format is space-separated. Empty lines and lines starting with #
are ignored.
This file must be in the programs directory. Otherwise, you can set the path with the command line options.
If you are using Python, launch it that way:
python TNC
Help:
$ python tnc -h
TNCTelnet 1.0
usage: tnc [-h] [--file FILE] [--stations FILE] [--mycall CALLSIGN]
[--jhost1] [--ch N] [-v]
An AX.25 emulator for TCP connections
optional arguments:
-h, --help show this help message and exit
--file FILE Device file or named pipe to interact with MS-DOS
box (default: \\.\PIPE\tnc).
--stations FILE JSON file with IP address and TCP port of known
stations (default: stations.txt).
--mycall CALLSIGN My callsign (default: NOCALL).
--jhost1 Start TNC in host mode (default is start in
terminal mode).
--ch N Number of channels (default is 4).
-v Display commands and responses. Multiple times
show more info.
If you are using precompiled binaries, do not open it with double clicking until you are familiar with the software. If something goes wrong, the terminal window will close faster that you have time to read the error.
The emulator runs in the host system. Create a virtual machine and configure its serial port as a named pipe (default name is \\.\PIPE\tnc
):
- Configure CKJ driver using
ckbiocfg
. Use COM1, address3F8H
, IRQ 4. - Load the driver in memory running
gkjbios
. - Launch TSTHOST like this:
TSTHOST /H /C1 /B9600
Edit config.gp
and set the serial speed to 1200 bauds for a realistic experience.
This software only runs on Windows for now. To run it in Linux you'd need to adapt the channel module. TCP sockets error codes are quite different between Linux and Windows.
To create the executable file from the Python sources just run:
pyinstaller.exe --onefile TNC\__main__.py -n TNCTelnet
Since this is basically a telnet client, you can use it to connect to any Telnet server: