Trouble Shooting Script

This document is to be used in conjunction with the troubleshoot-irlp script only.
 

IRLP - Keeping the Radio in Amateur Radio


Updates and additions
last updated March 31, 2020

July 27, 2004

  • added PGP passphrase test

  • /tmp writeable test

  • custom_decode corruption test

October 29, 2013

  • added PGP key HASH test No. 8

Log in and switch to user repeater  
   su - repeater

Now make sure you have the latest files on your system by running
   ./scripts/update files

Now run the troubleshooting script
   ./scripts/troubleshoot-irlp

Test No. 1 - DNS Test

This test attempts to ping two common host names, and determines from the return of the ping program whether the system could resolve the hostnames. The configured nameservers are configured in the /etc/resolv.conf file. Failure of the resolution can be caused by the following things:

1) No DNS servers defined in the /etc/resolv.conf file.

RESOLUTION : Edit the /etc/resolv.conf file as the root user, and make sure that at least two valid nameservers are listed. 

COMMAND : pico /etc/resolv.conf

NOTE : The file should at LEAST contain two nameservers (listed ones are from Cloudflare and are good around the world)

nameserver 1.1.1.1
nameserver 1.0.0.1

2) Your node is not connected to the internet at the time of the test.

RESOLUTION : Verify and correct any internet connection problems and run the test again.

3) Your configured nameservers are not valid.

RESOLUTION : Edit the /etc/resolv.conf file as the root user, and make sure that at least two valid nameservers are listed. 

COMMAND : pico /etc/resolv.conf

NOTE : The file should at LEAST contain two nameservers (listed ones are from Cloudflare and are good around the world)

nameserver 1.1.1.1
nameserver 1.0.0.1

Test No. 2 Port Forwarding Test

This test starts a series of "listeners" on the ports that IRLP uses for communications, and then uses a remote machine to attempt to contact the IRLP node on all of the ports. This test identifies when the correct ports are not forwarded through a router, or if the ISP is blocking some of your incoming ports.

