Difference between revisions of "Beginners Guide"

From "PTTLink Wiki"
Jump to navigation Jump to search
m (Added category)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category: How To]]
+
[[Category: How to]]
 
PTTLink for beginners.
 
PTTLink for beginners.
  
Line 344: Line 344:
 
[[File:108_diag_menu_g.png|none|thumb|640x640px]]
 
[[File:108_diag_menu_g.png|none|thumb|640x640px]]
  
 +
== Ensure the nodelist is downloading ==
 +
Before your node will connect it needs to have the nodelist available.  This file will automatically be downloaded by systems support scripts and placed into /var/lib/asterisk/rpt_nodes.
 +
 +
If for some reason your node never downloads the nodelist, it may mean you are missing the required support scripts and configuration.
 +
 +
=== Add missing NodeUpdate.sh and NodeNameUpdate.sh scripts ===
 +
Copy the following if you are missing the scripts below in /usr/local/bin and do not have contab entries that call them
 +
 +
* Copy the following to /usr/local/bin/NodeUpdate.sh
 +
<syntaxhighlight lang="sh">
 +
#!/bin/bash
 +
#
 +
# A cron job script for downloading the extnodes file with error reporting
 +
#
 +
#
 +
# This is intended to be run from cron every 5 min
 +
#  Copyright 2018 Bryan Fields
 +
#  Licensed under the GNU GPLv2
 +
 +
URL="http://register.pttlink.org/cgi-bin/gennodes.php"
 +
FILEPATH=/var/lib/asterisk
 +
 +
#sleep for a random time of 0-300 seconds
 +
#sleep $[( $RANDOM % 299 )  + 1 ]s
 +
 +
 +
# use curl in silent and compressed mode, connect timeout of 5 and
 +
# -f for fail with an error code of 22 on server errors
 +
#-m 20 is a max time for the whole process of 20 seconds
 +
curl -s --compressed --connect-timeout 5 -f -m 20 -o /tmp/rpt_extnodes-temp $URL
 +
#curl --connect-timeout 5 -f -m 20 -o /tmp/rpt_extnodes-temp $URL
 +
exitcode=$?
 +
if [ "$exitcode" = "0" ]; then
 +
    grep -q extnodes /tmp/rpt_extnodes-temp
 +
        if [ $? -eq "0" ] ;then
 +
            chmod 700 /tmp/rpt_extnodes-temp
 +
            cp /tmp/rpt_extnodes-temp $FILEPATH/rpt_extnodes-temp
 +
            mv -f $FILEPATH/rpt_extnodes-temp $FILEPATH/rpt_extnodes
 +
            whenandwhere=`grep "Generated at" /tmp/rpt_extnodes-temp |cut -c2-100`
 +
            #don't print out on good run
 +
    #echo "NodeUpdate installed a new nodes list $whenandwhere"
 +
    logger -i "NodeUpdate installed a new nodes list $whenandwhere"
 +
        else
 +
            #echo "NodeUpdate failed to parse node list; node list not updated"
 +
    logger -i "NodeUpdate failed to parse node list; node list not updated"
 +
            exit 1
 +
        fi
 +
 +
else
 +
    #echo "NodeUpdate could not get nodes list from server"
 +
    logger -i "NodeUpdate could not get nodes list from server"
 +
    exit 1
 +
fi
 +
exit 0
 +
</syntaxhighlight>
 +
* Copy the following to /usr/local/bin/NodeNameUpdate.sh
 +
<syntaxhighlight lang="sh">
 +
#!/bin/bash
 +
#
 +
# A cron job script for downloading custom node announcements with error reporting
 +
#
 +
# This is intended to be run from cron every 8 hours and will randomly insert a delay from 0-8 hours
 +
#
 +
#  Copyright 2018 Bryan Fields
 +
#  Licensed under the GNU GPLv2
 +
 +
URL="rsync://rsync.pttlink.org/connect-messages"
 +
FILEPATH="/var/lib/asterisk/sounds/rpt/nodenames"
 +
 +
#sleep for a random time of 0-28800 seconds (8 hours)
 +
sleep $[ ( $RANDOM % 28799 )  + 1 ]s
 +
 +
