Installation and upgrade procedures
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
Manufacturer | TAO package | Reference | Notes |
---|---|---|---|
Browan | TAO_gemtek.GMTK_ODU.1_2.1.1 | Browan Outdoor Micro (ODU) | |
Kerlink | TAO_kerlink.KERL_NANO.1_2.1.1 | Kerlink Wirnet iFemtoCell | kernel: KerOS 5.11.0 |
Kerlink | TAO_kerlink.KERL_NANO.2_2.1.1 | Kerlink Wirnet iFemtoCell-Evolution | kernel: KerOS 5.11.0 |
Kerlink | TAO_kerlink.KERL_ISTA.1_2.1.1 | Kerlink Wirnet iStation | kernel: KerOS 5.11.0 |
Kerlink | TAO_kerlink.KERL_IBTS.2_2.1.1 | Kerlink Wirnet iBTS | kernel: KerOS 5.11.0 |
Milesight | TAO_milesight.MILEST_UG65.1_2.1.1 | Milesight UG65/UG67 | |
Tektelic | TAO_tektelic.TEKT_KONA.3_2.1.1 | Kona Micro | BSP 7.1.2 |
UfiSpace | TAO_ufispace.UFISP_FCPICO.1_2.1.1 | Ufispace Pico/Enterprise | |
Ufispace | TAO_ufispace.UFISP_FCMLB.1_2.1.1 | Ufispace MACRO V1.5 |
For Kerlink gateways, see the Kerlink wiki to upgrade your kernel to KerOS 5.11.0.
For Milesight UG65/67, follow the installation steps described in Milesight UG65/UG67 installation guidelines.
For Browan Femto indoor gateway, a specific firmware is needed. Follow the installation steps described in Browan Femto installation guidelines.
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.
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.
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
Copy the installation package on your gateway under the specific location.
scp TAO_<manufacturer>.<BS_PROFILE>_<version> <admin>@<gateway ip>:<specific location>
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> serverHere 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.logYou must now reboot the server gateway.
TAO installation for remote gateways
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.
Copy the installation package on your gateway under the specific location.
scp TAO_<manufacturer>.<BS_PROFILE>_<version> <admin>@<gateway ip>:<specific location>
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>noteYou 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.logYou must now reboot the remote gateway.