|
20 | 20 | [ "$1" = 'debug' ] && shift && set -x
|
21 | 21 |
|
22 | 22 | # START ###############################################################################################################
|
23 |
| -script_version='3.40' |
| 23 | +script_version='3.41' |
24 | 24 | script_ver_date='Apr 15 2023'
|
25 | 25 | current_core_config='3.0' # version of core(update) config (F_default_update_create)
|
26 | 26 | current_user_config='3.1' # version of user config (F_default_create)
|
@@ -165,35 +165,43 @@ F_user_settings() {
|
165 | 165 |
|
166 | 166 | # firmware check ######################################################################################################
|
167 | 167 | F_firmware_check() {
|
168 |
| - if [ "$build_no" = '374' ] ; then john_sub=${build_extend:0:2} ; fi |
| 168 | + F_fw_valid() { |
| 169 | + if [ "$build_no" = '384' ] && [ "$build_sub" -lt 15 ] ; then |
| 170 | + return 1 |
| 171 | + elif [ "$build_no" = '374' ] && [ "$john_sub" -lt 48 ] ; then |
| 172 | + return 1 |
| 173 | + fi |
| 174 | + } |
169 | 175 |
|
170 |
| - if [ "$build_no" != '386' ] || [ "$build_no" = '384' ] && [ "$build_sub" -lt 15 ] || [ "$build_no" = '374' ] && [ "$john_sub" -lt 48 ] ; then |
171 |
| - F_terminal_header |
172 |
| - F_terminal_check_fail "Sorry this version of firmware is not compatible, please update to 384.15 or newer, or 374 LTS release 48 or newer to utilize this script" |
173 |
| - F_terminal_padding |
174 |
| - rm -d "$script_dir" |
175 |
| - F_clean_exit |
176 |
| - else |
177 |
| - pulled_device_name="$(F_nvram_get lan_hostname)" |
178 |
| - pulled_lan_name="$(F_nvram_get lan_domain)" |
179 |
| - if [ -z "$(F_nvram_get odmpid)" ] ; then device_model="$(F_nvram_get productid)" ; else device_model="$(F_nvram_get odmpid)" ; fi |
| 176 | + [ "$build_no" = '374' ] && john_sub=${build_extend:0:2} |
180 | 177 |
|
181 |
| - F_replace_var fw_pulled_device_name "$pulled_device_name" "$update_src" |
182 |
| - F_replace_var fw_pulled_lan_name "$pulled_lan_name" "$update_src" |
183 |
| - F_replace_var fw_device_model "$device_model" "$update_src" |
184 |
| - F_replace_var fw_build_no "$build_no" "$update_src" |
185 |
| - if [ "$build_no" = '374' ] ; then F_replace_var fw_build_sub "$john_sub" "$update_src" ; else F_replace_var fw_build_sub "$build_sub" "$update_src" ; fi |
186 |
| - F_replace_var fw_build_extend "$build_extend" "$update_src" |
| 178 | + if ! F_fw_valid ; then |
| 179 | + F_terminal_header |
| 180 | + F_terminal_check_fail "Sorry this version of firmware is not compatible, please update to 384.15 or newer, or 374 LTS release 48 or newer to utilize this script" |
| 181 | + F_terminal_padding |
| 182 | + rm -d "$script_dir" |
| 183 | + F_clean_exit |
| 184 | + fi |
187 | 185 |
|
188 |
| - source "$update_src" |
| 186 | + pulled_device_name="$(F_nvram_get lan_hostname)" |
| 187 | + pulled_lan_name="$(F_nvram_get lan_domain)" |
| 188 | + if [ -z "$(F_nvram_get odmpid)" ] ; then device_model="$(F_nvram_get productid)" ; else device_model="$(F_nvram_get odmpid)" ; fi |
189 | 189 |
|
190 |
| - if [ "$1" = 'fwupdate' ] ; then |
191 |
| - F_terminal_header ; F_terminal_padding |
192 |
| - F_log_show "core config v${update_settings_version} updated for new router firmware version" |
193 |
| - sleep 3 |
194 |
| - else |
195 |
| - F_log "core config v${update_settings_version} updated with router config" |
196 |
| - fi |
| 190 | + F_replace_var fw_pulled_device_name "$pulled_device_name" "$update_src" |
| 191 | + F_replace_var fw_pulled_lan_name "$pulled_lan_name" "$update_src" |
| 192 | + F_replace_var fw_device_model "$device_model" "$update_src" |
| 193 | + F_replace_var fw_build_no "$build_no" "$update_src" |
| 194 | + if [ "$build_no" = '374' ] ; then F_replace_var fw_build_sub "$john_sub" "$update_src" ; else F_replace_var fw_build_sub "$build_sub" "$update_src" ; fi |
| 195 | + F_replace_var fw_build_extend "$build_extend" "$update_src" |
| 196 | + |
| 197 | + source "$update_src" |
| 198 | + |
| 199 | + if [ "$1" = 'fwupdate' ] ; then |
| 200 | + F_terminal_header ; F_terminal_padding |
| 201 | + F_log_show "core config v${update_settings_version} updated for new router firmware version" |
| 202 | + sleep 3 |
| 203 | + else |
| 204 | + F_log "core config v${update_settings_version} updated with router config" |
197 | 205 | fi
|
198 | 206 | }
|
199 | 207 |
|
@@ -3627,17 +3635,13 @@ F_run_args() {
|
3627 | 3635 | fi
|
3628 | 3636 |
|
3629 | 3637 | # check if user has upgraded firmware and update config saving to config avoids numerous nvram calls every run
|
3630 |
| - if [ "$fw_build_no" = '386' ] || [ "$fw_build_no" = '384' ] ; then |
3631 |
| - if [ "$build_no" -gt "$fw_build_no" ] ; then |
3632 |
| - F_firmware_check fwupdate |
3633 |
| - elif [ "$build_no" = "$fw_build_no" ] && [ "$build_sub" -gt "$fw_build_sub" ] ; then |
3634 |
| - F_firmware_check fwupdate |
3635 |
| - elif [ "$build_no" = "$fw_build_no" ] && [ "$build_sub" = "$fw_build_sub" ] && [ "$build_extend" -gt "$fw_build_extend" ] ; then |
| 3638 | + if [ "$fw_build_no" != '374' ] ; then |
| 3639 | + if [ "$build_no" != "$fw_build_no" ] || [ "$build_sub" != "$fw_build_sub" ] || [ "$build_extend" != "$fw_build_extend" ] ; then |
3636 | 3640 | F_firmware_check fwupdate
|
3637 | 3641 | fi
|
3638 |
| - elif [ "$fw_build_no" = '374' ] ; then |
| 3642 | + else |
3639 | 3643 | johnsub="${build_extend:0:2}"
|
3640 |
| - if [ "$johnsub" -gt "$fw_build_sub" ] ; then |
| 3644 | + if [ "$johnsub" != "$fw_build_sub" ] ; then |
3641 | 3645 | F_firmware_check fwupdate
|
3642 | 3646 | fi
|
3643 | 3647 | fi
|
|
0 commit comments