@@ -78,7 +78,7 @@ do_setup_ic880a() {
7878 do_main_menu
7979 elif [ $RET -eq 0 ]; then
8080 case " $FUN " in
81- 1) do_copy_concentratord_config " sx1301" " imst_ic880a_eu868" " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;
81+ 1) do_copy_concentratord_config " sx1301" " imst_ic880a_eu868" " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;
8282 esac
8383 fi
8484}
@@ -106,7 +106,7 @@ do_setup_imst_lite() {
106106 do_main_menu
107107 elif [ $RET -eq 0 ]; then
108108 case " $FUN " in
109- 1) do_copy_concentratord_config " sx1301" " imst_ic880a_eu868" " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;
109+ 1) do_copy_concentratord_config " sx1301" " imst_ic880a_eu868" " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;
110110 esac
111111 fi
112112}
@@ -121,7 +121,7 @@ do_setup_pislora() {
121121 do_main_menu
122122 elif [ $RET -eq 0 ]; then
123123 case " $FUN " in
124- 1) do_copy_concentratord_config " sx1301" " generic_eu868" " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
124+ 1) do_copy_concentratord_config " sx1301" " generic_eu868" " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
125125 2) do_select_us915_block " sx1301" " generic_us915" ;;
126126 esac
127127 fi
@@ -138,7 +138,7 @@ do_setup_rak831() {
138138 do_main_menu
139139 elif [ $RET -eq 0 ]; then
140140 case " $FUN " in
141- 1) do_copy_concentratord_config " sx1301" " generic_eu868_gps " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
141+ 1) do_copy_concentratord_config " sx1301" " generic_eu868 " " GNSS " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
142142 2) do_select_au915_block " sx1301" " generic_au915_gps" ;;
143143 3) do_select_us915_block " sx1301" " generic_us915_gps" ;;
144144 esac
@@ -155,7 +155,7 @@ do_setup_rhf0m301() {
155155 do_main_menu
156156 elif [ $RET -eq 0 ]; then
157157 case " $FUN " in
158- 1) do_copy_concentratord_config " sx1301" " generic_eu868" " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
158+ 1) do_copy_concentratord_config " sx1301" " generic_eu868" " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
159159 2) do_select_us915_block " sx1301" " generic_us915" ;;
160160 esac
161161 fi
@@ -171,7 +171,7 @@ do_setup_lorago_port() {
171171 do_main_menu
172172 elif [ $RET -eq 0 ]; then
173173 case " $FUN " in
174- 1) do_copy_concentratord_config " sx1301" " generic_eu868_gps " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
174+ 1) do_copy_concentratord_config " sx1301" " generic_eu868 " " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
175175 2) do_select_us915_block " sx1301" " generic_us915_gps" ;;
176176 esac
177177 fi
@@ -187,7 +187,7 @@ do_setup_semtech_corecell() {
187187 do_main_menu
188188 elif [ $RET -eq 0 ]; then
189189 case " $FUN " in
190- 1) do_copy_concentratord_config " sx1302" " generic_sx1250_eu868" " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
190+ 1) do_copy_concentratord_config " sx1302" " generic_sx1250_eu868" " " " eu868" " 0" && do_copy_chirpstack_ns_config " eu868" ;;
191191 2) do_select_us915_block " sx1302" " generic_sx1250_us915" ;;
192192 esac
193193 fi
@@ -196,6 +196,7 @@ do_setup_semtech_corecell() {
196196do_select_us915_block () {
197197 # $1: concentratord version
198198 # $2: model
199+ # $3: model flags
199200 FUN=$( dialog --title " Channel-plan configuration" --menu " Select the US915 channel-block:" 15 60 8 \
200201 1 " Channels 0 - 7 + 64" \
201202 2 " Channels 8 - 15 + 65" \
@@ -211,21 +212,22 @@ do_select_us915_block() {
211212 do_main_menu
212213 elif [ $RET -eq 0 ]; then
213214 case " $FUN " in
214- 1) do_copy_concentratord_config $1 $2 " us915" " 0" && do_copy_chirpstack_ns_config " us915_0" ;;
215- 2) do_copy_concentratord_config $1 $2 " us915" " 1" && do_copy_chirpstack_ns_config " us915_1" ;;
216- 3) do_copy_concentratord_config $1 $2 " us915" " 2" && do_copy_chirpstack_ns_config " us915_2" ;;
217- 4) do_copy_concentratord_config $1 $2 " us915" " 3" && do_copy_chirpstack_ns_config " us915_3" ;;
218- 5) do_copy_concentratord_config $1 $2 " us915" " 4" && do_copy_chirpstack_ns_config " us915_4" ;;
219- 6) do_copy_concentratord_config $1 $2 " us915" " 5" && do_copy_chirpstack_ns_config " us915_5" ;;
220- 7) do_copy_concentratord_config $1 $2 " us915" " 6" && do_copy_chirpstack_ns_config " us915_6" ;;
221- 8) do_copy_concentratord_config $1 $2 " us915" " 7" && do_copy_chirpstack_ns_config " us915_7" ;;
215+ 1) do_copy_concentratord_config $1 $2 $3 " us915" " 0" && do_copy_chirpstack_ns_config " us915_0" ;;
216+ 2) do_copy_concentratord_config $1 $2 $3 " us915" " 1" && do_copy_chirpstack_ns_config " us915_1" ;;
217+ 3) do_copy_concentratord_config $1 $2 $3 " us915" " 2" && do_copy_chirpstack_ns_config " us915_2" ;;
218+ 4) do_copy_concentratord_config $1 $2 $3 " us915" " 3" && do_copy_chirpstack_ns_config " us915_3" ;;
219+ 5) do_copy_concentratord_config $1 $2 $3 " us915" " 4" && do_copy_chirpstack_ns_config " us915_4" ;;
220+ 6) do_copy_concentratord_config $1 $2 $3 " us915" " 5" && do_copy_chirpstack_ns_config " us915_5" ;;
221+ 7) do_copy_concentratord_config $1 $2 $3 " us915" " 6" && do_copy_chirpstack_ns_config " us915_6" ;;
222+ 8) do_copy_concentratord_config $1 $2 $3 " us915" " 7" && do_copy_chirpstack_ns_config " us915_7" ;;
222223 esac
223224 fi
224225}
225226
226227do_select_au915_block () {
227228 # $1: concentratord version
228229 # $2: model
230+ # $3: model flags
229231 FUN=$( dialog --title " Channel-plan configuration" --menu " Select the AU915 channel-block:" 15 60 8 \
230232 1 " Channels 0 - 7 + 64" \
231233 2 " Channels 8 - 15 + 65" \
@@ -241,14 +243,14 @@ do_select_au915_block() {
241243 do_main_menu
242244 elif [ $RET -eq 0 ]; then
243245 case " $FUN " in
244- 1) do_copy_concentratord_config $1 $2 " au915" " 0" && do_copy_chirpstack_ns_config " au915_0" ;;
245- 2) do_copy_concentratord_config $1 $2 " au915" " 1" && do_copy_chirpstack_ns_config " au915_1" ;;
246- 3) do_copy_concentratord_config $1 $2 " au915" " 2" && do_copy_chirpstack_ns_config " au915_2" ;;
247- 4) do_copy_concentratord_config $1 $2 " au915" " 3" && do_copy_chirpstack_ns_config " au915_3" ;;
248- 5) do_copy_concentratord_config $1 $2 " au915" " 4" && do_copy_chirpstack_ns_config " au915_4" ;;
249- 6) do_copy_concentratord_config $1 $2 " au915" " 5" && do_copy_chirpstack_ns_config " au915_5" ;;
250- 7) do_copy_concentratord_config $1 $2 " au915" " 6" && do_copy_chirpstack_ns_config " au915_6" ;;
251- 8) do_copy_concentratord_config $1 $2 " au915" " 7" && do_copy_chirpstack_ns_config " au915_7" ;;
246+ 1) do_copy_concentratord_config $1 $2 $3 " au915" " 0" && do_copy_chirpstack_ns_config " au915_0" ;;
247+ 2) do_copy_concentratord_config $1 $2 $3 " au915" " 1" && do_copy_chirpstack_ns_config " au915_1" ;;
248+ 3) do_copy_concentratord_config $1 $2 $3 " au915" " 2" && do_copy_chirpstack_ns_config " au915_2" ;;
249+ 4) do_copy_concentratord_config $1 $2 $3 " au915" " 3" && do_copy_chirpstack_ns_config " au915_3" ;;
250+ 5) do_copy_concentratord_config $1 $2 $3 " au915" " 4" && do_copy_chirpstack_ns_config " au915_4" ;;
251+ 6) do_copy_concentratord_config $1 $2 $3 " au915" " 5" && do_copy_chirpstack_ns_config " au915_5" ;;
252+ 7) do_copy_concentratord_config $1 $2 $3 " au915" " 6" && do_copy_chirpstack_ns_config " au915_6" ;;
253+ 8) do_copy_concentratord_config $1 $2 $3 " au915" " 7" && do_copy_chirpstack_ns_config " au915_7" ;;
252254 esac
253255 fi
254256}
@@ -282,8 +284,9 @@ do_set_concentratord_power_en_pin() {
282284do_copy_concentratord_config () {
283285 # $1 concentratord version
284286 # $2 model
285- # $3 region
286- # $4 sub-band
287+ # $3 model flags
288+ # $4 region
289+ # $5 sub-band
287290 RET=0
288291 if [ -f " /etc/chirpstack-concentratord/$1 /global.toml" ] || [ -f " /etc/chirpstack-concentratord/$1 /band.toml" ] || [ -f " /etc/chirpstack-concentratord/$1 /channels.toml" ]; then
289292 dialog --yesno " A ChirpStack Concentratord configuration file already exists. Do you want to overwrite it?" 6 60
@@ -292,14 +295,20 @@ do_copy_concentratord_config() {
292295
293296 if [ $RET -eq 0 ]; then
294297 cp /etc/chirpstack-concentratord/$1 /examples/global.toml /etc/chirpstack-concentratord/$1 /global.toml
295- cp /etc/chirpstack-concentratord/$1 /examples/$3 .toml /etc/chirpstack-concentratord/$1 /band.toml
296- cp /etc/chirpstack-concentratord/$1 /examples/$3 _ $4 .toml /etc/chirpstack-concentratord/$1 /channels.toml
298+ cp /etc/chirpstack-concentratord/$1 /examples/$4 .toml /etc/chirpstack-concentratord/$1 /band.toml
299+ cp /etc/chirpstack-concentratord/$1 /examples/$4 _ $5 .toml /etc/chirpstack-concentratord/$1 /channels.toml
297300
298301 RET=$?
299302 if [ $RET -eq 0 ]; then
300303 # set model
301304 sed -i " s/model=.*/model=\" ${2} \" /" /etc/chirpstack-concentratord/$1 /global.toml
302305
306+ # set model flags
307+ IFS=' ' ; read -ra model_flags <<< $3
308+ model_flags_str=" "
309+ for i in " ${model_flags[@]} " ; do model_flags_str=" $model_flags_str \" $i \" ," ; done
310+ sed -i " s/model_flags=.*/model_flags=[$model_flags_str ]/" /etc/chirpstack-concentratord/$1 /global.toml
311+
303312 # set gateway id
304313 GWID_MIDFIX=" fffe"
305314 GWID_BEGIN=$( ip link show eth0 | awk ' /ether/ {print $2}' | awk -F\: ' {print $1$2$3}' )
0 commit comments