Skip to main content
Version: TAO v2.x

Installation and upgrade procedures

tip

You should ignore this task if ThingPark Enterprise All-in-One has already been installed on your gateways by your system integrator.

This page describes the manual installation procedure.

Nevertheless, you may leverage the zero-touch/automated installation procedure provided by Infrastructure Commissioning Service (ICS). For this, please contact your ThingPark Support Team.

For an upgrade, you must follow the same steps as for the installation procedure, and you must reboot your gateways at the end of the procedure.

Installation requirements

  • The installation described hereafter is manual. You need to have SSH access to the Base Station, and have the root password.

  • You need to have at least 400MB free disk space.

  • You need to have the relevant installation package for your hardware:

    scheme: TAO_<manufacturer>.<BS_PROFILE>_<version>

Latest releases

ManufacturerTAO packageReferenceNotes
BrowanTAO_gemtek.GMTK_ODU.1_2.1.1Browan Outdoor Micro (ODU)
KerlinkTAO_kerlink.KERL_NANO.1_2.1.1Kerlink Wirnet iFemtoCellkernel: KerOS 5.11.0
KerlinkTAO_kerlink.KERL_NANO.2_2.1.1Kerlink Wirnet iFemtoCell-Evolutionkernel: KerOS 5.11.0
KerlinkTAO_kerlink.KERL_ISTA.1_2.1.1Kerlink Wirnet iStationkernel: KerOS 5.11.0
KerlinkTAO_kerlink.KERL_IBTS.2_2.1.1Kerlink Wirnet iBTSkernel: KerOS 5.11.0
MilesightTAO_milesight.MILEST_UG65.1_2.1.1Milesight UG65/UG67
TektelicTAO_tektelic.TEKT_KONA.3_2.1.1Kona MicroBSP 7.1.2
UfiSpaceTAO_ufispace.UFISP_FCPICO.1_2.1.1Ufispace Pico/Enterprise
UfispaceTAO_ufispace.UFISP_FCMLB.1_2.1.1Ufispace MACRO V1.5

Installation steps

At first, you must execute the server installation steps on your master gateway. This server will act as a first base station and will additionally host the LoRaWAN Network Server, an MQTT server, the Node-RED server and the user interface.

Then, if you deploy a multi-gateway TPE All-in-One (TAO), you must execute the remote gateway installation steps on each gateway acting as a remote base station to extend you LoRaWAN® network.

note

In a multi-gateway deployment, the master gateway, acting as the TAO server, must have a static IP, remote gateways can be static or DHCP.

note

You may connect up to four remote gateways to your TPE All-in-One server.

Installation package location

Depending on your system, the installation package must be installed in a specific location on your base station:

  • /home for Ufispace
  • /mnt/extra for Tektelic
  • / for Kerlink, Milesight, Browan

