Browse Source

Update script to v3.6.114

v3.6.114
- Added syno_hdd_shutdown.sh to the auto update code.
- Now if script is located on an NVMe volume it warns you and exits. Previously it just warned you and continued.
- Bug fix for DSM 7.3 not disabling compatible drive database auto update.
pull/539/head
Dave Russell 5 days ago
committed by GitHub
parent
commit
71a5d91383
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 87
      syno_hdd_db.sh

87
syno_hdd_db.sh

@ -29,7 +29,7 @@
# /var/packages/StorageManager/target/ui/storage_panel.js # /var/packages/StorageManager/target/ui/storage_panel.js
scriptver="v3.6.113" scriptver="v3.6.114"
script=Synology_HDD_db script=Synology_HDD_db
repo="007revad/Synology_HDD_db" repo="007revad/Synology_HDD_db"
scriptname=syno_hdd_db scriptname=syno_hdd_db
@ -257,6 +257,11 @@ if [[ $dsm -gt "6" ]]; then
version="_v$dsm" version="_v$dsm"
fi fi
# Get DSM major and minor version
major=$(/usr/syno/bin/synogetkeyvalue /etc.defaults/VERSION majorversion)
minor=$(/usr/syno/bin/synogetkeyvalue /etc.defaults/VERSION minorversion)
dsmversion="$major$minor"
# Get Synology model # Get Synology model
model=$(cat /proc/sys/kernel/syno_hw_version) model=$(cat /proc/sys/kernel/syno_hw_version)
modelname="$model" modelname="$model"
@ -301,7 +306,25 @@ fi
# Get StorageManager version # Get StorageManager version
storagemgrver=$(/usr/syno/bin/synopkg version StorageManager) storagemgrver=$(/usr/syno/bin/synopkg version StorageManager)
# Show StorageManager version # Show StorageManager version
if [[ $storagemgrver ]]; then echo -e "StorageManager $storagemgrver\n"; fi if [[ $storagemgrver ]]; then echo -e "StorageManager $storagemgrver"; fi
# Get SynoOnlinePack version
if [[ $dsmversion -gt "72" ]]; then
# Is DSM 7.3 or later
if [[ -f /var/packages/SynoOnlinePack_v3/INFO ]]; then
SOPinfo="/var/packages/SynoOnlinePack_v3/INFO"
v2="_v3"
elif [[ -f /var/packages/SynoOnlinePack_v2/INFO ]]; then
SOPinfo="/var/packages/SynoOnlinePack_v2/INFO"
v2="_v2"
else
SOPinfo="/var/packages/SynoOnlinePack/INFO"
fi
SOPpkgver="$(/usr/syno/bin/synogetkeyvalue $SOPinfo version)"
echo -e "SynoOnlinePack$v2 version $SOPpkgver\n"
else
echo ""
fi
# Show host drive db version # Show host drive db version
if [[ -f "/var/lib/disk-compatibility/${model}_host_v7.version" ]]; then if [[ -f "/var/lib/disk-compatibility/${model}_host_v7.version" ]]; then
@ -410,7 +433,9 @@ get_script_vol() {
get_script_vol # sets $vol_name to /dev/whatever get_script_vol # sets $vol_name to /dev/whatever
if grep -qE "^${vol_name#/dev/} .+ nvme" /proc/mdstat if grep -qE "^${vol_name#/dev/} .+ nvme" /proc/mdstat
then then
ding
echo -e "\n${Yellow}WARNING${Off} Don't store this script on an NVMe volume!" echo -e "\n${Yellow}WARNING${Off} Don't store this script on an NVMe volume!"
exit 3
fi fi
@ -502,6 +527,15 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" |
syslog_set warn "$script failed to copy $tag to script location" syslog_set warn "$script failed to copy $tag to script location"
fi fi
# Copy new script companion sh file to script location
if ! cp -p "/tmp/$script-$shorttag/syno_hdd_shutdown.sh" "${scriptpath}/syno_hdd_shutdown.sh";
then
copyerr=1
echo -e "${Error}ERROR${Off} Failed to copy"\
"$script-$shorttag sh file(s) to:\n $scriptpath/syno_hdd_shutdown.sh"
syslog_set warn "$script failed to copy syno_hdd_shutdown.sh to script location"
fi
# Copy new syno_hdd_vendor_ids.txt file # Copy new syno_hdd_vendor_ids.txt file
vidstxt="syno_hdd_vendor_ids.txt" vidstxt="syno_hdd_vendor_ids.txt"
if [[ $scriptpath =~ /volume* ]]; then if [[ $scriptpath =~ /volume* ]]; then
@ -2278,6 +2312,8 @@ if ls /dev | grep -q "nv[cm]"; then
fi fi
# Prevent drive db updates
if [[ $dsmversion -lt "73" ]]; then
# Edit synoinfo.conf to prevent drive db updates # Edit synoinfo.conf to prevent drive db updates
dtu=drive_db_test_url dtu=drive_db_test_url
url="$(/usr/syno/bin/synogetkeyvalue $synoinfo ${dtu})" url="$(/usr/syno/bin/synogetkeyvalue $synoinfo ${dtu})"
@ -2334,6 +2370,53 @@ else
echo -e "\nDrive db auto updates already enabled." echo -e "\nDrive db auto updates already enabled."
fi fi
fi fi
else
# Is DSM 7.3 or later
if [[ -f /var/packages/SynoOnlinePack_v3/INFO ]]; then
SOPinfo="/var/packages/SynoOnlinePack_v3/INFO"
elif [[ -f /var/packages/SynoOnlinePack_v2/INFO ]]; then
SOPinfo="/var/packages/SynoOnlinePack_v2/INFO"
else
SOPinfo="/var/packages/SynoOnlinePack/INFO"
fi
SOPpkgver="$(/usr/syno/bin/synogetkeyvalue $SOPinfo version)"
if [[ $nodbupdate == "yes" ]]; then
if [[ ${SOPpkgver:0:4} != "9999" ]]; then
# Prepend version with 9999
/usr/syno/bin/synosetkeyvalue "$SOPinfo" version "9999$SOPpkgver"
disabled="yes"
fi
# Check if we disabled drive db auto updates
SOPpkgver2="$(/usr/syno/bin/synogetkeyvalue $SOPinfo version)"
if [[ $disabled == "yes" ]]; then
if [[ $SOPpkgver2 -gt "$SOPpkgver" ]]; then
echo -e "\nDisabled drive db auto updates."
else
echo -e "\n${Error}ERROR${Off} Failed to disable drive db auto updates!"
fi
else
echo -e "\nDrive db auto updates already disabled."
fi
else
# Re-enable drive db updates
if [[ ${SOPpkgver:0:4} == "9999" ]]; then
# Remove 9999 from version
/usr/syno/bin/synosetkeyvalue "$SOPinfo" version "${SOPpkgver:4}"
# Check if we re-enabled drive db auto updates
SOPpkgver2="$(/usr/syno/bin/synogetkeyvalue $SOPinfo version)"
if [[ ${SOPpkgver2:0:4} != "9999" ]]; then
echo -e "\nRe-enabled drive db auto updates."
else
echo -e "\n${Error}ERROR${Off} Failed to enable drive db auto updates!"
fi
else
echo -e "\nDrive db auto updates already enabled."
fi
fi
fi
# Optionally disable "support_wdda" # Optionally disable "support_wdda"

Loading…
Cancel
Save