This test has three parts:

  • 2a) IRLP TCP port test
  • 2b) IRLP UDP port test
  • 2c) EchoLink UDP port test
    If you are NOT running EchoIRLP on your IRLP node, you can ignore the results of test 2c.

    WARNING - This test requires a solid connection with the internet, or it may return false errors. If you get strange or inconsistent reports, please try the test again. Consistent false reports are rare, and you most likely do not have a problem if the same port is not reported consistently.

    Failure of the port forwarding test can be caused by the following things:

    1) Your node is behind a router and the ports are not correctly forwarded.

    RESOLUTION : Refer to your router's documentation and ensure that TCP ports 15425, 15426, and 15427, as well as UDP ports 2074 through 2093 (inclusive) are forwarded to your IRLP computer's local network IP address.

    To obtain the local network IP address:

    COMMAND : ifconfig eth0

    The local network IP is listed under the "inet" field.

    2) Your node is behind a router and the local network IP address of your node does not correspond with the ports that are forwarded. This is often caused when the node uses DHCP to obtain its IP address from the router, and there has been a power failure or the node has been offline for a period of time.

    RESOLUTION : Obtain the local network IP Refer to your router's documentation bout how to forward port ranges

    To obtain the local network IP address:

    COMMAND : ifconfig eth0

    The local network IP is listed under the "inet" field.

    3) Your ISP is blocking access to particular incoming ports on your node.

    RESOLUTION : Contact your ISP and request information about opening those ports which are reported closed.

    Test No. 3 Outgoing Port Test

    This test queries a series of "listeners" on the ports that IRLP uses for communications on a central server and determines which ports are able to communicate outbound. This test identifies when the correct ports are not able to traverse a firewall or router, or if the ISP is blocking some of your outgoing ports.

    Failure of the OUTBOUND port test can be caused by the following things:

    1) Your ISP has blocked access to particular outgoing ports.

    RESOLUTION : Contact your ISP and request information about opening those ports which are reported closed.

    2) You are running a firewall between your node and the internet.

    RESOLUTION : Refer to your firewall's documentation and ensure that the reported ports are opened.

    NOTE : If you receive a warning about port 873 being closed, but port 8873 being open, you can get around this error by adding the following to your /home/irlp/custom/environment file:

    COMMAND : pico -w /home/irlp/custom/environment

    export RSYNC8873=YES

    Test No. 4 Hostname Resolution Test

    This test checks to make sure that your node has a hostname, and that hostname is pingable and resolves to an IP address. This test is performed by trying to ping your nodes hostname, and returning results based on if the IP resolves and is pingable. Failure of the hostname is a severe fatal error for any Internet based software, including IRLP. Failure of the hostname resolution can be fixed by performing the following steps:

    1) Determine the hostname (for sample below, out hostname is IRLPnode).

    COMMAND : /bin/hostname

    2) Add the hostname to the localhost designation in the /etc/hosts file (see sample below).

    COMMAND : pico /etc/hosts

    SAMPLE - /etc/hosts file BEFORE addition: (do not include START and STOP lines)
    -----START-----
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 localhost.localdomain localhost
    -----END-----

    SAMPLE - /etc/hosts file AFTER addition: (ADDITION IS BOLDED FOR EMPHASIS)
    -----START-----
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 IRLPnode localhost.localdomain localhost
    -----END-----

    Once added, run the troubleshooting script again to ensure hostname is now resolving.

    Test No. 5 PGP Public Keyring Test

    This test tests to make sure the public keyring for your IRLP node exists in the global PGP keyring for IRLP. Your node can fail this test if your install is not yet completed. PGP key authentication is the key to the security of IRLP, and confirmation of each key must be done. If your key has not been added within 48 hours, please contact the IRLP Installs team at installs@irlp.net.

    Test No. 6 PGP Secret Keyring Exist Test

    This test ensures that a secret key exists for your node. Your node fails this test if:

    1) The install script has not yet been run.

    2) You have MORE than one secret PGP key. If this error appears, contact the IRLP installs at installs@irlp.net to help remove the offending key.

    Test No. 7 PGP Secret Keyring Match Test

    This test makes sure that the ID of your secret key matches the stationid of your IRLP node. You node fails this test if the STATIONID exported in the /home/irlp/custom/environment file does not match the ID of your secret key(s) in the secret keyring.

    RESOLUTION : Determine the correct key ID, and change the environment file to reflect the change.

    COMMAND : (as repeater) pgp -kv /home/irlp/.pgp/secring.pgp
    COMMAND : pico -w /home/irlp/custom/environment

    Change the STATIONID entry to match the key ID.

    SAMPLE - (important matching words bolded)
    -----START PGP output-----
    bash-2.05a$ pgp -kv /home/irlp/.pgp/secring.pgp
    Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
    (c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
    International version - not for use in the USA. Does not use RSAREF.
    Current time: 2004/01/12 21:35 GMT

    Key ring: '/home/irlp/.pgp/secring.pgp'
    Type Bits/KeyID Date User ID
    sec 512/2C48E959 2000/04/12 stn2345
    1 matching key found.
    -----END PGP output-----

    -----START ENVIRONMENT FILE SNIPET-----
    # Put the IRLP station ID of your node below. NOTE you must enter the correct stationid
    # which is assigned to you. Any other ID will cause your node not to operate properly.
    # USE ONLY LOWERCASE LETTERS
    export STATIONID=stn2345
    -----END ENVIRONMENT FILE SNIPET-----

    NOTE
    : If you have made changes to your environment file, you must restart IRLP by issuing the rc.irlp command as user root:
    COMMAND : /home/irlp/custom/rc.irlp

    Test No. 8 PGP Secret Key HASH Test

    This test ensures that the secret key for your node contains the same HASH as the public key in the network. This can happen if you perform a new install after the old key has been added to the network.

    If this error appears, contact the IRLP installs at installs@irlp.net to help regenerate the offending key.

    Test No. 9 Date Correctness Test

    This test checks the current date set in the machine. The date does not have to be correct, nor does it have to be accurate.  What this test is checking for is if the date of your PGP key and the current date vary widely from each other. Your PGP key  date can NOT be later than your current system date. Often Y2K incompatibilites of motherboards cause the date to show in 1990  or 1970. If this is the case, you must set the date correct before our node will work correctly. 

    To set the date on the computer, run the following commands as user root:

    COMMAND : rdate -s server1.irlp.net
    COMMAND : /sbin/hwclock --systohc


    This will set the time from one of the IRLP servers, and then set that time to the BIOS clock. If your clock continues to be a problem, you can add these two commands to the startup scripts for IRLP. To do that, add the two lines above to the bottom of the /home/irlp/custom/rc.irlp script.

    COMMAND : pico /home/irlp/custom/rc.irlp

    Test No. 10 Environment File Corruption Test

    This test checks the environment file for strange entries that may cause the IRLP software not to operate. The environment file is very delicate, and can break by accidentally adding a space to a line. The test looks for lines that do not start with the word "export" or contain a "#" (comment character). The script also returns the words which are causing the system to not be able to read the environment file. When the script returns a problem, edit the /home/irlp/custom/environment file to repair the problem.

    NOTE : This test will show that there is an issue when EchoIRLP is installed on the node. This will occur on PiRLP and Embedded nodes purchased preconfigured from IRLP.

    RESOLUTION : Edit the environment file, and search for the offending lines, and comment them out.

    COMMAND : pico -w /home/irlp/custom/environment  (uses -w to keep lines from wrapping)

    HINT : You can search for words in pico by pressing CTRL-W

    SAMPLE
    - The following entry in the environment file returns the following error from the troubleshooting script

    -----START-----
    # Put the IRLP station ID of your node below. NOTE you must enter the correct stationid
    # which is assigned to you. Any other ID will cause your node not to operate properly.
    # USE ONLY LOWERCASE LETTERS
    expoort STATIONID=stn100
    -----END-----
    PROBLEM - export spelled wrong

    -----START-----
    # This file is the IRLP ENVIRONMENT file. It is designed to set a list of global
    variables
    # which are used by the software. Be careful when editing this file as a small
    # error can make you node totally unusable.
    -----END-----
    PROBLEM - The word "variables" spilled over from a commented line to a non-commented line.

    Test No. 11 /tmp Directory Writable Test

    This test checks that the /tmp directory is writable to the repeater user. The IRLP software has to be able to write temporary lock files there. Other programs will also require that the directory is usable to write temporary files.

    RESOLUTION : Log in as root, and edit the permissions of the directory.

    COMMAND 1 : chown root.root /tmp
    COMMAND 2 : chmod 777 /tmp
    COMMAND 3 : chmod +t /tmp

    Once you have completed these three commands, re-run the troubleshoot-irlp script to confirm that the settings have been entered correctly, and that the test passes.

    Test No. 12 custom_decode File Corruption Test

    This test checks that there are no obvious syntax errors in the custom_decode file, which may cause your node not to respond to DTMF digits. This test can only determine if there is a problem, but can not identify or solve the problem for you. If this test returns an error, carefully look through each if/then/fi loop to make sure that all of the proper components of the loop are there.

    Each loop starts with an "if" command, contains a "then" statement, and ends with an "fi".

    if [ "$1" = "123" ] ; then "$SCRIPT"/disable ; exit 1 ; fi

    Also verify that there are no open quotes without close quotes. Also note where semi-colons are, as they refer to the end of one command and the start of another.

     

    Enjoy IRLP and please "Pass the Word"
    If left menu bar is not visible, click here

    last updated July 27, 2004
    ? 2004 IRLP.NET    
    Privacy Policy

              
    Print this Page