Install DxSpider on Raspberry Pi

Revision: 1.01 – 12/11/2018

Here you find my installations guide how to install dxspider on raspberry Pi. Also you can find more information here wiki.dxcluster.org. If you need help please contact with me.

Furthermore if you don’t want make manual installation you can used my script for the installation and configuration Dxspider.

1. Fisrt change user from pi to root

$ sudo su -l

2. Create user sysop and setup password

# adduser -m sysop 

# passwd sysop

3. Install perl libraries

# apt-get update 

# apt-get install libtimedate-perl libnet-telnet-perl libcurses-perl libdigest-sha-perl libdata-dumper-simple-perl

4. Now download and  unpack the DX Spider distribution, set symbolic links and group permissions. Copy the tarball to /home/sysop and do the following.

# cd ~sysop 

# wget http://www.dxcluster.org/download/CVSlatest.tgz 

# tar xvfz CVSlatest.tgz 

# ln -s ~sysop/spider /spider 

# groupadd -g 251 spider

If you do not have the command ‘groupadd’ available to you, simply add a line in /etc/group by hand.

# vi /etc/group

You also need to add some others to the group, including your own callsign (this will be used as an alias) and root. The finished line in /etc/group should look something like this:

spider:x:251:sysop,sv5fri,root

5. The next step is to set the permissions on the Spider directory tree and files

# chown -R sysop.spider spider 

# find . -type d -exec chmod 2775 {} \; 

# find . -type f -exec chmod 775 {} \;

6. Now login to your machine as the user you created earlier. In my case that user is called ‘sysop’. Once logged in, issue the following commands

# su -l sysop 

$ cd /spider 

$ mkdir local 

$ mkdir local_cmd 

$ cp perl/DXVars.pm.issue local/DXVars.pm 

$ cd local 

$ vi DXVars.pm

Using the distributed DXVars.pm as a a template, set your cluster callsign, sysop callsign and other user info to suit your own environment.

$mycall = "SV5FRI-1"; 
$myalias = "SV5FRI"; 
$myemail = "myemail@gmail.com";

7. Edit Listeners.pm to remove “#” from the line for the port, and add additional ports as needed:

$ cp /spider/perl/Listeners.pm /spider/local/Listeners.pm 

$ cd /spider/local/ 

$ vi Listeners.pm

After edit Listeners.pm file like

@listen = 
 ( [“0.0.0.0”, 7300], 
);

8. Now type the following command which creates the basic user file with you as the sysop.

$ cd ../perl 

$ ./create_sysop.pl

9. Starting up for the first time cluster

$ cd ../perl 

$ ./cluster.pl

10. On a separate ssh or system console, log into the system as sysop

$ /spider/perl/console.pl

11. Creates the connect script file and enters the editor. Your connect script should look similar to this script.

Create connect script

$ touch /spider/connect/<adjacent_node_callsign> 

$ vi /spider/connect/<adjacent_node_callsign>

Connect script must like this

timeout 60 
abort (Busy|Sorry|Fail) 
# don't forget to chmod 4775 netrom_call! 
connect telnet cluster.xyz.com 7300 
# example 'login' 'sv5fri-1' 'login' '<your_node_callsign>' 
# example if you connect to k1ttt 
# client k1ttt 
telnet client <connect_node_callsign> telnet

After check permission file

chmod 775 /spider/connect/<adjacent_node_callsign>

12. To configure your node you must set the adjacent node by node type:

i. For connection to a DXSpider node use the set/spider command from the console

$ /spider/perl/console.pl 
–----- 
sv5fri de sv5fri-1 25-Nov-2015 0755Z dxspider > set/spider <adjacent_node_callsign>

Enter your link partner as after set/spider

ii. For a connection to an ARCluster node

$ /spider/perl/console.pl 
–----- 
sv5fri de sv5fri-1 25-NOV-2015 0757Z dxspider > set/arcluster <adjacent_node_callsign>

13. To initiate a connection to the your new adjacent node partner

$ /spider/perl/console.pl 

connect <adjacent_node_callsign>

14. At least you need a cron and a connect script to connect to the nodes automatically for examble – your node parter is: k1ttt

$ touch /spider/local_cmd/crontab 

$ vi /spider/local_cmd/crontab

the cron like this:

# Check every 10 minutes to see if xxxx is connected and if not 
# start a connect job 
#
0,10,20,30,40,50 * * * * start_connect('k1ttt') unless connected('k1ttt')

After check permission file

chmod 775 /spider/local_cmd/crontab>

Good luck with DxSpider installation 🙂

Share