summaryrefslogtreecommitdiff
path: root/recipes-connectivity/lora/lora-network-server/lora-network-server.init
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-connectivity/lora/lora-network-server/lora-network-server.init')
-rwxr-xr-xrecipes-connectivity/lora/lora-network-server/lora-network-server.init88
1 files changed, 65 insertions, 23 deletions
diff --git a/recipes-connectivity/lora/lora-network-server/lora-network-server.init b/recipes-connectivity/lora/lora-network-server/lora-network-server.init
index 61b6e2b..5e2f085 100755
--- a/recipes-connectivity/lora/lora-network-server/lora-network-server.init
+++ b/recipes-connectivity/lora/lora-network-server/lora-network-server.init
@@ -38,6 +38,12 @@ lora_mtcap_id="MTCAP-LORA"
lora_mtcap_id868="MTCAP-LORA-868"
lora_mtcap_id915="MTCAP-LORA-915"
+mtcdt3_id="MTCDT3"
+lora_mtcdt3_id="MTCDT3-LORA"
+lora_mtcdt3_id868="MTCDT3-LORA-868"
+lora_mtcdt3_id915="MTCDT3-LORA-915"
+
+
lora_mtac_g_id="MTAC-LORA-G"
lora_mtac_g16_id868="MTAC-LORA-G16-868"
lora_mtac_g16_id915="MTAC-LORA-G16-915"
@@ -49,6 +55,8 @@ dual_cards_installed=false
gps_path="/dev/gps0"
read_lora_hw_info() {
+ hw_id=$(mts-io-sysfs show product-id 2> /dev/null)
+
# product-id of first lora card
lora_id=$(mts-io-sysfs show lora/product-id 2> /dev/null)
lora_eui=$(mts-io-sysfs show lora/eui 2> /dev/null)
@@ -69,8 +77,22 @@ read_lora_hw_info() {
fi
}
+setup_mtcdt3() {
+ dual_cards_installed=true
+ ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd
+ ln -sf /opt/lora/lora_pkt_fwd $pkt_fwd_2
+
+ lora_eui=$(mts-io-sysfs show lora/eui)
+ lora_2_eui=$(mts-io-sysfs show lora-2/eui)
+
+ lora_2_hw=$lora_hw
+ lora_2_id=$lora_id
+}
+
hardware_found() {
- if [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
+ if [[ "$hw_id" =~ "$mtcdt3_id" ]]; then
+ setup_mtcdt3
+ elif [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
setup_mtcdt_2_1
elif [[ "$lora_id" =~ "$lora_mtac_id" ]]; then
setup_mtcdt
@@ -181,16 +203,30 @@ do_start() {
if hardware_found; then
echo "Found $lora_id with $lora_hw hardware"
- mts-io-sysfs store lora/reset 0
- if [ "$dual_cards_installed" == true ]; then
- mts-io-sysfs store lora-2/reset 0
- fi
- sleep 0.25
- mts-io-sysfs store lora/reset 1
- if [ "$dual_cards_installed" == true ]; then
- mts-io-sysfs store lora-2/reset 1
+
+ if [[ "$hw_id" =~ "$mtcdt3_id" ]]; then
+ mts-io-sysfs store lora/reset 0
+ mts-io-sysfs store lora-2/reset 0
+ sleep 0.25
+ mts-io-sysfs store lora/reset 1
+ mts-io-sysfs store lora-2/reset 1
+ sleep 0.25
+ elif [[ "$lora_id" =~ "$lora_mtac_g_id" ]]; then
+ echo Resetting 2.1 LoRa
+ /usr/sbin/mts-util-lora2-reset -g -f >/dev/null 2>&1
+ sleep 0.25
+ else
+ mts-io-sysfs store lora/reset 0
+ if [ "$dual_cards_installed" == true ]; then
+ mts-io-sysfs store lora-2/reset 0
+ fi
+ sleep 0.25
+ mts-io-sysfs store lora/reset 1
+ if [ "$dual_cards_installed" == true ]; then
+ mts-io-sysfs store lora-2/reset 1
+ fi
+ sleep 0.25
fi
- sleep 0.25
else
echo "$0: Lora hardware not detected"
# Use MAC Address for lora eui
@@ -208,28 +244,33 @@ do_start() {
echo -n "Starting $NAME: "
# start network server
start-stop-daemon --start --background --make-pidfile \
- --pidfile $net_server_pidfile --startas /bin/bash -- -c "exec $angel $net_server \
+ --pidfile $net_server_pidfile --startas /bin/bash -- -c "exec $net_server \
-c $conf_file --lora-eui $lora_eui --lora-hw-1 $lora_hw --lora-prod-1 $lora_id $lora_2_args \
--lora-path $run_dir \
--noconsole 2>&1"
if [ "$no_lora_hw" != "true" ]; then
# start packet forwarder
- sleep 4
+ if [[ "$hw_id" =~ "$mtcdt3_id" ]]; then
+ sleep 0.5
+ else
+ sleep 4
+ fi
/usr/sbin/start-stop-daemon --chdir $run_dir/1 --start --background --make-pidfile \
--pidfile $pkt_fwd_pidfile --startas /bin/bash \
- -- -c "exec $angel $pkt_fwd $pkt_fwd_options 2>&1"
+ -- -c "exec $pkt_fwd $pkt_fwd_options 2>&1"
if [ "$dual_cards_installed" == "true" ]; then
/usr/sbin/start-stop-daemon --chdir $run_dir/2 --start --background --make-pidfile \
--pidfile $pkt_fwd_2_pidfile --startas /bin/bash \
- -- -c "exec $angel $pkt_fwd_2 $pkt_fwd_options 2>&1"
+ -- -c "exec $pkt_fwd_2 $pkt_fwd_options -l $pkt_fwd_2_log"
fi
fi
- renice -n -20 -p $(pgrep lora-network-se)
- renice -n -20 -p $(pgrep $(basename $pkt_fwd))
-
+ if [[ ! "$hw_id" =~ "$mtcdt3_id" ]]; then
+ renice -n -20 -p $(pgrep lora-network-se)
+ renice -n -20 -p $(pgrep $(basename $pkt_fwd))
+ fi
echo "OK"
}
@@ -239,6 +280,7 @@ do_stop() {
echo -n "Stopping $NAME: "
start-stop-daemon --stop --quiet --oknodo --pidfile $net_server_pidfile --retry TERM/60/KILL/5
start-stop-daemon --stop --quiet --oknodo --pidfile $pkt_fwd_pidfile --retry 5
+ start-stop-daemon --stop --quiet --oknodo --pidfile $pkt_fwd_2_pidfile --retry 5
rm -f $net_server_pidfile $pkt_fwd_pidfile
echo "OK"
}
@@ -249,12 +291,12 @@ if [ "$ENABLED" != "yes" ]; then
exit
fi
-force_stop() {
- do_stop
- rm -fr $LOCK
-}
-
-function try_lock() {
+force_stop() {
+ do_stop
+ rm -fr $LOCK
+}
+
+function try_lock() {
if mkdir $LOCK; then
trap "rm -fr $LOCK" EXIT
else