Dxspider secure login

From now on there is the possibility to set up an ssh tunnel to the Dxcluster server.
This gives the advantage that no plan text login and passwords are sent over telnet. And that your connection to the cluster is secured.
Why, suppressing fake spots and abuse of the network.

Howto

Send me your login username (call) and password you want to use. I will setup a account for you.
After this it possible to connect secure to the dxcluster.
Copy and past this line in your terminal. Change “call” with your username.

ssh -L 7300:localhost:7300 -N -p 7322 call@dx.packet-radio.nl

Look like this.

Enter your password and leave the terminal window open.
After this nothing happens, but there is a secure tunnel.
Now it is possible to connect the dxcluster on localhost:7300

Open a new terminal window en telnet to localhost port 7300

This is also possible with Putty.

Save and open a ssh connection.

Now it is possible to connect your log program or what you want to the DxCluster on localhost port 7300

Direwolf Vs QtSoundModem (part 2)

Rx Only

Okay, that was a bit of a disappointment. I ran the test at 14.1022Mhz on 300 Baud. I think the conditions were very bad in those 24 hours.

For the test I use Kissutil.

https://www.mankier.com/1/kissutil

kissutil  can be used interactively for troubleshooting a KISS TNC. It is usable with direwolf and other generic KISS TNCs connected to a serial port. It can also be used as an application interface where each side places files in a directory for the other to process.

First I wrote two start files for the test.

Direwolf.sh

#!/bin/bash
cd /home/niels/testbed/
./kiss-direwolf -p 8009 -o /home/niels/testbed/rec-direwolf

Qtsm.sh

#!/bin/bash
cd /home/niels/testbed/
./kiss-qtsm -p 8105 -o /home/niels/testbed/rec-qtsm

The test ran for 24 hours, which is 86400 seconds.

timeout -s 9 86400 ./qtsm.sh

After 24 hours I can start counting the received frames.

As you can see this is very disappointing. Now I understand that the focus of QtSoundModem is more in the HF area. With a difference of 4 frames, the difference between Direwolf and QtSoundModem is minimal. In fact, too few frames were received in the 24 hours to make a good comparison. Is my opinion.

The next test we will try on 144.800Mhz the local Aprs frequency.

Direwolf Vs QtSoundModem (part 1)

This is about RX and not TX.

This has caused some headaches. I want to use one trx and one antenna for this test. (Icom 7300 and a Hyendfed)Now the problem is that Direwolf and QtSoundModem both use the sound card. Now you can’t both use the same sound card at the same time. So we will have to use two virtual sound cards and route the audio to these sound cards.  For this I use “pactl” with this I can manipulate the PulseAudio server.

pactl load-module module-virtual-sink sink_name=direwolf
And
pactl load-module module-virtual-sink sink_name=qtsoundmodem

Actually we are making a virtual audio card for Direwolf and QtSoundModem. Now we need to route the Audio from the input to the virtual audio card. This is possible with PavuControl.

Setup Direwolf

ADEVICE pulse
ACHANNELS 1
CHANNEL 0
MYCALL N0CALL
MODEM 300 1000 1200
AGWPORT 8008
KISSPORT 8009

Uhmmmmm port 8001.  I don’t understand that yet, in the config it really is port 8009.

Setup QtSoundModem

 

Now I haven’t fully read up on PulseAudio and pactl and the virtual cable/cards. Perhaps my wording and references are not quite correct.

Now I have the opportunity to test…..

BPQ32 Yapp file transfer

BPQ32 and QTermTCP support the Yapp Protocol. Let’s take a look at how that works.

First we have to great a Directory  ” Files”  in the root dir of Linbpq. The user Pi must be the owner of the Directory.

cd /home/pi/linbpq
mkdir Files
ls -l
drwxr-xr-x 2 pi pi    4096 nov  1 12:10 Files
* If the user Pi does not own the directory "Files", you can change that with.
sudo chown pi:pi Files

Now we can set QTermTCP to use the directory “Files” for uploads and downloads. In the top menu choose ” Yapp” , ” Set Receive Directory” and choose the correct directory (Files).