#assign the filesUpdated var with the number of files changed by rsync.  This is nasty, but it works.
 +
 +
filesUpdated=`rsync -a --stats $URL $FILEPATH |grep "Number of regular files transferred" | cut -c 38-50`
 +
exitcode=$?
 +
if [ "$exitcode" = "0" ]; then
 +
    if [ "$filesUpdated" = "0" ]; then
 +
echo "NodeNameUpdate run with no updates"
 +
logger -i "NodeNameUpdate run with no updates"
 +
    elif [ "$filesUpdated" > "0" ]; then
 +
echo "NodeNameUpdate updated $filesUpdated nodenames"
 +
        logger -i "NodeNameUpdate updated $filesUpdated nodenames"
 +
    fi
 +
else
 +
    echo "NodeNameUpdate failed"
 +
    logger -i "NodeUpdate failed"
 +
    exit 1
 +
fi
 +
exit 0
 +
</syntaxhighlight>
 +
* Add entries to crontab
 +
<syntaxhighlight lang="text">
 +
0 0,8,16 * * * root /usr/local/bin/NodeNameUpdate.sh > /dev/null 2>&1
 +
*/5 * * * * root /usr/local/bin/NodeUpdate.sh > /dev/null 2>&1
 +
01 03 * * * cd /var/www/html/allmon2; ./astdb.php
 +
</syntaxhighlight>
 +
 +
== PTTLink Configuration Updates ==
 
Run the following commands to add PTTLink server address.
 
Run the following commands to add PTTLink server address.
  
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/rc.updatenodelist
+
<pre>
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeNameUpdate.sh
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/rc.updatenodelist
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeUpdate.sh
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeNameUpdate.sh
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/rpt.conf
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeUpdate.sh
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/iax.conf
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/rpt.conf
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/extensions.conf
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/iax.conf
sudo service asterisk restart
+
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/extensions.conf
 +
 
 +
sudo sed -i 's/allstarlink.org/pttlink.org/g' /var/www/html/allmon2/astdb.php
 +
sudo sed -i 's/Allstar /PTTLink / g' /var/www/html/allmon2/header.inc
 +
sudo sed -i 's/allstarlink.org/pttlink.org/g' /var/www/html/allmon2/link.php
 +
 
 +
sudo service asterisk restart
 +
</pre>
 +
 
 +
Edit the following file with:
 +
 
 +
<pre>
 +
sudo nano /usr/local/sbin/astdb.php
 +
</pre>
 +
 
 +
Replace line:
 +
 
 +
<pre>
 +
$url = "https://allstarlink.org/cgi-bin/allmondb.pl";
 +
</pre>
 +
 
 +
with:
 +
 
 +
<pre>
 +
$url = "http://allmondb.pttlink.org";
 +
</pre>
  
 
Restart your system.
 
Restart your system.

Latest revision as of 17:52, 18 April 2022

PTTLink for beginners.

The first step is to create an account.

Go to https://pttlink.org/ and click on the <Login/Sign Up> link.

Ptt site menu login.png

Next click the <Sign Up> link.

Ptt site sign up.png

Download PTTLink image file

While you are awaiting the verification of your account (usually within 24 hours) you may download one of the image files for you computer system you will use to run your PTTLink node.

Go to wiki.pttlink.org scroll down to the Downloads section and select the appropriate image for the type of system you will use.

ASL download.png

Write the image file to media. Either a USB memory stick, CD or DVD, or a microSD card (Raspberry Pi).

Login to your account

You will need to login to your account at https://PTTLink.org/

Ptt site menu login.png

Click on <Login/Sign Up> as shown in the image above.

Ptt site login.png

Create a Server

You will need to create a "server" : Click on <Portal> then <Server Settings>.

Ptt site server settings.png

Click on <Add a new server>.

Please take the time to read the instructions on each page.

Then click <Proceed with Server Setup> if needed.

Fill in all of the information and click <Submit> at the bottom of the page.

Ptt site server settings form.png

Request a Node number

At the top of the page, click <Portal> and then on <Node Settings>.

Ptt site node settings.png

Then click <Continue...>.

