Skip to main content
Version: TAO v2.x

Installation and upgrade procedures

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 the box at the end of the procedure.

Installation Requirements

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

  • You have to run one 'server' installation on your main instance. This server will handle the LoRaWAN Network Server, an MQTT server, the Node-RED server, a first Gateway, and the UI.

  • Afterward, you can run 'gateway' installations on other instances to extend you LoRaWAN® network.

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

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

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

Latest releases

ManufacturerTAO packageReferenceNotes
UfiSpaceTAO_ufispace.UFISP_FCPICO.1_2.0.0Ufispace Pico/Enterprise
TAO_ufispace.UFISP_FCMLB.1_2.0.0Ufispace MACRO V1.5
GemtekTAO_gemtek.GMTK_ODU.1_2.0.0Browan OutDoor Micro
KerlinkTAO_kerlink.KERL_NANO.1_2.0.0Kerlink Wirnet iFemtoCellkernel: keros 4.3.3
TAO_kerlink.KERL_NANO.2_2.0.0Kerlink Wirnet iFemtoCell-Evolutionkernel: keros 5.10.1
TAO_kerlink.KERL_NANO.2_2.0.0Kerlink Wirnet iFemtoCell-Evolutionkernel: keros 4.3.3
TAO_kerlink.KERL_ISTA.1_2.0.0Kerlink Wirnet iStationkernel: keros 4.3.3
TAO_kerlink.KERL_IBTS.2_2.0.0Kerlink Wirnet iBTSkernel: keros 4.3.3
MilesightTAO_milesight.MILEST_UG65.1_2.0.0Milesight UG65/UG67

Installation Steps

TAO installation for the local server

  1. Copy the installation package on your box under /

    scp TAO_<manufacturer>.<BS_PROFILE>_<version>  <admin>@<box ip>:/
  2. Execute the installation package

  • Run server installation

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

    Here is the output of an UfiSpace server installation, the output will certainly be different in your case:

        am335x-evm:/# ./TAO_ufispace.UFISP_FCMLB.1_2.0.0 server

    TAO Installer

    ./
    ./rootfs-patch-tao-2.0.0-fcmlb-server.tar.gz
    ./install.autorun
    Execute tao-install.sh server
    LRR custom configuration
    -> TAO fresh install, add complete lrr custom folder
    ipsec is not configured
    No system definition file: system still using the old configuration mechanism
    /home/actility used as root directory
    System : fcmlb
    System : fcmlb
    ROOTACT already present in /etc/profile
    create service checktls
    create service checkvpn2
    create service gwmgr_restore
    create service ipfailover2
    create service lrr
    create service lrrplan
    Disable cfgmgr Ethernet link checking
    Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
    iptables are installed
    No system definition file: system still using the old configuration mechanism
    execute postinstall script /home/actility/lrr/postinstall/ipfailover2.sh
    execute postinstall script /home/actility/lrr/postinstall/migrate2nfr920.sh
    57 - found custom migration2nfr920 script: /home/actility/lrr/postinstall/fcmlb/custom_migrate2nfr920.sh
    82 - checkvpn2: Can't find vpn.cfg to migrate, no conversion to be done...
    ; Defines the principal interface
    principal=eth0
    ; Defines the bandwidth constraint to be applied on the principal interface (0: No constraint, 1: Limited bandwidth, 2: Very limited bandwidth)
    bandwidthconstraint_principal=0
    [bandwidthconstraint_principal:0]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    [bandwidthconstraint_principal:1]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    [bandwidthconstraint_principal:2]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    89 - ipfailover2: ipfailover2.ini already exists, no conversion to be done...
    438 - ipfailover cleansing: nothing to clean...
    595 - ipfailover2: force postinstall after possible service activation
    599 - ==== Migration to NFR920 not requested ... ====
    VPN only supports LRRUUID-based uidmode (fromtwa or fromtwaonly)
    restart service checktls
    Stopping checkTLS service: [FAILED]
    checkTLS is already stopped
    Starting checkTLS service: [OK]
    restart service checkvpn2
    Stopping /home/actility/lrr/ipsecmgr/checkvpn2.sh service: [FAILED]
    /home/actility/lrr/ipsecmgr/checkvpn2.sh is already stopped
    Starting /home/actility/lrr/ipsecmgr/checkvpn2.sh service: [OK]
    restart service gwmgr_restore
    restart service ipfailover2
    Stopping /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh service: [FAILED]
    /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh is already stopped
    Starting /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh service: [OK]
    restart service lrrplan
    Stopping lrrplan service: [FAILED]
    lrrplan is already stopped
    Starting lrrplan service: [OK]
    System configuration done
    , , node-v10.17.0-linux-armv7l/
    >> npm need to be adjusted to 12
    rm: can't remove '.npm': No such file or directory
    >> node-red need to be adjusted to 12
    rm: can't remove '.node-red': No such file or directory
    >> nodeJS need to be adjusted to 12
    No system definition file: system still using the old configuration mechanism
    /home/actility used as root directory
    System : fcmlb
    System : fcmlb
    former mechanism
    create service lrc
    create service mqtt
    create service node-red
    create service tao
    Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
    trying to set UUID 001558-4658425300001AC4 in FDB_lora
    UUID 001558-4658425300001AC4 in FDB_lora is set
    ck:b51d94f3ae92205e254b46c09e826c43
    /tmp/selfextract.oUBKJ1
    migrateScript=/home/actility/tao-system/bootstrap/migrate-from-none.sh
    /home/actility used as root directory
    System : fcmlb
    Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
    restart LRR after updates
    Stopping lrr service: [FAILED]
    lrr is already stopped
    Starting lrr service: fcmlb
    no command to power on radio board
    Updating calibration temperatures
    Updating /home/actility/usr/etc/lrr/versions.ini file
    /home/actility/usr/etc/lrr/versions.ini file updated
    [OK]
    restart other services after updates
    restart service lrc
    Stopping lrc.x service: [FAILED]
    lrc.x is already stopped
    Starting lrc.x service: fcmlb
    [OK]
    restart service mqtt
    Stopping mosquitto service: [FAILED]
    mosquitto is already stopped
    Starting mosquitto service: fcmlb
    [OK]
    restart service node-red
    Stopping node-red service: [FAILED]
    node-red is already stopped
    Starting node-red service: fcmlb
    [OK]
    restart service tao
    Stopping tao-server service: [FAILED]
    tao-server is already stopped
    Starting tao-server service: fcmlb
    [OK]
    restartServices done
    System configuration done
    restart Firewall after updates
    Installation done

  1. You can now reboot the gateway.