First we need to connect to a local BBS that supports the YAPP protocol. Now I have set up a BBS here for this test. As modems I use two Ninotnc`s connected with a null modem cable.
Now we are ready to send a file. Again choose in the top menu “Yapp” and “Send File” Now you can choose which file you want to send.

Here we go…..

Monitor screen from Linbpq BBS.

File compleet.

The same file but compressed.

TheFirmWare and The Firmware PC Extended

Firmwares For TNC2C, TNC2C-H, TNC2S and TNC2H with EPROMs

The Firmware PC Extended

Download TFPCR

Download TFPCX

Download TFWin

 

Bug Netrom node Broadcast

@Bug Bash / Thanks to Dave who has fixed the bug (also working on Xfbb) Thanks to Theo how has found the Bug.

There is an (apparently) very old bug in netromd of the linuxax25 tools. This bug ensures that nodes broadcasts on an AX.25 port with paclen <256 do not go out or are incomplete. This is the case in both the original and VE7FET versions.

Syslog get spammend with this kind of messages

Feb  6 14:20:03 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:08 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:13 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:18 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:23 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:28 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:33 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:38 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:20:43 raspberrypi netromd[17311]: netromt: sendto: Message too long
Feb  6 14:35:04 raspberrypi netromd[17320]: netromt: sendto: Message too long
Feb  6 14:35:09 raspberrypi netromd[17320]: netromt: sendto: Message too long
Feb  6 14:35:14 raspberrypi netromd[17320]: netromt: sendto: Message too long
Feb  6 14:35:19 raspberrypi netromd[17320]: netromt: sendto: Message too long

This can be fixed by releasing a patch on the ax25tools/netrom/netromt.c file.

106c106,111
< 
---
> 	int ax_paclen;
> 	
> 	ax_paclen = ax25_config_get_paclen (port_list[port].port);
> 	if (ax_paclen == 0) 
> 		ax_paclen = NODES_PACLEN;	
> 	
183,184c188,189
< 			if (len + ROUTE_LEN > NODES_PACLEN)
< 				break;
---
> 			if (len + ROUTE_LEN > ax_paclen)
> 				break;	
197,198c202,203
< 	/* If the packet was not full then we are done */
< 	} while (len + ROUTE_LEN > NODES_PACLEN);
---
> 	/* If the packet was not full then we are done */	
> 	} while (len + ROUTE_LEN > ax_paclen);

Download the patch

ARIM beta test version 2.4b1

This version supports the TNC-Pi9K6 TNC on Raspberry Pi hosts. ARIM v2.4b1 works with both ARDOP and ARDOP2 TNCs (like gARIM), so it’s the only version of ARIM needed now.

ARIM is the text version of the program, based on ncurses. It can be run in an ssh or tmux session on a headless RPi, making remote operation easy.

The binary distribution for installation on RPi hosts is here:

https://www.whitemesa.net/arim/pkg/beta/arim-2.4b1-bin-linux-gnueabihf-armv7l.tar.gz

and the source code distribution (to be compiled on the RPi) is here:

https://www.whitemesa.net/arim/src/beta/arim-2.4b1.tar.gz

Instructions for installing and running ARIM are here:

https://www.whitemesa.net/arim/arim.html

Details about configuring ARIM for use with the TNC-Pi9K6 are included in the change log below.
An example of a TNC-Pi9K6 port definition can be seen in the sample ‘arim.ini’ file supplied with the ARIM distribution ([tnc] #2).

This version was developed on an RPi 3 with a TNC-Pi9K6 TNC running ARDOP_Teensy
and ARDOP2_Teensy. It was tested with another ARIM instance running on Linux,
using the ardopc and ardop2 TNCs.

Be sure to use the latest TeensyProjects source code when installing ARDOP_Teensy or ARDOP2_Teensy into the TNC-Pi9K6.

Good luck and please let me know if you find a bug or have questions.

73,
Bob NW8L

ARIM Messaging Program Change Log
———————————

v2.4b1 16Nov2018
—————-
1. Add support for TNC-Pi9K6 hardware ARDOP TNC. This requires that
ARIM be installed on the Raspberry Pi unit hosting the TNC-Pi9K6
and interface with the TNC over the /dev/serial0 serial port.
These new parameters are used in a [tnc] section of the
configuration file to define the TNC-Pi9K6 port:
— ‘interface’ may be ‘serial’ or ‘tcp’. Set to ‘serial’ for a
port using the TNC-Pi9K6. Example:
interface = serial
The default is ‘tcp’.
— ‘serial-port’ is assigned the device name for the RPi serial
port used by ARIM to attach to the TNC-Pi9K6. Example:
serial-port = /dev/serial0
The default is ‘/dev/serial0’, which is typical for the
TNC-Pi9K6 on an RPi host running the Raspbian OS.
— ‘serial-baudrate’ is assigned the baud rate for the serial port
device. Example:
serial-baudrate = 115200
The default is ‘115200’, which is typical for the TNC-Pi9K6
running ARDOP or ARDOP 2.
Another new parameter is used in the [log] section of the
configuration file:
— ‘tncpi9k6-log’ is used to enable or disable the TNC-Pi9K6 debug
log on the RPi. Example:
tncpi9k6-log = TRUE
The log is written to a file in the ARIM ‘log’ directory with
a name like ‘tncpi9k6-20181110.log’ which includes a datestamp.
Although the log is rotated daily, it can become very large
with the default verbosity setting of 7. To reduce log size,
the ‘LOGLEVEL’ command can be sent to the TNC when the port is
initialized to change the level. Do this with a ‘tnc-init-cmd’
parameter in the [tnc] section for the port. Example:
tnc-init-cmd = LOGLEVEL 6
—————————————————————
NOTE: Support for TNCPi9K6 debug logging must be compiled in to
the ARDOP or ARDOP 2 Teensy program. To do this, change line 79
in “TeensyProjects/libraries/TeensyConfig/TeensyConfigARDOP.h”
from this:
#define MONPORT Serial
to:
//#define MONPORT Serial
in other words, comment out line 79.
—————————————————————
As an example, [tnc] #2 in the sample ‘arim.ini’ file supplied
with the ARIM distribution is configured as a TNC-Pi9K6 port.
——————————————————————
NOTE: In testing, I’ve noticed a problem with FEC data transfers
in the ARDOP and ARDOP 2 software for the TNC-Pi9K6. The symptom
is intermittent failure of FEC transmissions such as messages or
beacons, with a re-start of the TNC required to recover. Perhaps
this is a peculiarity of my RPi-3/TNC-Pi9K6 system, so I’m very
interested in hearing reports from others. If you experience the
same problem, there’s an effective work-around. It consists of
making a simple source code change in the ARDOP_Teensy or
ARDOP2_Teensy project and re-compiling. For example, if using
ARDOP 2, change line 53 in file “TeensyProjects/ARDOP2/FEC.c”
from:
FECRepeats = intRepeats;
to:
FECRepeats = intRepeats = 0;
The process is the same for the ARDOP_Teensy project. This,
unfortunately, prevents the use of FECREPEATS > 0 in ARIM. Be
sure to use the latest TeensyProjects source code available here:
<http://www.cantab.net/users/john.wiseman/Downloads/Beta/>
Download the “TeensyProjects.zip” file.
——————————————————————
2. Add support for ARDOP version 1 as well as version 2. ARIM detects
the TNC version when attaching and adapts to the FECMODE and
ARQBANDWIDTH options available for that version.
3. Fix bug where upload progress meter not showing when sending the
response to an ARIM query in FEC mode.
4. Update arim(5) man page and Help document.

RMSGateway New version

There is a new version of RMSGateway. This is at the moment in Beta test. See the mail of Basil N7NIX.
If you like to test the new code. Just mail N7NIX. basil (@) pacabunga.com

 

The new code (version 2.5.0) has been running on a few machines for the
last couple of days. I would like to get a few more sites to try out the
new code before it is released.

If you would like to help please contact me directly & I will give you
instructions on how to install the new code. Only the python scripts &
xml files changed to support the latest Winlink Web Services.

Thanks,
/Basil n7nix

RmsGateway Install and Update script

C. Schuman wrote a script to install and update RMS Gateway. It`s very handy now the are very busy with updating the code of RMS Gateway to handle the new demands of Winlink.

