Browse Source

v3.6.130

main v3.6.130
007revad 1 week ago
parent
commit
4015c3ce08
  1. 4
      CHANGES.txt
  2. 27
      syno_hdd_db.sh

4
CHANGES.txt

@ -1,3 +1,7 @@
v3.6.130
- Bug fix for Samsung SSDs that have 2.5" in their model name.
- Bug fix for not removing leading spaces in drive model names (introduced in v3.6.123).
v3.6.129
- Bug fix for backing up expansion unit db files (introduced in v3.6.126).

27
syno_hdd_db.sh

@ -29,7 +29,7 @@
# /var/packages/StorageManager/target/ui/storage_panel.js
scriptver="v3.6.129"
scriptver="v3.6.130"
script=Synology_HDD_db
repo="007revad/Synology_HDD_db"
scriptname=syno_hdd_db
@ -1015,13 +1015,13 @@ fixdrivemodel(){
hdmodel=${hdmodel#"FUJISTU "} # Remove "FUJISTU " from start of model name
# Remove any leading spaces
var=$(echo "$var" | sed -e 's/^[[:space:]]*//')
hdmodel=$(echo "$hdmodel" | sed -e 's/^[[:space:]]*//')
elif [[ $1 =~ ^'APPLE HDD '.* ]]; then
# Old drive brands
hdmodel=${hdmodel#"APPLE HDD "} # Remove "APPLE HDD " from start of model name
# Remove any leading spaces
var=$(echo "$var" | sed -e 's/^[[:space:]]*//')
hdmodel=$(echo "$hdmodel" | sed -e 's/^[[:space:]]*//')
fi
}
@ -1605,9 +1605,12 @@ editcount(){
editdb7(){
local hdmodel_sed
hdmodel_sed="${hdmodel//\"/\\\"}" # escape " for sed/JSON
hdmodel_sed="${hdmodel_sed//\//\\/}" # escape / for sed
if [[ $1 == "append" ]]; then # model not in db file
#if sed -i "s/}}}/}},\"$hdmodel\":{$fwstrng$default/" "$2"; then # append
if sed -i "s/}}}/}},\"${hdmodel//\//\\/}\":{$fwstrng$default/" "$2"; then # append
if sed -i "s/}}}/}},\"${hdmodel_sed}\":{$fwstrng$default/" "$2"; then # append
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
echo -e "Added ${Yellow}$hdmodel ($fwrev)${Off} to ${Cyan}$(basename -- "$2")${Off}"
@ -1621,8 +1624,7 @@ editdb7(){
fi
elif [[ $1 == "insert" ]]; then # model and default exists
#if sed -i "s/\"$hdmodel\":{/\"$hdmodel\":{$fwstrng/" "$2"; then # insert firmware
if sed -i "s/\"${hdmodel//\//\\/}\":{/\"${hdmodel//\//\\/}\":{$fwstrng/" "$2"; then # insert firmware
if sed -i "s/\"${hdmodel_sed}\":{/\"${hdmodel_sed}\":{$fwstrng/" "$2"; then # insert firmware
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
echo -e "Updated ${Yellow}$hdmodel ($fwrev)${Off} in ${Cyan}$(basename -- "$2")${Off}"
@ -1636,9 +1638,7 @@ editdb7(){
fi
elif [[ $1 == "empty" ]]; then # db file only contains {}
#if sed -i "s/{}/{\"$hdmodel\":{$fwstrng${default}}/" "$2"; then # empty
#if sed -i "s/{}/{\"${hdmodel//\//\\/}\":{$fwstrng${default}}/" "$2"; then # empty
if sed -i "s/{}/{\"${hdmodel//\//\\/}\":{$fwstrng${default}/" "$2"; then # empty
if sed -i "s/{}/{\"${hdmodel_sed}\":{$fwstrng${default}/" "$2"; then # empty
if jq -e --arg hdmodel "$hdmodel" --arg fwrev "$fwrev" \
'.disk_compatbility_info[$hdmodel] | has($fwrev)' "$2" > /dev/null; then
echo -e "Added ${Yellow}$hdmodel ($fwrev)${Off} to ${Cyan}$(basename -- "$2")${Off}"
@ -1733,6 +1733,10 @@ updatedb(){
fi
elif [[ $dbtype -eq "6" ]]; then
# db type 6 used up to DSM 7.0.1
local hdmodel_sed
hdmodel_sed="${hdmodel//\"/\\\"}" # escape " for sed/JSON
hdmodel_sed="${hdmodel_sed//\//\\/}" # escape / for sed
if grep -q "$hdmodel" "$2"; then
echo -e "${Yellow}$hdmodel${Off} already exists in ${Cyan}$(basename -- "$2")${Off}" >&2
else
@ -1740,7 +1744,8 @@ updatedb(){
# {"model":"WD60EFRX-68MYMN1","firmware":"82.00A82","rec_intvl":[1]},
# Don't need to add firmware version?
#string="{\"model\":\"${hdmodel}\",\"firmware\":\"${fwrev}\",\"rec_intvl\":\[1\]},"
string="{\"model\":\"${hdmodel}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
#string="{\"model\":\"${hdmodel}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
string="{\"model\":\"${hdmodel_sed}\",\"firmware\":\"\",\"rec_intvl\":\[1\]},"
# {"success":1,"list":[
startstring="{\"success\":1,\"list\":\["
# example:

Loading…
Cancel
Save