Skip to content

Commit 3c1b07d

Browse files
committed
Implement script for creating cpkg files for Cisco gateways.
1 parent 720b015 commit 3c1b07d

File tree

16 files changed

+425
-0
lines changed

16 files changed

+425
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818

1919
# build folders
2020
/packaging/vendor/*/*/package
21+
/packaging/vendor/*/*/temp
22+
/packaging/vendor/*/*/*.tar.gz
23+
/packaging/vendor/*/*/key
2124

2225
# dependencies
2326
/vendor
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
manifest.version=1.0
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.3
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/sh
2+
3+
start() {
4+
echo "Starting lora-gateway-bridge"
5+
start-stop-daemon \
6+
--start \
7+
--background \
8+
--make-pidfile \
9+
--pidfile /var/run/lora-gateway-bridge.pid \
10+
--exec /tmp/mdm/pktfwd/firmware/opt/lora-gateway-bridge/lora-gateway-bridge -- -c /etc/lora-gateway-bridge/lora-gateway-bridge.toml
11+
}
12+
13+
stop() {
14+
echo "Stopping lora-gateway-bridge"
15+
start-stop-daemon \
16+
--stop \
17+
--oknodo \
18+
--quiet \
19+
--pidfile /var/run/lora-gateway-bridge.pid
20+
}
21+
22+
restart() {
23+
stop
24+
sleep 1
25+
start
26+
}
27+
28+
case "$1" in
29+
start)
30+
start
31+
;;
32+
stop)
33+
stop
34+
;;
35+
restart|reload)
36+
restart
37+
;;
38+
*)
39+
echo "Usage: $0 {start|stop|restart}"
40+
exit 1
41+
esac
42+
43+
exit $?
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/sh
2+
3+
start() {
4+
echo "Starting lora-packet-forwarder"
5+
start-stop-daemon \
6+
--start \
7+
--background \
8+
--make-pidfile \
9+
--pidfile /var/run/lora-packet-forwarder.pid \
10+
--exec /tools/pkt_forwarder -- -c /etc/lora-packet-forwarder/config.json -g /dev/ttyS1
11+
}
12+
13+
stop() {
14+
echo "Stopping lora-packet-forwarder"
15+
start-stop-daemon \
16+
--stop \
17+
--oknodo \
18+
--quiet \
19+
--pidfile /var/run/lora-packet-forwarder.pid
20+
}
21+
22+
restart() {
23+
stop
24+
sleep 1
25+
start
26+
}
27+
28+
case "$1" in
29+
start)
30+
start
31+
;;
32+
stop)
33+
stop
34+
;;
35+
restart|reload)
36+
restart
37+
;;
38+
*)
39+
echo "Usage: $0 {start|stop|restart}"
40+
exit 1
41+
esac
42+
43+
exit $?
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# This configuration provides a Semtech UDP packet-forwarder backend and
2+
# integrates with a MQTT broker. Many options and defaults have been omitted
3+
# for simplicity.
4+
#
5+
# See https://www.loraserver.io/lora-gateway-bridge/install/config/ for a full
6+
# configuration example and documentation.
7+
8+
9+
# Gateway backend configuration.
10+
[backend]
11+
# Backend type.
12+
type="semtech_udp"
13+
14+
# Semtech UDP packet-forwarder backend.
15+
[backend.semtech_udp]
16+
17+
# ip:port to bind the UDP listener to
18+
#
19+
# Example: 0.0.0.0:1700 to listen on port 1700 for all network interfaces.
20+
# This is the listeren to which the packet-forwarder forwards its data
21+
# so make sure the 'serv_port_up' and 'serv_port_down' from your
22+
# packet-forwarder matches this port.
23+
udp_bind = "0.0.0.0:1700"
24+
25+
26+
# Integration configuration.
27+
[integration]
28+
# Payload marshaler.
29+
#
30+
# This defines how the MQTT payloads are encoded. Valid options are:
31+
# * protobuf: Protobuf encoding (this will become the LoRa Gateway Bridge v3 default)
32+
# * json: JSON encoding (easier for debugging, but less compact than 'protobuf')
33+
marshaler="protobuf"
34+
35+
# MQTT integration configuration.
36+
[integration.mqtt]
37+
# Event topic template.
38+
event_topic_template="gateway/{{ .GatewayID }}/event/{{ .EventType }}"
39+
40+
# Command topic template.
41+
command_topic_template="gateway/{{ .GatewayID }}/command/#"
42+
43+
# MQTT authentication.
44+
[integration.mqtt.auth]
45+
# Type defines the MQTT authentication type to use.
46+
#
47+
# Set this to the name of one of the sections below.
48+
type="generic"
49+
50+
# Generic MQTT authentication.
51+
[integration.mqtt.auth.generic]
52+
# MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
53+
server="tcp://127.0.0.1:1883"
54+
55+
# Connect with the given username (optional)
56+
username=""
57+
58+
# Connect with the given password (optional)
59+
password=""
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
{
2+
"SX1301_array_conf":[
3+
{
4+
"board_type": "MASTER",
5+
"board_rx_freq": 866500000, /* radio RX central frequency in Hz */
6+
"board_rx_bw": 7000000, /* radio RX bandwidth in Hz */
7+
"full_duplex": false, /* radio mode */
8+
"rf_chain_conf":[
9+
{
10+
/* RX */
11+
"rx_enable": true,
12+
"rssi_offset": -202.5,
13+
"rssi_offset_coeff_a": 20,
14+
"rssi_offset_coeff_b": 2925,
15+
/* TX */
16+
"tx_enable": true,
17+
"tx_freq_min": 863000000,
18+
"tx_freq_max": 870000000,
19+
"tx_lut":[
20+
{ "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
21+
{ "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
22+
{ "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
23+
{ "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
24+
{ "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
25+
{ "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
26+
{ "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
27+
{ "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
28+
{ "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
29+
{ "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
30+
{ "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
31+
{ "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
32+
{ "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
33+
{ "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
34+
{ "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
35+
{ "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
36+
},{
37+
/* RX */
38+
"rx_enable": true,
39+
"rssi_offset": -202.5,
40+
"rssi_offset_coeff_a": 20,
41+
"rssi_offset_coeff_b": 2925,
42+
/* TX */
43+
"tx_enable": true,
44+
"tx_freq_min": 863000000,
45+
"tx_freq_max": 870000000,
46+
"tx_lut":[
47+
{ "rf_power": 2, "fpga_dig_gain": 4, "ad9361_atten": 125, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
48+
{ "rf_power": 5, "fpga_dig_gain": 4, "ad9361_atten": 112, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
49+
{ "rf_power": 7, "fpga_dig_gain": 4, "ad9361_atten": 105, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -19, "ad9361_tcomp_coeff_b": 752 },
50+
{ "rf_power": 9, "fpga_dig_gain": 4, "ad9361_atten": 98, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -18, "ad9361_tcomp_coeff_b": 573 },
51+
{ "rf_power": 11, "fpga_dig_gain": 4, "ad9361_atten": 90, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -17, "ad9361_tcomp_coeff_b": 477 },
52+
{ "rf_power": 12, "fpga_dig_gain": 4, "ad9361_atten": 86, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 264 },
53+
{ "rf_power": 13, "fpga_dig_gain": 4, "ad9361_atten": 83, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -16, "ad9361_tcomp_coeff_b": 179 },
54+
{ "rf_power": 14, "fpga_dig_gain": 4, "ad9361_atten": 77, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -15, "ad9361_tcomp_coeff_b": 0 },
55+
{ "rf_power": 16, "fpga_dig_gain": 4, "ad9361_atten": 68, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -14, "ad9361_tcomp_coeff_b": -141 },
56+
{ "rf_power": 18, "fpga_dig_gain": 4, "ad9361_atten": 59, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -550 },
57+
{ "rf_power": 20, "fpga_dig_gain": 4, "ad9361_atten": 51, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -13, "ad9361_tcomp_coeff_b": -718 },
58+
{ "rf_power": 22, "fpga_dig_gain": 4, "ad9361_atten": 44, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1195 },
59+
{ "rf_power": 24, "fpga_dig_gain": 4, "ad9361_atten": 34, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -11, "ad9361_tcomp_coeff_b": -1268 },
60+
{ "rf_power": 25, "fpga_dig_gain": 4, "ad9361_atten": 30, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1662 },
61+
{ "rf_power": 26, "fpga_dig_gain": 4, "ad9361_atten": 24, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -9, "ad9361_tcomp_coeff_b": -1865 },
62+
{ "rf_power": 27, "fpga_dig_gain": 4, "ad9361_atten": 20, "ad9361_auxdac_vref": 3, "ad9361_auxdac_word": 770, "ad9361_tcomp_coeff_a": -7, "ad9361_tcomp_coeff_b": -2102 }]
63+
}],
64+
"SX1301_conf":[
65+
{
66+
"chip_enable": true,
67+
"chip_center_freq": 868000000,
68+
"chip_rf_chain": 0,
69+
"chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
70+
"chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
71+
"chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
72+
"chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
73+
"chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
74+
"chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
75+
"chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
76+
"chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
77+
"chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
78+
"chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
79+
},{
80+
"chip_enable": true,
81+
"chip_center_freq": 868000000,
82+
"chip_rf_chain": 1,
83+
"chan_multiSF_0": { "chan_rx_freq": 867100000, "spread_factor": "7-12" },
84+
"chan_multiSF_1": { "chan_rx_freq": 867300000, "spread_factor": "7-12" },
85+
"chan_multiSF_2": { "chan_rx_freq": 867500000, "spread_factor": "7-12" },
86+
"chan_multiSF_3": { "chan_rx_freq": 867700000, "spread_factor": "7-12" },
87+
"chan_multiSF_4": { "chan_rx_freq": 867900000, "spread_factor": "7-12" },
88+
"chan_multiSF_5": { "chan_rx_freq": 868100000, "spread_factor": "7-12" },
89+
"chan_multiSF_6": { "chan_rx_freq": 868300000, "spread_factor": "7-12" },
90+
"chan_multiSF_7": { "chan_rx_freq": 868500000, "spread_factor": "7-12" },
91+
"chan_LoRa_std" : { "chan_rx_freq": 868300000, "bandwidth": 250000, "spread_factor": 7 },
92+
"chan_FSK" : { "chan_rx_freq": 868800000, "bandwidth": 125000, "bit_rate": 50000 }
93+
}],
94+
"lbt_conf":{
95+
"enable": false,
96+
"rssi_target": -80, /* dBm */
97+
"rssi_shift": 142,
98+
"chan_cfg":[ /* 16 channels maximum */
99+
{ "freq_hz": 867100000, "scan_time_us": 128, "transmit_time_ms": 400 },
100+
{ "freq_hz": 867300000, "scan_time_us": 128, "transmit_time_ms": 400 },
101+
{ "freq_hz": 867500000, "scan_time_us": 128, "transmit_time_ms": 400 },
102+
{ "freq_hz": 867700000, "scan_time_us": 128, "transmit_time_ms": 400 },
103+
{ "freq_hz": 867900000, "scan_time_us": 128, "transmit_time_ms": 400 },
104+
{ "freq_hz": 868100000, "scan_time_us": 128, "transmit_time_ms": 400 },
105+
{ "freq_hz": 868300000, "scan_time_us": 128, "transmit_time_ms": 400 },
106+
{ "freq_hz": 868500000, "scan_time_us": 128, "transmit_time_ms": 400 },
107+
{ "freq_hz": 869525000, "scan_time_us": 5000, "transmit_time_ms": 4000 }
108+
]
109+
},
110+
"FSK_sync": "C194C1",
111+
"loramac_public": true,
112+
"nb_dsp": 1,
113+
"dsp_stat_interval": 10,
114+
"aes_key": "ABCDEF0123456789ABCDEF0123456789",
115+
"calibration_temperature_celsius_room": 22,
116+
"calibration_temperature_code_ad9361": 77,
117+
"fts_version": 1,
118+
"fts_match_crc_error": false
119+
}],
120+
"gateway_conf": {
121+
"gateway_ID": "00AEAEFFFE000000",
122+
/* change with default server address/ports */
123+
"server_address": "localhost",
124+
"serv_port_up": 1700,
125+
"serv_port_down": 1700,
126+
/* adjust the following parameters for your network */
127+
"keepalive_interval": 10,
128+
"stat_interval": 30,
129+
"push_timeout_ms": 100,
130+
/* forward only valid packets */
131+
"forward_crc_valid": true,
132+
"forward_crc_error": false,
133+
"forward_crc_disabled": false,
134+
/* link testing mote */
135+
"link_mote": "00CC01AF",
136+
/* Beaconing parameters */
137+
"beacon_conf":{
138+
"period": 128,
139+
"freq_hz": 869525000,
140+
"datarate": 9,
141+
"bw_hz": 125000,
142+
"power": 14,
143+
"infodesc": 0
144+
}
145+
},
146+
"gps_conf": {
147+
"gw_latitude": 0,
148+
"gw_longitude": 0,
149+
"gw_altitude": 0,
150+
"fixed_altitude": false
151+
}
152+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
3+
echo "Running post-install script"
4+
5+
if [ ! -L /etc/init.d/lora-packet-forwarder ]; then
6+
echo "Install lora-packet-forwarder init script"
7+
ln -s /tmp/mdm/pktfwd/firmware/etc/init.d/lora-packet-forwarder /etc/init.d/lora-packet-forwarder
8+
fi
9+
10+
if [ ! -L /etc/init.d/lora-gateway-bridge ]; then
11+
echo "Install lora-gateway-bridge init script"
12+
ln -s /tmp/mdm/pktfwd/firmware/etc/init.d/lora-gateway-bridge /etc/init.d/lora-gateway-bridge
13+
fi
14+
15+
if [ ! -d /etc/lora-gateway-bridge ]; then
16+
mkdir /etc/lora-gateway-bridge
17+
fi
18+
19+
if [ ! -d /etc/lora-packet-forwarder ]; then
20+
mkdir /etc/lora-packet-forwarder
21+
fi
22+
23+
if [ ! -f /etc/lora-packet-forwarder/config.json ]; then
24+
cp /tmp/mdm/pktfwd/firmware/etc/lora-packet-forwarder/config.json /etc/lora-packet-forwarder/config.json
25+
26+
GWID_MIDFIX="FFFE"
27+
GWID_BEGIN=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $1$2$3}')
28+
GWID_END=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
29+
sed -i 's/\(^\s*"gateway_ID":\s*"\).\{16\}"\s*\(,\?\).*$/\1'${GWID_BEGIN}${GWID_MIDFIX}${GWID_END}'"\2/' /etc/lora-packet-forwarder/config.json
30+
fi
31+
32+
if [ ! -f /etc/lora-gateway-bridge/lora-gateway-bridge.toml ]; then
33+
cp /tmp/mdm/pktfwd/firmware/etc/lora-gateway-bridge/lora-gateway-bridge.toml /etc/lora-gateway-bridge/lora-gateway-bridge.toml
34+
fi
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
# remove symlinks
4+
rm /etc/init.d/lora-packet-forwarder
5+
rm /etc/init.d/lora-gateway-bridge
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
echo "Running pre-uninstall script"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
/etc/init.d/lora-packet-forwarder restart
6+
/etc/init.d/lora-gateway-bridge restart
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
/etc/init.d/lora-packet-forwarder start
6+
/etc/init.d/lora-gateway-bridge start
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
echo "Running status script"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
/etc/init.d/lora-packet-forwarder stop
6+
/etc/init.d/lora-gateway-bridge stop
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
/tmp/mdm/pktfwd/firmware/opt/lora-gateway-bridge/lora-gateway-bridge version

0 commit comments

Comments
 (0)