You just have to pay attention to these lines of code that you have the right version.

cd /usr/local/src/ax25
#wget -qt 3 http://k4gbb.us/docs/scripts/rmsgw-2.4.0-181.tgz || /
wget -qt 3 http://k4gbb.no-ip.info/docs/scripts/rmsgw-2.4.0-181.1.tar.bz2
#wget -qt 3 http://www.w3sg.org/RMSGW/download/rmsgw-2.4.0-181.tgz
tar xf rmsgw-2.4.0-181.1.tar.bz2

The version rmsgw-2.4.0-181.1.tar.bz2 is of 14-Sep-2018 16:41

#!/bin/bash
# Installs/Updates the Linux RMS Gateway
# Provided by C Schuman, K4GBB k4gbb1gmail.com
#	Updated 30 Oct 2014

# Color Codes
Reset='\e[0m'
Red='\e[31m'
Green='\e[32m'
Yellow='\e[33m'
Blue='\e[34m'
White='\e[37m'
BluW='\e[37;44m'

UDATE="NO"
GWOWNER="rmsgw"

# Check  User ID

    if [ $UID != 0 ]; then
	echo "You must be root User to perform installation!"
	exit 1
    fi

echo -e "${BluW}\n \t  Install/Update Linux RMS Gate \n${Yellow}\t     version 2.4.0-181  \t \n \t \n${White}  Script provided by Charles S. Schuman ( K4GBB )  \n${Red}               k4gbb1@gmail.com \n${Reset}"