TAO installation for the server gateway

  1. Copy the installation package on your gateway under the specific location.

    scp TAO_<manufacturer>.<BS_PROFILE>_<version>  <admin>@<gateway ip>:<specific location>
  2. Execute the installation package, by running the server installation command:

    ssh <admin>@<gateway ip>
    cd <specific location>
    chmod u+x ./TAO_<manufacturer>.<BS_PROFILE>_<version>
    ./TAO_<manufacturer>.<BS_PROFILE>_<version> server

    Here is the output of a Tektelic Kona Micro server installation, the output will certainly be different in your case:

    kona-micro-0173BA:/mnt/extra# ./TAO_tektelic.TEKT_KONA.3_2.1.1 server

    TAO Installer [TAO_tektelic.TEKT_KONA.3_2.1.1]

    Extracting ...
    LRR custom configuration
    -> TAO fresh install, add complete lrr custom folder
    ipsec is not configured
    /home/actility used as root directory
    Execute system preparation scripts if any
    execute script /home/actility/system/preinstall/10-add-ssh-keyscan.sh
    /usr/bin/ssh-keyscan
    execute script /home/actility/system/preinstall/20-add-ipsec2swanctl.sh
    /usr/bin/ipsec2swanctl.py
    System characteristics: setting file not present: automatic creation ...
    -----------------------------------------------------------
    Checking consistency of system definition
    OK: SYSTEM defined: tek_generic
    OK: MANUFACTURER defined: tektelic
    OK: FIRMWARE defined: tekos
    OK: MANUFACTURER_OUI defined: 647FDA
    OK: at least one option set in [SEMTECH_V1_0 SEMTECH_V1_5 SEMTECH_V2_1 SEMTECH_CORECELL]
    OK: TERMINFO defined: export TERMINFO=/etc/terminfo/
    OK: NETSTAT defined: netstat -an
    OK: VIEW_NTP_CONF defined: cat /etc/ntp.conf
    OK: REBOOT_CMD defined: reboot
    OK: TRACE_BACKUP_DIR defined: /home/actility/traces
    OK: at least one option set in [TAR_OPTION_X TAR_OPTION_EXCLUDE]
    OK: NETWORK_INTERFACE_FILE: valid file /etc/network/interfaces
    OK: SYSTEM_ETC: valid directory /etc
    OK: SWANCTL defined: /usr/sbin/swanctl
    OK: SWANCTL: valid executable /usr/sbin/swanctl
    OK: NTP_SERVICE: valid file /etc/init.d/ntpd
    OK: SFTP: valid executable /home/actility/lrr/sftp/sftp
    OK: IPTABLES_BIN: valid executable /usr/sbin/iptables
    OK: NETWORK_INTERFACE_FILE defined: /etc/network/interfaces
    -----------------------------------------------------------
    System : tek_generic
    ROOTACT already present in /etc/profile
    Can't find '/etc/init.d/checklrr', can't stop service
    Can't find '/etc/init.d/checkntp', can't stop service
    Can't find '/etc/init.d/checkpki', can't stop service
    Can't find '/etc/init.d/ipfailover2', can't stop service
    Can't find '/etc/init.d/lrr', can't stop service
    Can't find '/etc/init.d/lrrplan', can't stop service
    Warning: One or more services return in error
    create service checklrr
    create service checkntp
    create service checkpki
    create service gwmgr_restore
    create service ipfailover2
    create service lrr
    create service lrrplan
    Adding system startup for /etc/init.d/firewall.
    iptables are installed
    New password: Retype new password: passwd: password updated successfully
    Executing LRR usr_postinstall.sh
    Common usr_postinstall.sh
    - generate ipfailover2.ini
    -----------------------------------------------------------
    Checking consistency of lrr definition
    OK: IPFAILOVER_SERVICE: valid executable /etc/init.d/ipfailover2
    OK: SYSTEM_LOG: valid file /var/log/messages
    -----------------------------------------------------------
    Execute post-installation scripts if any
    execute script /home/actility/lrr/postinstall/10-system_postinstall.sh
    execute script /home/actility/lrr/postinstall/20-ipfailover2.sh
    There is no service named "network-monitor"
    no process in pidfile '/var/run/network-monitor.pid' found; none killed
    update-rc.d: /etc/init.d/network-monitor-startup-rc exists during rc.d purge (continuing)
    Removing any system startup links for network-monitor-startup-rc ...
    update-rc.d: /etc/init.d/wwan0-startup-rc exists during rc.d purge (continuing)
    Removing any system startup links for wwan0-startup-rc ...
    execute script /home/actility/lrr/postinstall/30-migrate_services.sh
    30-migrate_services.sh: Process checkntp
    30-migrate_services.sh: Process checkpki
    30-migrate_services.sh: Process ipfailover2
    30-migrate_services.sh: Process gwmgr
    30-migrate_services.sh: Process lrrplan
    30-migrate_services.sh: Process lrr
    execute script /home/actility/lrr/postinstall/70-migrate2checkpki.sh
    70-migrate2checkpki.sh: migration not needed (no previous checkvpn2/checktls config)
    70-migrate2checkpki.sh: migration done.
    execute script /home/actility/lrr/postinstall/75-migrate_cmd_shells_pidfiles.sh
    75-migrate_cmd_shells_pidfiles.sh: migration not needed
    Starting checklrr service: Warning: checklrr started WITHOUT nohup !
    [OK]
    Starting checkntp service: Warning: checkntp started WITHOUT nohup !
    [OK]
    Starting checkpki service: Warning: checkpki started WITHOUT nohup !
    [OK]
    Starting ipfailover2 service: Warning: ipfailover2 started WITHOUT nohup !
    [OK]
    /usr/bin/python3
    Starting lrr service: tek_generic
    no command to power on radio board
    Analyze calibration file ...
    File created
    no AES key generation on tekos model
    Updating /home/actility/usr/etc/lrr/versions.ini file
    /home/actility/usr/etc/lrr/versions.ini file updated
    Warning: lrr started WITHOUT nohup !
    [OK]
    Starting lrrplan service: Warning: lrrplan started WITHOUT nohup !
    [OK]
    System configuration done
    -----------------------------------------------------------
    Checking consistency of system definition
    OK: SYSTEM defined: tek_generic
    OK: MANUFACTURER defined: tektelic
    OK: FIRMWARE defined: tekos
    OK: MANUFACTURER_OUI defined: 647FDA
    OK: at least one option set in [SEMTECH_V1_0 SEMTECH_V1_5 SEMTECH_V2_1 SEMTECH_CORECELL]
    OK: TERMINFO defined: export TERMINFO=/etc/terminfo/
    OK: NETSTAT defined: netstat -an
    OK: VIEW_NTP_CONF defined: cat /etc/ntp.conf
    OK: REBOOT_CMD defined: reboot
    OK: TRACE_BACKUP_DIR defined: /home/actility/traces
    OK: at least one option set in [TAR_OPTION_X TAR_OPTION_EXCLUDE]
    OK: NETWORK_INTERFACE_FILE: valid file /etc/network/interfaces
    OK: SYSTEM_ETC: valid directory /etc
    OK: SWANCTL defined: /usr/sbin/swanctl
    OK: SWANCTL: valid executable /usr/sbin/swanctl
    OK: NTP_SERVICE: valid file /etc/init.d/ntpd
    OK: SFTP: valid executable /home/actility/lrr/sftp/sftp
    OK: IPTABLES_BIN: valid executable /usr/sbin/iptables
    OK: NETWORK_INTERFACE_FILE defined: /etc/network/interfaces
    -----------------------------------------------------------
    /home/actility used as root directory
    System : tek_generic
    System : tek_generic
    New installation mechanism detected tek_generic
    create service lrc
    create service mqtt
    create service node-red
    create service tao
    New password: Retype new password: passwd: password updated successfully
    FDB_lora l folder exists
    FDB_lora l/ffffffff table not present, create it
    trying to set UUID 647FDA-647FDA0173BA in FDB_lora
    UUID 647FDA-647FDA0173BA in FDB_lora is set
    ck:58cca96b6025664c305ba9cfd416589e
    /mnt/extra
    migrateScript=/home/actility/tao-system/bootstrap/migrate-from-none.sh
    /home/actility used as root directory
    System : tek_generic
    change tao / support password
    New password: Retype new password: passwd: password updated successfully
    restart LRR after updates
    restart LRR after updates
    /usr/bin/python3
    Stopping lrr service: [OK]
    Starting lrr service: tek_generic
    no command to power on radio board
    Analyze calibration file ...
    File created
    no AES key generation on tekos model
    Updating /home/actility/usr/etc/lrr/versions.ini file
    /home/actility/usr/etc/lrr/versions.ini file updated
    Warning: lrr started WITHOUT nohup !
    [OK]
    restart other services after updates
    restart service lrc
    Stopping lrc.x service: [FAILED]
    lrc.x is already stopped
    Starting lrc.x service: tek_generic
    Warning: lrc.x started WITHOUT nohup !
    [OK]
    restart service mqtt
    Stopping mosquitto service: [FAILED]
    mosquitto is already stopped
    Starting mosquitto service: tek_generic
    Warning: mosquitto started WITHOUT nohup !
    [OK]
    restart service node-red
    Stopping node-red service: [FAILED]
    node-red is already stopped
    Starting node-red service: tek_generic
    Warning: node-red started WITHOUT nohup !
    [OK]
    restart service tao
    Stopping tao-server service: [FAILED]
    tao-server is already stopped
    Starting tao-server service: tek_generic
    Warning: tao-server started WITHOUT nohup !
    [OK]
    restartServices done
    System configuration done
    Installation done
    Installation log file under /home/actility/TAO_installation_20241011_105026.log

  3. You must now reboot the server gateway.