Ptt site request node number 1.png

Then click <Request>.

Ptt site request node number 2.png

Select which server you would wish to have a node number assigned to.

A comment of 'additional node on same server' would be appropriate if you are requesting a second node number.

Ptt site request node number 3.png

Once your node number request(s) are processed you will receive an email.

Edit Node settings

Log into your account on https://pttlink.org/

Click <Portal> then <Node settings>.

The PTTLink node numbers that have been assigned to you are displayed here.

Select which node you wish to view/edit.

Fill in the information for you node and click <Submit>.

Ptt site node settings form.png

Write down your node number, password and the call sign you assigned for the node as you will use them to configure your PTTLink system.


Install and configure PttLink to your computer

Consult your owners manual or your favorite internet search engine for how to install an image for your computer system.

Install the PTTLink disk image to your computer. Insert the appropriate media for your system and boot the computer.

When the login prompt appears enter the user ID of

repeater 

and press <Enter>.

Enter the default password of

allstarlink

Follow the on screen instructions for the initial password change.

For users familiar with the linux operation system you may proceed to edit the system manually.

For users not familiar with linux and PttLink, at the Linux CLI (command line interface)

Type sudo asl-menu as the example below shows.

repeater@repeater:~$ sudo asl-menu

This will load the PTTLink configuration menu.

Asl menu main screen.png

PTTLink software setup

Choose option <1>.

002 first time.png

Since it is your first time setup, answer <Yes> so you can setup a "root" password. Don't forget to write down your user an password.

003 password.png

Setup now will ask if you want to change "repeater" account password with you should already changed at first time login so answer <No>, unless you want to change it again. Do not forget to write it down.

004 repeater password.png

Now lets set time zone <Ok>.

005 timezone.png

Choose the node's continent.

006 continent.png

Choose the node's city.

007 city.png

Next you can change the name of you host name, the default is repeater.

008 message.png

Answer <Yes> to be able to make changes.

009 edit hostname.png

Type the new host name and hit <Enter>.

010 hostname.png

If you want to set up a domain, type it and hit <Enter>.

011 domain name.png

Say <Ok> to this message.

012 message.png

Now you can make your network settings <Ok>.

013 dhcp.png

Just say <Ok> to this message.

014 network.png

To choose between DHCP or Static IP say <Yes>.

015 dhcp static.png

Use <D> for DHCP or <S>. for Static, if you choose Static, you will be asked to enter it next, for this example DHCP is in use.

016 dhcp static.png

Just say <Ok> to this message.

017 message.png

Just say <Ok> to this message.

018 message.png

Just say <Ok> to this message.

019 message.png

Choose option <A1>.

020 a menu a1.png

Choose option <N1>.

021 n menu n1.png

Type the node number for your node. Yes the one you previously wrote down from PTTLink site.

022 node number.png

Choose option <N2>.

023 n menu n2.png

Type the node password for your node. Yes the one you previously wrote down from PTTLink site.

024 node password.png

Choose option <N3>.

025 n menu n3.png

Type the call sign for your node. Yes the one you previously wrote down from PTTLink site.

026 callsign.png

Choose option <N4>.

027 n menu n4.png

Choose option <I1>.

028 i menu i1.png

Just say <Ok> to this message.

029 message.png

Choose option <N5>.

030 n menu n5.png

If your node will be a simplex node type <1>. If your node is a repeater controller type <2>.

031 rptr mode.png

Choose option <N6>.

032 n menu n6.png

Type a new password, this will be used to have access from the nodes web site Allmon2, the default password is 'llcgi'.

033 password.png

Just say <Ok> to this message.

034 message.png

Just say <Ok> to this message.

036 message.png

Choose option <N9>.

037 n menu n9.png

Just say <Ok> to this message.

038 message.png

Just say <Ok> to this message.

039 message.png

Just say <Ok> to this message.

040 message.png

Just say <Ok> to this message.

041 message.png

Just say <Ok> to this message.

042 message.png

Just say <Ok> to this message.

043 message.png

Just say <Ok> to this message.

044 message.png

Choose option <Back>.

045 n menu back.png

Choose option <AZ>.

