dxlAPRS Installation


Table of contents


  • Preparing the SDR devices
  • Configuring the startup scripts
  • Automatically clearing log files

  • Configuring a second APRS server (optional)


  • Preparing the SDR devices

    Basic knowledge of Linux is recommended, as well as a Raspberry Pi with a working Raspberry Pi OS installation. Log in through the console. You should have administrator rights, and the sudo command must be available.

    Before starting the actual installation, update the Raspberry Pi to the latest package versions.

    sudo apt-get update
    sudo apt-get upgrade

    Next, the original drivers for the SDR devices must be disabled and prevented from loading again. To do this, create a blacklist file. This guide uses nano as the editor, but you can use any editor you prefer.

    sudo nano /etc/modprobe.d/sdr-blacklist.conf

    Add the following content to the file.

    blacklist dvb_usb_rtl28xxu
    blacklist rtl2832
    blacklist rtl2830
    blacklist dvb_usb_rtl2832u
    blacklist dvb_usb_v2
    blacklist dvb_core

    Now install the SDR drivers from the package repository.

    sudo apt-get install rtl-sdr
    sudo wget -O /etc/udev/rules.d/20-rtlsdr.rules https://raw.githubusercontent.com/osmocom/rtl-sdr/master/rtl-sdr.rules

    The basic preparation is now complete. Reboot the Raspberry Pi and log in again afterwards.

    sudo reboot now

    Now install dxlAPRS and the scripts used to start the software. First, install a few required packages.

    sudo apt-get install build-essential
    sudo apt-get install git

    Download the scripts used to start dxlAPRS.

    cd /home/pi/
    git clone https://github.com/DO2JMG/dxlAPRS_Scripte.git
    mv dxlAPRS_Scripte ws
    cd ws
    mkdir bin pidfiles calibrations fifos

    Install dxlAPRS and copy the required binaries into the directory used by the startup scripts.

    cd /home/pi/
    git clone https://github.com/oe5hpm/dxlAPRS.git
    cd dxlAPRS/src
    make sondemod
    make sondeudp
    make udpgate4
    make sdrtst
    make udpbox
    cd ../out
    cp sondemod /home/pi/ws/bin
    cp sondeudp /home/pi/ws/bin
    cp sdrtst /home/pi/ws/bin
    cp udpgate4 /home/pi/ws/bin
    cp udpbox /home/pi/ws/bin
    cd /home/pi
    sudo rm -r dxlAPRS

    To make sure the radiosonde receiver starts automatically after a power failure or reboot, add the following cron jobs.

    crontab -e

    Add these two lines.

    */1 * * * * /home/pi/ws/dxlclient.sh
    */1 * * * * /home/pi/ws/dxlserver.sh

    Exit the editor with CTRL+X and confirm the prompt with Yes.

    Now make the scripts executable.

    chmod +x /home/pi/ws/dxlclient.sh
    chmod +x /home/pi/ws/dxlserver.sh

    Configuring the startup scripts

    Change into the directory where the scripts are located.

    cd /home/pi/ws

    Open ws-options.conf with an editor.

    nano ws-options.conf

    In this file, adjust objectcall to your own callsign. The recommended SSID for this is -11. The gatewaycall should use the same callsign as objectcall, but with a different SSID; -10 is recommended for this. Then set the APRS passcode. You can generate this passcode online. After making these changes, save the configuration file.

    In the file sdrcfg-rtl0.txt, you can enter the frequencies you want to monitor.
    (The SDR devices have a bandwidth of 2 MHz, so the configured frequency range should not exceed this.)

    nano sdrcfg-rtl0.txt

    Finally, adjust the coordinates for your position beacon. The format should look like this: !5200.00N/00800.00E`
    You can convert coordinates here: (Link)

    nano beacon.txt

    Finish the setup with another reboot.

    sudo reboot now

    Your radiosonde receiver should now be running. Have fun!


    Automatically clearing log files

    dxlAPRS creates log files so you can monitor your system. These files are stored in the /tmp/ directory. Over time, the log files can become large and may fill up your memory card.
    You can use a cron job to clear these log files every 60 minutes.

    Proceed as follows.

    crontab -e

    An editor will open. Add the following lines.

    */60 * * * * truncate -s 0 /tmp/sondemod.log
    */60 * * * * truncate -s 0 /tmp/aprs.log
    */60 * * * * truncate -s 0 /tmp/sondeudp-rtl0.log
    */60 * * * * truncate -s 0 /tmp/sondeudp-rtl1.log
    */60 * * * * truncate -s 0 /tmp/sondeudp-rtl2.log
    */60 * * * * truncate -s 0 /tmp/rtl_tcp-rtl0.log
    */60 * * * * truncate -s 0 /tmp/rtl_tcp-rtl1.log
    */60 * * * * truncate -s 0 /tmp/rtl_tcp-rtl2.log
    */60 * * * * truncate -s 0 /tmp/udpgate.log


    Configuring a second APRS server (optional)

    These scripts can also send data to a second APRS server. This is optional and not required.

    Proceed as follows.

    cd /home/pi/ws
    nano ws-options.conf

    Edit the following parameters and replace the values with the details of your desired second APRS server.

    aprssecond="off" # Set this to on to enable it
    aprssecondserver="keinaprsserver.com"
    aprssecondport="14580"


    © wettersonde.net - Jean-Michael (DO2JMG) - 2021