TAO installation for remote gateways

caution

This installation step is relevant only if you have a multi-gateway TPE All-in-One. Do not execute this task if you have a single-gateway TPE All-in-One.

You may proceed with the installation of your remote gateway(s) only after successfully completing the installation of the server gateway, as described in TAO installation for the server gateway.

You must have the IP address of your server gateway.

  1. Copy the installation package on your gateway under the specific location.

    scp TAO_<manufacturer>.<BS_PROFILE>_<version>  <admin>@<gateway ip>:<specific location>
  2. Execute the installation package:

    ssh <admin>@<gateway ip>
    cd /
    chmod u+x ./TAO_<manufacturer>.<BS_PROFILE>_<version>
    ./TAO_<manufacturer>.<BS_PROFILE>_<version> gw <ip of server gateway>
    note

    You may change later on the \<gateway ip> address using a remote command

    Here is the output of a Tektelic Kona Micro gateway installation, the output will certainly be different in your case:

    kona-micro-0173BA:/mnt/extra# ./TAO_tektelic.TEKT_KONA.3_2.1.1 gw 10.100.31.122

    TAO Installer [TAO_tektelic.TEKT_KONA.3_2.1.1]

    Extracting ...
    LRR custom configuration
    -> TAO fresh install, add complete lrr custom folder
    ipsec is not configured
    /home/actility used as root directory
    Execute system preparation scripts if any
    execute script /home/actility/system/preinstall/10-add-ssh-keyscan.sh
    /usr/bin/ssh-keyscan
    execute script /home/actility/system/preinstall/20-add-ipsec2swanctl.sh
    /usr/bin/ipsec2swanctl.py
    System characteristics: setting file not present: automatic creation ...
    -----------------------------------------------------------
    Checking consistency of system definition
    OK: SYSTEM defined: tek_generic
    OK: MANUFACTURER defined: tektelic
    OK: FIRMWARE defined: tekos
    OK: MANUFACTURER_OUI defined: 647FDA
    OK: at least one option set in [SEMTECH_V1_0 SEMTECH_V1_5 SEMTECH_V2_1 SEMTECH_CORECELL]
    OK: TERMINFO defined: export TERMINFO=/etc/terminfo/
    OK: NETSTAT defined: netstat -an
    OK: VIEW_NTP_CONF defined: cat /etc/ntp.conf
    OK: REBOOT_CMD defined: reboot
    OK: TRACE_BACKUP_DIR defined: /home/actility/traces
    OK: at least one option set in [TAR_OPTION_X TAR_OPTION_EXCLUDE]
    OK: NETWORK_INTERFACE_FILE: valid file /etc/network/interfaces
    OK: SYSTEM_ETC: valid directory /etc
    OK: SWANCTL defined: /usr/sbin/swanctl
    OK: SWANCTL: valid executable /usr/sbin/swanctl
    OK: NTP_SERVICE: valid file /etc/init.d/ntpd
    OK: SFTP: valid executable /home/actility/lrr/sftp/sftp
    OK: IPTABLES_BIN: valid executable /usr/sbin/iptables
    OK: NETWORK_INTERFACE_FILE defined: /etc/network/interfaces
    -----------------------------------------------------------
    System : tek_generic
    ROOTACT already present in /etc/profile
    Can't find '/etc/init.d/checklrr', can't stop service
    Can't find '/etc/init.d/checkntp', can't stop service
    Can't find '/etc/init.d/checkpki', can't stop service
    Can't find '/etc/init.d/ipfailover2', can't stop service
    Can't find '/etc/init.d/lrr', can't stop service
    Can't find '/etc/init.d/lrrplan', can't stop service
    Warning: One or more services return in error
    create service checklrr
    create service checkntp
    create service checkpki
    create service gwmgr_restore
    create service ipfailover2
    create service lrr
    create service lrrplan
    Adding system startup for /etc/init.d/firewall.
    iptables are installed
    New password: Retype new password: passwd: password updated successfully
    Executing LRR usr_postinstall.sh
    Common usr_postinstall.sh
    - generate ipfailover2.ini
    -----------------------------------------------------------
    Checking consistency of lrr definition
    OK: IPFAILOVER_SERVICE: valid executable /etc/init.d/ipfailover2
    OK: SYSTEM_LOG: valid file /var/log/messages
    -----------------------------------------------------------
    Execute post-installation scripts if any
    execute script /home/actility/lrr/postinstall/10-system_postinstall.sh
    execute script /home/actility/lrr/postinstall/20-ipfailover2.sh
    There is no service named "network-monitor"
    no process in pidfile '/var/run/network-monitor.pid' found; none killed
    update-rc.d: /etc/init.d/network-monitor-startup-rc exists during rc.d purge (continuing)
    Removing any system startup links for network-monitor-startup-rc ...
    update-rc.d: /etc/init.d/wwan0-startup-rc exists during rc.d purge (continuing)
    Removing any system startup links for wwan0-startup-rc ...
    execute script /home/actility/lrr/postinstall/30-migrate_services.sh
    30-migrate_services.sh: Process checkntp
    30-migrate_services.sh: Process checkpki
    30-migrate_services.sh: Process ipfailover2
    30-migrate_services.sh: Process gwmgr
    30-migrate_services.sh: Process lrrplan
    30-migrate_services.sh: Process lrr
    execute script /home/actility/lrr/postinstall/70-migrate2checkpki.sh
    70-migrate2checkpki.sh: migration not needed (no previous checkvpn2/checktls config)
    70-migrate2checkpki.sh: migration done.
    execute script /home/actility/lrr/postinstall/75-migrate_cmd_shells_pidfiles.sh
    75-migrate_cmd_shells_pidfiles.sh: migration not needed
    Starting checklrr service: Warning: checklrr started WITHOUT nohup !
    [OK]
    Starting checkntp service: Warning: checkntp started WITHOUT nohup !
    [OK]
    Starting checkpki service: Warning: checkpki started WITHOUT nohup !
    [OK]
    Starting ipfailover2 service: Warning: ipfailover2 started WITHOUT nohup !
    [OK]
    /usr/bin/python3
    Starting lrr service: tek_generic
    no command to power on radio board
    Analyze calibration file ...
    File created
    no AES key generation on tekos model
    Updating /home/actility/usr/etc/lrr/versions.ini file



    /home/actility/usr/etc/lrr/versions.ini file updated
    Warning: lrr started WITHOUT nohup !
    [OK]
    Starting lrrplan service: Warning: lrrplan started WITHOUT nohup !
    [OK]
    System configuration done
    -----------------------------------------------------------
    Checking consistency of system definition
    OK: SYSTEM defined: tek_generic
    OK: MANUFACTURER defined: tektelic
    OK: FIRMWARE defined: tekos
    OK: MANUFACTURER_OUI defined: 647FDA
    OK: at least one option set in [SEMTECH_V1_0 SEMTECH_V1_5 SEMTECH_V2_1 SEMTECH_CORECELL]
    OK: TERMINFO defined: export TERMINFO=/etc/terminfo/
    OK: NETSTAT defined: netstat -an
    OK: VIEW_NTP_CONF defined: cat /etc/ntp.conf
    OK: REBOOT_CMD defined: reboot
    OK: TRACE_BACKUP_DIR defined: /home/actility/traces
    OK: at least one option set in [TAR_OPTION_X TAR_OPTION_EXCLUDE]
    OK: NETWORK_INTERFACE_FILE: valid file /etc/network/interfaces
    OK: SYSTEM_ETC: valid directory /etc
    OK: SWANCTL defined: /usr/sbin/swanctl
    OK: SWANCTL: valid executable /usr/sbin/swanctl
    OK: NTP_SERVICE: valid file /etc/init.d/ntpd
    OK: SFTP: valid executable /home/actility/lrr/sftp/sftp
    OK: IPTABLES_BIN: valid executable /usr/sbin/iptables
    OK: NETWORK_INTERFACE_FILE defined: /etc/network/interfaces
    -----------------------------------------------------------
    /home/actility used as root directory
    System : tek_generic
    System : tek_generic
    New installation mechanism detected tek_generic
    create service tao
    migrateScript=/home/actility/tao-system/bootstrap/migrate-from-none.sh
    /home/actility used as root directory
    System : tek_generic
    change tao / support password
    New password: Retype new password: passwd: password updated successfully
    restart service tao
    Stopping tao-agent service: [FAILED]
    tao-agent is already stopped
    Starting tao-agent service: tek_generic
    Warning: tao-agent started WITHOUT nohup !
    [OK]
    System configuration done
    /usr/bin/python3
    Stopping lrr service: [OK]
    /usr/bin/python3
    Starting lrr service: tek_generic
    no command to power on radio board
    Analyze calibration file ...
    File created
    no AES key generation on tekos model
    Updating /home/actility/usr/etc/lrr/versions.ini file
    /home/actility/usr/etc/lrr/versions.ini file updated
    Warning: lrr started WITHOUT nohup !
    [OK]
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    ip6tables v1.8.7 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
    Perhaps ip6tables or your kernel needs to be upgraded.
    Installation done
    Installation log file under /home/actility/TAO_installation_20241011_105026.log

  3. You must now reboot the remote gateway.