046 a menu az.png

Review what you wrote down with what you have configured on your systemand press <Enter>.

047 review.png

Choose <Yes> to backup your configuration.

048 backup.png

Just say <Ok> to this message.

049 message.png

Just say <Ok> to this message.

050 message.png

Just say <Ok> to this message.

051 message.png

Choose option <Exit>.

052 a-menu exit.png

Answer <Yes>, because we already saved our configuration.

053 exit.png

If you want to automatically start your system with this menu answer <Yes>, if not then <No>.

054 select menu sartup.png

If you answer was <No>, remember you can come back to this menu typing sudo asl-menu as the following example:

repeater@repeater:~$ sudo asl-menu

055 message.png

Now your node will reboot to apply all the changes we have done, so say <Ok>.

056 reboot.png

PTTLink Audio settings with SimpleUSB

Once you've hooked up a radio with your desired interface, it's time to test and tune the audio from the radio.

type sudo asl-menu like the example below:

repeater@repeater:~$ sudo asl-menu

Choose option <4>.

101 asl menu 4.png

With option <F>, will trigger PTT few times on your radio for testing, you should also listen a test tone.

Next, with option <2>, you can adjust the audio levels from your radio to your node node with the aim of an on-screen level meter.

With another radio transmit a test tone or voice and type values between 0 and 999 followed by <Enter> to apply them, if you do not set any value and hit <Enter>, you will exit this function keeping the last typed value on RAM.

Next, type option <T>, you can toggle a tone generator to adjust your node to radio audio levels, so type it once to turn it on.

Now typing option <3>, will allow you to adjust the audio from your node to your Tx radio.

To achieve that, you can type values between 0 and 999 and press <Enter> to apply the new value. The system will Tx a test tone for 5 seconds. If you do not set any value and hit <Enter>, you will exit this function keeping the last typed value on RAM.

Do not forget to turn of the tone generator by pressing once again <T>.

Once you are happy with your settings, type <W> and <Enter>.

To exit from this menu type <0> (zero) and hit <Enter>.

PTT and COS polarity settings

Your radio may require PTT and/or COS/CTCSS polarity to be inverted to work properly. To do this, go to the main ASL menu and choose option <6>.

103 asl menu 6.png

Choose option <I>.

104 config menu i.png

You will be taken to a text file where you will need to find and edit some values:

PTT invert:

Search for the line begining with invertptt = and change its value as follows:

0 = Ground to Transmit (most common).

1 = Open to Transmit.

Ptt invertptt.png

COS/CTCSS invert:

Search for the line beginning with carrierfrom = and change its value as follows.

Search for the line beginning with ctcssfrom = and change its value as follows.

no = No carrier detection at all.

usb = COR (COS) line active Hi.

usbinvert = COR (COS) line active Low.

Ptt invertcarrier.png

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Choose Option <9>.

107 asl menu 9.png

Choose option <G> to restart PTTLink software and apply changes. Choose <Back>, repeat your audio test if needed.

108 diag menu g.png

Ensure the nodelist is downloading

Before your node will connect it needs to have the nodelist available. This file will automatically be downloaded by systems support scripts and placed into /var/lib/asterisk/rpt_nodes.

If for some reason your node never downloads the nodelist, it may mean you are missing the required support scripts and configuration.

Add missing NodeUpdate.sh and NodeNameUpdate.sh scripts

Copy the following if you are missing the scripts below in /usr/local/bin and do not have contab entries that call them

  • Copy the following to /usr/local/bin/NodeUpdate.sh
#!/bin/bash
#
# A cron job script for downloading the extnodes file with error reporting
# 
#
# This is intended to be run from cron every 5 min
#  Copyright 2018 Bryan Fields
#  Licensed under the GNU GPLv2

URL="http://register.pttlink.org/cgi-bin/gennodes.php"
FILEPATH=/var/lib/asterisk

#sleep for a random time of 0-300 seconds
#sleep $[( $RANDOM % 299 )  + 1 ]s