TAO installation for a remote gateway

You can run this step only if you have successfully executed the previous step about TAO installation for the local server. You must have the IP address of your TAO local server.

  1. Copy the installation package on your box under /

    scp TAO_<manufacturer>.<BS_PROFILE>_<version>  <admin>@<box ip>:/
  2. Execute the installation package

    ssh <admin>@<box ip>
    cd /
    chmod u+x ./TAO_<manufacturer>.<BS_PROFILE>_<version>
    ./TAO_<manufacturer>.<BS_PROFILE>_<version> gw <ip of main instance>

    Here is the output of an UfiSpace gateway installation, the output will certainly be different in your case:

    am335x-evm:/# ./TAO_ufispace.UFISP_FCMLB.1_2.0.0 gw 10.100.31.206

    TAO Installer

    ./
    ./rootfs-patch-tao-2.0.0-fcmlb-gw.tar.gz
    ./install.autorun
    Execute tao-install.sh gw 10.100.31.206
    LRR custom configuration
    -> TAO fresh install, add complete lrr custom folder
    ipsec is not configured
    No system definition file: system still using the old configuration mechanism
    /home/actility used as root directory
    System : fcmlb
    System : fcmlb
    ROOTACT already present in /etc/profile
    create service checktls
    create service checkvpn2
    create service gwmgr_restore
    create service ipfailover2
    create service lrr
    create service lrrplan
    Disable cfgmgr Ethernet link checking
    Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
    iptables are installed
    No system definition file: system still using the old configuration mechanism
    execute postinstall script /home/actility/lrr/postinstall/ipfailover2.sh
    execute postinstall script /home/actility/lrr/postinstall/migrate2nfr920.sh
    57 - found custom migration2nfr920 script: /home/actility/lrr/postinstall/fcmlb/custom_migrate2nfr920.sh
    82 - checkvpn2: Can't find vpn.cfg to migrate, no conversion to be done...
    ; Defines the principal interface
    principal=eth0
    ; Defines the bandwidth constraint to be applied on the principal interface (0: No constraint, 1: Limited bandwidth, 2: Very limited bandwidth)
    bandwidthconstraint_principal=0
    [bandwidthconstraint_principal:0]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    [bandwidthconstraint_principal:1]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    [bandwidthconstraint_principal:2]
    ; In seconds, defines at which frequency we test connectivity on principal interface when principal interface is used
    ; In seconds, defines at which frequency we test connectivity on principal interface when rescue interface is used
    ; In seconds, defines the ping timeout used for testing connectivity on principal interface
    ; Defines the amount of consecutive failed ping before deciding to restart the principal interface
    maxfailedprincipal=5
    89 - ipfailover2: ipfailover2.ini already exists, no conversion to be done...
    438 - ipfailover cleansing: nothing to clean...
    595 - ipfailover2: force postinstall after possible service activation
    599 - ==== Migration to NFR920 not requested ... ====
    restart service checktls
    Stopping checkTLS service: [FAILED]
    checkTLS is already stopped
    Starting checkTLS service: [OK]
    restart service checkvpn2
    Stopping /home/actility/lrr/ipsecmgr/checkvpn2.sh service: [FAILED]
    /home/actility/lrr/ipsecmgr/checkvpn2.sh is already stopped
    Starting /home/actility/lrr/ipsecmgr/checkvpn2.sh service: [OK]
    restart service gwmgr_restore
    restart service ipfailover2
    Stopping /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh service: [FAILED]
    /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh is already stopped
    Starting /home/actility//lrr/failovermgr/fcmlb/ifacefailover2.sh service: [OK]
    restart service lrrplan
    Stopping lrrplan service: [FAILED]
    lrrplan is already stopped
    Starting lrrplan service: [OK]
    System configuration done
    No system definition file: system still using the old configuration mechanism
    /home/actility used as root directory
    System : fcmlb
    System : fcmlb
    former mechanism
    create service tao
    restart service tao
    Stopping tao-agent service: [FAILED]
    tao-agent is already stopped
    Starting tao-agent service: fcmlb
    [OK]
    System configuration done
    Stopping lrr service: [FAILED]
    lrr is already stopped
    Starting lrr service: fcmlb
    no command to power on radio board
    Updating calibration temperatures
    Updating /home/actility/usr/etc/lrr/versions.ini file
    /home/actility/usr/etc/lrr/versions.ini file updated
    [OK]
    Installation done

    ```

  3. You can now reboot the gateway.