fix get pat data

This commit is contained in:
Ing 2024-03-11 05:20:23 +08:00
parent 5df48246d0
commit 2638ea3e5a

View File

@ -233,33 +233,42 @@ function productversMenu() {
[ $? -ne 0 ] && return
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return
else
if ! arrayExistItem "${1}" ${ITEMS}; then return; fi
resp="${1}"
fi
if [ "${PRODUCTVER}" = "${resp}" ]; then
DIALOG --title "$(TEXT "Product Version")" \
--yesno "$(printf "$(TEXT "The current version has been set to %s. Do you want to reset the version?")" "${PRODUCTVER}")" 0 0
[ $? -ne 0 ] && return
fi
else
if ! arrayExistItem "${1}" ${ITEMS}; then return; fi
resp="${1}"
fi
local KVER=$(readModelKey "${MODEL}" "productvers.[${resp}].kver")
if [ -d "/sys/firmware/efi" -a "${KVER:0:1}" = "3" ]; then
if [ -z "${1}" ]; then
DIALOG --title "$(TEXT "Product Version")" \
--msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0
fi
return
fi
# if [ ! "usb" = "$(getBus "${LOADER_DISK}")" -a "${KVER:0:1}" = "5" ]; then
# if [ -z "${1}" ]; then
# DIALOG --title "$(TEXT "Product Version")" \
# --msgbox "$(TEXT "This version only support usb startup, Please select another version or switch the startup mode.")" 0 0
# # return
# fi
# return
# fi
if [ -z "${2}" -a -z "${3}" ]; then
while true; do
# get online pat data
DIALOG --title "$(TEXT "Product Version")" \
--infobox "$(TEXT "Get pat data ...")" 0 0
idx=0
idx=1
NETERR=0
while [ ${idx} -le 3 ]; do # Loop 3 times, if successful, break
DIALOG --title "$(TEXT "Product Version")" \
--infobox "$(TEXT "Get pat data ...") (${idx}/3)" 0 0
idx=$((${idx} + 1))
NETERR=0
fastest=$(_get_fastest "www.synology.com" "www.synology.cn")
if [ $? -ne 0 ]; then
NETERR=1
@ -277,7 +286,6 @@ function productversMenu() {
break
fi
fi
idx=$((${idx} + 1))
done
if [ -z "${paturl}" -o -z "${patsum}" ]; then
if [ ${NETERR} -ne 0 ]; then
@ -303,6 +311,10 @@ function productversMenu() {
done
paturl="$(cat "${TMP_PATH}/resp" | sed -n '1p')"
patsum="$(cat "${TMP_PATH}/resp" | sed -n '2p')"
else
paturl="${2}"
patsum="${3}"
fi
[ -z "${paturl}" -o -z "${patsum}" ] && return
writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}"
writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}"
@ -312,8 +324,10 @@ function productversMenu() {
SMALLNUM=""
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
if [ -z "${1}" ]; then
DIALOG --title "$(TEXT "Product Version")" \
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")" 0 0
fi
# Delete synoinfo and reload model/build synoinfo
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
while IFS=': ' read KEY VALUE; do
@ -2904,6 +2918,10 @@ if [ "${1}" = "update" ]; then
updateMenu "${EXT}"
exit 0
fi
if [ "${1}" = "make" -a -n "${MODEL}" -a -n "${PRODUCTVER}" -a loaderIsConfigured ]; then
make
exit
fi
if [ "${1}" = "boot" -a -n "${MODEL}" -a -n "${PRODUCTVER}" -a loaderIsConfigured ]; then
make
boot && exit 0 || sleep 5