echo -e "${BluW}\t Installing Support libraries \t${Reset}"
apt-get install xutils-dev libxml2 libxml2-dev python-requests -y -q
apt-get install build-essential libax25-dev libx11-dev zlib1g-dev libncurses5-dev -y -q

#  create the group for the gateway if it doesn't exist
    grep "rmsgw:" /etc/group >/dev/null 2>&1
    if [ $? -ne 0 ]; then
	echo "Creating group rmsgw..."
	groupadd rmsgw
    fi

#  create the gateway user if it doesn't exist and lock the account

    grep "rmsgw:" /etc/passwd >/dev/null 2>&1
    if [ $? -ne 0 ]; then
	#
	# create the account
	#
 	echo "Creating user rmsgw..."
 	useradd -s /bin/false -g rmsgw rmsgw
    fi

  # lock the account to prevent a potential hole, unless the
  # owner is root
    if [ "$GWOWNER" != root ]; then
	echo "Locking user account $GWOWNER..."
	passwd -l $GWOWNER >/dev/null
	# while the account is locked, make the password to
	# never expire so that cron will be happy
	chage -E-1 $GWOWNER >/dev/null
    fi

echo -e "${BluW}\t Downloading RMS Source file \t${Reset}"

cd /usr/local/src/ax25
#wget -qt 3 http://k4gbb.us/docs/scripts/rmsgw-2.4.0-181.tgz || /
wget -qt 3 http://k4gbb.no-ip.info/docs/scripts/rmsgw-2.4.0-181.1.tar.bz2
#wget -qt 3 http://www.w3sg.org/RMSGW/download/rmsgw-2.4.0-181.tgz
tar xf rmsgw-2.4.0-181.1.tar.bz2
if [ $? -ne 0 ]
   then
 echo -e "${BluW}${Red}\t RMS File not available \t${Reset}"
 exit 1
fi

echo -e "${BluW}\t Compiling RMS Source file \t${Reset}"
cd rmsgw-2.4.0-181.1
make > RMS.txt

if [ $? -ne 0 ]
   then
 echo -e "${BluW}$Red} \tCompile error${White} - check RMS.txt File \t${Reset}"
 exit 1
   else 
 rm RMS.txt
fi
make install
echo -e "${BluW}RMS Gate Installed \t${Reset}"

# Add RMS_ACI to Crontab
cat /etc/crontab|grep rmsgw || echo "#6,36 *  * * *   rmsgw    /usr/local/bin/rmsgw_aci > /dev/null 2>&1
# (End) " >> /etc/crontab

# Install Logging
if [ ! -f "/etc/rsyslog.d/60-rmsgw.conf" ]; then
echo "# RMS Gate" > /etc/rsyslog.d/60-rms.conf 
echo "        local0.info                     /var/log/rms" >> /etc/rsyslog.d/60-rms.conf 
echo "        local0.debug                    /var/log/rms.debug" >> /etc/rsyslog.d/60-rms.conf
echo "        #local0.debug                   /dev/null" >> /etc/rsyslog.d/60-rms.conf 
echo "
# (End)" >> /etc/rsyslog.d/60-rms.conf 

service restart rsyslog
fi

# Use old rmschanstat file.
if [ -f /usr/local/bin/rmschanstat.~1~ ] ; then
    cp /usr/local/bin/rmschanstat.~1~ /usr/local/bin/rmschanstat
fi

date >> /root/Changes
echo "        RMS Gate Installed - rmsgw-2.4.0-181" >> /root/Changes
echo -e "${BluW} Be Sure to Update/Edit the channels.xml and gateway.config file${Reset}"
exit 0
# (End of Script)