# use curl in silent and compressed mode, connect timeout of 5 and
# -f for fail with an error code of 22 on server errors
#-m 20 is a max time for the whole process of 20 seconds
curl -s --compressed --connect-timeout 5 -f -m 20 -o /tmp/rpt_extnodes-temp $URL
#curl --connect-timeout 5 -f -m 20 -o /tmp/rpt_extnodes-temp $URL
exitcode=$?
if [ "$exitcode" = "0" ]; then
    grep -q extnodes /tmp/rpt_extnodes-temp
        if [ $? -eq "0" ] ;then
            chmod 700 /tmp/rpt_extnodes-temp
            cp /tmp/rpt_extnodes-temp $FILEPATH/rpt_extnodes-temp
            mv -f $FILEPATH/rpt_extnodes-temp $FILEPATH/rpt_extnodes
            whenandwhere=`grep "Generated at" /tmp/rpt_extnodes-temp |cut -c2-100`
            #don't print out on good run
	    #echo "NodeUpdate installed a new nodes list $whenandwhere"
	    logger -i "NodeUpdate installed a new nodes list $whenandwhere"
        else
            #echo "NodeUpdate failed to parse node list; node list not updated"
	    logger -i "NodeUpdate failed to parse node list; node list not updated"
            exit 1
        fi

else
    #echo "NodeUpdate could not get nodes list from server"
    logger -i "NodeUpdate could not get nodes list from server"
    exit 1
fi
exit 0
  • Copy the following to /usr/local/bin/NodeNameUpdate.sh
#!/bin/bash
#
# A cron job script for downloading custom node announcements with error reporting 
#
# This is intended to be run from cron every 8 hours and will randomly insert a delay from 0-8 hours
#
#  Copyright 2018 Bryan Fields
#  Licensed under the GNU GPLv2

URL="rsync://rsync.pttlink.org/connect-messages"
FILEPATH="/var/lib/asterisk/sounds/rpt/nodenames"

#sleep for a random time of 0-28800 seconds (8 hours)
sleep $[ ( $RANDOM % 28799 )  + 1 ]s

#assign the filesUpdated var with the number of files changed by rsync.  This is nasty, but it works.

filesUpdated=`rsync -a --stats $URL $FILEPATH |grep "Number of regular files transferred" | cut -c 38-50`
exitcode=$?
if [ "$exitcode" = "0" ]; then
    if [ "$filesUpdated" = "0" ]; then
	echo "NodeNameUpdate run with no updates"
	logger -i "NodeNameUpdate run with no updates"
    elif [ "$filesUpdated" > "0" ]; then
	echo "NodeNameUpdate updated $filesUpdated nodenames"
        logger -i "NodeNameUpdate updated $filesUpdated nodenames" 
    fi
else
    echo "NodeNameUpdate failed"
    logger -i "NodeUpdate failed"
    exit 1
fi
exit 0
  • Add entries to crontab
0 0,8,16 * * * 	root /usr/local/bin/NodeNameUpdate.sh > /dev/null 2>&1
*/5 * * * * 	root /usr/local/bin/NodeUpdate.sh > /dev/null 2>&1
01 03 * * * cd /var/www/html/allmon2; ./astdb.php

PTTLink Configuration Updates

Run the following commands to add PTTLink server address.

sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/rc.updatenodelist
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeNameUpdate.sh
sudo sed -i 's/allstarlink.org/pttlink.org/g' /usr/local/bin/NodeUpdate.sh
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/rpt.conf
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/iax.conf
sudo sed -i 's/allstarlink.org/pttlink.org/g' /etc/asterisk/extensions.conf

sudo sed -i 's/allstarlink.org/pttlink.org/g' /var/www/html/allmon2/astdb.php
sudo sed -i 's/Allstar /PTTLink / g' /var/www/html/allmon2/header.inc
sudo sed -i 's/allstarlink.org/pttlink.org/g' /var/www/html/allmon2/link.php

sudo service asterisk restart

Edit the following file with:

sudo nano /usr/local/sbin/astdb.php

Replace line:

$url = "https://allstarlink.org/cgi-bin/allmondb.pl";

with:

$url = "http://allmondb.pttlink.org";

Restart your system.

sudo reboot 

At this point your node should be up and running.

Allmon2 Setup.