From 0143ebbfa9fabb6942f9404197106ca2dcb60155 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 30 Jun 2023 21:48:59 +1000 Subject: [PATCH 01/24] Update CHANGES.txt --- CHANGES.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index fed379a..8106a8e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,10 @@ +v3.1.57 +- Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. +- Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. +- Fixed bugs where the calculated amount of installed memory could be incorrect: + - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 + - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 + v3.0.56 - Minor bug fix for checking amount of installed memory. From ada7eff0e0b678805264850a86c897d1402887ad Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Fri, 30 Jun 2023 21:52:12 +1000 Subject: [PATCH 02/24] Update syno_hdd_db.sh v3.1.57 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. - Fixed bugs where the calculated amount of installed memory could be incorrect: - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 --- syno_hdd_db.sh | 166 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 139 insertions(+), 27 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 2a4b545..2fb2cf4 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -26,11 +26,20 @@ # It's also parsed and checked and probably in some cases it could be more critical to patch that one instead. # # Solve issue of --restore option restoring files that were backed up with older DSM version. +# Change how synoinfo.conf is backed up and restored to prevent issue #73 # DONE -# Minor bug fix for checking amount of installed memory. +# Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. +# +# Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. +# +# Fixed bugs where the calculated amount of installed memory could be incorrect: +# - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 +# - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 # # +# Minor bug fix for checking amount of installed memory. +# # Now enables any installed Synology M.2 PCIe cards for models that don't officially support them. # # Added -i, --immutable option to enable immutable snapshots on models older than '20 series running DSM 7.2. @@ -69,7 +78,6 @@ # https://www.youtube.com/watch?v=cLGi8sPLkLY # https://community.synology.com/enu/forum/1/post/159537 # -# # Added --restore info to --help # # Updated restore option to download the latest db files from Synology @@ -188,7 +196,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.0.56" +scriptver="v3.1.57" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -210,6 +218,7 @@ Yellow='\e[0;33m' #Purple='\e[0;35m' Cyan='\e[0;36m' #White='\e[0;37m' +#White='\e[0;37m' Error='\e[41m' Off='\e[0m' @@ -441,7 +450,7 @@ scriptpath=$( cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd ) if ! printf "%s\n%s\n" "$tag" "$scriptver" | - sort --check --version-sort &> /dev/null ; then + sort --check --version-sort >/dev/null ; then echo -e "\n${Cyan}There is a newer version of this script available.${Off}" echo -e "Current version: ${scriptver}\nLatest version: $tag" if [[ -f $scriptpath/$script-$shorttag.tar.gz ]]; then @@ -557,16 +566,18 @@ fi dbpath=/var/lib/disk-compatibility/ synoinfo="/etc.defaults/synoinfo.conf" +adapter_cards="/usr/syno/etc.defaults/adapter_cards.conf" +modeldtb="/etc.defaults/model.dtb" if [[ $restore == "yes" ]]; then dbbakfiles=($(find $dbpath -maxdepth 1 \( -name "*.db.new.bak" -o -name "*.db.bak" \))) echo - if [[ ${#dbbakfiles[@]} -gt "0" ]] || [[ -f ${synoinfo}.bak ]]; then + if [[ ${#dbbakfiles[@]} -gt "0" ]] || [[ -f ${synoinfo}.bak ]] ||\ + [[ -f ${modeldtb}.bak ]] || [[ -f ${adapter_cards}.bak ]] ; then # Restore synoinfo.conf from backup if [[ -f ${synoinfo}.bak ]]; then - #if mv "${synoinfo}.bak" "${synoinfo}"; then if cp -p "${synoinfo}.bak" "${synoinfo}"; then echo -e "Restored $(basename -- "$synoinfo")\n" else @@ -575,10 +586,29 @@ if [[ $restore == "yes" ]]; then fi fi + # Restore adapter_cards.conf from backup + if [[ -f ${adapter_cards}.bak ]]; then + if cp -p "${adapter_cards}.bak" "${adapter_cards}"; then + echo -e "Restored $(basename -- "$adapter_cards")\n" + else + restoreerr=1 + echo -e "${Error}ERROR${Off} Failed to restore adapter_cards.conf!\n" + fi + fi + + # Restore modeldtb from backup + if [[ -f ${modeldtb}.bak ]]; then + if cp -p "${modeldtb}.bak" "${modeldtb}"; then + echo -e "Restored $(basename -- "$modeldtb")\n" + else + restoreerr=1 + echo -e "${Error}ERROR${Off} Failed to restore model.dtb!\n" + fi + fi + # Restore .db files from backups for f in "${!dbbakfiles[@]}"; do replaceme="${dbbakfiles[f]%.bak}" # Remove .bak - #if mv "${dbbakfiles[f]}" "$replaceme"; then if cp -p "${dbbakfiles[f]}" "$replaceme"; then echo "Restored $(basename -- "$replaceme")" else @@ -1121,10 +1151,16 @@ done #------------------------------------------------------------------------------ # Enable unsupported Synology M2 PCIe cards +# DS1821+, DS1621+ and DS1520+ also need edited device tree blob file +# /etc.defaults/model.dtb + enable_card(){ - if [[ -f $1 ]] && [[ -n $2 ]]; then + # $1 is the file + # $2 is the section + # $3 is the card model and mode + if [[ -f $1 ]] && [[ -n $2 ]] && [[ -n $3 ]]; then # Check if section exists - if ! grep '^\['"$2"'\]$' "$1"; then + if ! grep '^\['"$2"'\]$' "$1" >/dev/null; then echo -e "Section [$2] not found in $(basename -- "$1")!" >&2 return fi @@ -1132,38 +1168,115 @@ enable_card(){ val=$(get_section_key_value "$1" "$2" "$modelname") if [[ $val != "yes" ]]; then if set_section_key_value "$1" "$2" "$modelname" yes; then - echo -e "Enabled $1 for $modelname" >&2 + echo -e "Enabled ${Yellow}$3${Off} for ${Cyan}$modelname${Off}" >&2 + else + echo -e "${Error}ERROR 5${Off} Failed to enable $3 for ${modelname}!" >&2 + fi + else + echo -e "${Yellow}$3${Off} already enabled for ${Cyan}$modelname${Off}" >&2 + fi + fi +} + +check_modeldtb(){ + if [[ -f /etc.defaults/model.dtb ]]; then + if ! grep --text "$1" /etc.defaults/model.dtb >/dev/null; then + if [[ $modelname == "DS1821+" ]] ||\ + [[ $modelname == "DS1621+" ]] ||\ + [[ $modelname == "DS1520+" ]]; + then + echo "" >&2 + if [[ -f ./dtb/${modelname}_model.dtb ]]; then + # Edited device tree blob exists with script + blob="./dtb/${modelname}_model.dtb" + else + # Download edited device tree blob model.dtb from github + if cd /var/services/tmp; then + echo -e "Downloading ${modelname}_model.dtb" >&2 + repo=https://github.com/007revad/Synology_HDD_db + url=${repo}/raw/main/dtb/${modelname}_model.dtb + curl -LJO -m 30 --connect-timeout 5 "$url" + echo "" >&2 + else + echo -e "${Error}ERROR ${Off} /var/services/tmp does not exist!" >&2 + fi + + # Check we actually downloaded the file + if [[ -f /var/services/tmp/${modelname}_model.dtb ]]; then + blob="/var/services/tmp/${modelname}_model.dtb" + else + echo -e "${Error}ERROR ${Off} Failed to download ${modelname}_model.dtb!" >&2 + fi + fi + if [[ -f $blob ]]; then + # Backup model.dtb + if ! backupdb "/etc.defaults/model.dtb"; then + echo -e "${Error}ERROR ${Off} Failed to backup /etc.defaults/model.dtb!" >&2 + else + # Move and rename downloaded model.dtb + if mv "$blob" "/etc.defaults/model.dtb"; then + echo -e "Enabled ${Yellow}$1${Off} in ${Cyan}model.dtb${Off}" >&2 + else + echo -e "${Error}ERROR ${Off} Failed to add support for ${1}" >&2 + fi + + # Fix permissions if needed + octal=$(stat -c "%a %n" "/etc.defaults/model.dtb" | cut -d" " -f1) + if [[ ! $octal -eq 644 ]]; then + chmod 644 "/etc.defaults/model.dtb" + fi + fi + else + #echo -e "${Error}ERROR ${Off} Missing file ${modelname}_model.dtb" >&2 + echo -e "${Error}ERROR ${Off} Missing file $blob" >&2 + fi else - echo -e "${Error}ERROR 5${Off} Failed to enable $1 for ${modelname}!" >&2 + echo -e "\n${Cyan}Contact 007revad to get an edited model.dtb file for your model.${Off}" >&2 fi else - echo -e "$1 already enabled for $modelname" >&2 + echo -e "${Yellow}$1${Off} already enabled in ${Cyan}model.dtb${Off}" >&2 fi fi } -for c in "${!m2cards[@]}"; do - echo "" +for c in "${m2cards[@]}"; do + #echo "" m2cardconf="/usr/syno/etc.defaults/adapter_cards.conf" case "$c" in E10M20-T1) - enable_card "$m2cardconf" E10M20-T1_sup_nvme - enable_card "$m2cardconf" E10M20-T1_sup_sata + backupdb "$m2cardconf" + echo "" + enable_card "$m2cardconf" E10M20-T1_sup_nic "E10M20-T1 NIC" + enable_card "$m2cardconf" E10M20-T1_sup_nvme "E10M20-T1 NVMe" + enable_card "$m2cardconf" E10M20-T1_sup_sata "E10M20-T1 SATA" + check_modeldtb "$c" ;; M2D20) - enable_card "$m2cardconf" M2D20_sup_nvme + backupdb "$m2cardconf" + echo "" + enable_card "$m2cardconf" M2D20_sup_nvme "M2D20 NVMe" + check_modeldtb "$c" ;; M2D18) - enable_card "$m2cardconf" M2D18_sup_nvme - enable_card "$m2cardconf" M2D18_sup_sata + backupdb "$m2cardconf" + echo "" + enable_card "$m2cardconf" M2D18_sup_nvme "M2D18 NVMe" + enable_card "$m2cardconf" M2D18_sup_sata "M2D18 SATA" + check_modeldtb "$c" ;; M2D17) - enable_card "$m2cardconf" M2D17_sup_sata + backupdb "$m2cardconf" + echo "" + enable_card "$m2cardconf" M2D17_sup_sata "M2D17 SATA" + ;; + *) + echo "Unknown M2 card type: $c" ;; esac done + #------------------------------------------------------------------------------ # Edit /etc.defaults/synoinfo.conf @@ -1232,23 +1345,25 @@ fi if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo if [[ $ram == "yes" ]]; then # Get total amount of installed memory - IFS=$'\n' read -r -d '' -a array < <(dmidecode -t memory | grep "[Ss]ize") # GitHub issue #86, 87 + #IFS=$'\n' read -r -d '' -a array < <(dmidecode -t memory | grep "[Ss]ize") # GitHub issue #86, 87 + IFS=$'\n' read -r -d '' -a array < <(dmidecode -t memory |\ + grep -E "[Ss]ize: [0-9]+ [MG]{1}[B]{1}$") # GitHub issue #86, 87, 106 if [[ ${#array[@]} -gt "0" ]]; then num="0" while [[ $num -lt "${#array[@]}" ]]; do check=$(printf %s "${array[num]}" | awk '{print $1}') if [[ ${check,,} == "size:" ]]; then - #ramsize=$(printf %s "${array[num]}" | cut -d" " -f2) ramsize=$(printf %s "${array[num]}" | awk '{print $2}') # GitHub issue #86, 87 bytes=$(printf %s "${array[num]}" | awk '{print $3}') # GitHub issue #86, 87 if [[ $ramsize =~ ^[0-9]+$ ]]; then # Check $ramsize is numeric # GitHub issue #86, 87 + if [[ $bytes == "GB" ]]; then # DSM 7.2 dmidecode returned GB + ramsize=$((ramsize * 1024)) # Convert to MB # GitHub issue #107 + fi if [[ $ramtotal ]]; then ramtotal=$((ramtotal +ramsize)) else ramtotal="$ramsize" fi - #else - # echo -e "\n${Error}ERROR${Off} Memory size is not numeric: '$ramsize'" fi fi num=$((num +1)) @@ -1257,9 +1372,6 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo # Set mem_max_mb to the amount of installed memory setting="$(get_key_value $synoinfo mem_max_mb)" if [[ $ramtotal =~ ^[0-9]+$ ]]; then # Check $ramtotal is numeric - if [[ $bytes == "GB" ]]; then # DSM 7.2 dmidecode returns GB - ramtotal=$((ramtotal * 1024)) # Convert to MB - fi if [[ $ramtotal -gt $setting ]]; then synosetkeyvalue "$synoinfo" mem_max_mb "$ramtotal" # Check we changed mem_max_mb From 7c9e9a3305225e09d16bc595bfd6dc7138a45a55 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 00:19:36 +1000 Subject: [PATCH 03/24] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 8106a8e..93903c2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.1.57 +v3.1.58 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. - Fixed bugs where the calculated amount of installed memory could be incorrect: From 586229c1b3c098be24f70afca6793fa08797c0ca Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 00:20:39 +1000 Subject: [PATCH 04/24] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 2fb2cf4..3ca5152 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -196,7 +196,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.1.57" +scriptver="v3.1.58" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From 0f42a72c8ae0c8104eba87a22ad7d076f690bb68 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 10:33:48 +1000 Subject: [PATCH 05/24] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 93903c2..ef166bd 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.1.58 +v3.1.59 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. - Fixed bugs where the calculated amount of installed memory could be incorrect: From 8c59c82c58edd66d42f3a4e6e886d2e89a0dcd66 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 10:41:40 +1000 Subject: [PATCH 06/24] Update syno_hdd_db.sh v3.1.59 --- syno_hdd_db.sh | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 3ca5152..4b5e21d 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -196,7 +196,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.1.58" +scriptver="v3.1.59" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -218,7 +218,6 @@ Yellow='\e[0;33m' #Purple='\e[0;35m' Cyan='\e[0;36m' #White='\e[0;37m' -#White='\e[0;37m' Error='\e[41m' Off='\e[0m' @@ -552,6 +551,7 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | syslog_set warn "/tmp/$script-$shorttag.tar.gz not found" fi fi + cd "$scriptpath" || echo -e "${Error}ERROR ${Off} Failed to cd to script location!" else echo -e "${Error}ERROR ${Off} Failed to cd to /tmp!" syslog_set warn "$script update failed to cd to /tmp" @@ -1179,6 +1179,7 @@ enable_card(){ } check_modeldtb(){ + # $1 is E10M20-T1 or M2D20 or M2D18 or M2D17 if [[ -f /etc.defaults/model.dtb ]]; then if ! grep --text "$1" /etc.defaults/model.dtb >/dev/null; then if [[ $modelname == "DS1821+" ]] ||\ @@ -1187,8 +1188,11 @@ check_modeldtb(){ then echo "" >&2 if [[ -f ./dtb/${modelname}_model.dtb ]]; then - # Edited device tree blob exists with script + # Edited device tree blob exists in dtb folder with script blob="./dtb/${modelname}_model.dtb" + elif [[ -f ./${modelname}_model.dtb ]]; then + # Edited device tree blob exists with script + blob="./${modelname}_model.dtb" else # Download edited device tree blob model.dtb from github if cd /var/services/tmp; then @@ -1197,10 +1201,11 @@ check_modeldtb(){ url=${repo}/raw/main/dtb/${modelname}_model.dtb curl -LJO -m 30 --connect-timeout 5 "$url" echo "" >&2 + cd "$scriptpath" || echo -e "${Error}ERROR ${Off} Failed to cd to script location!" else echo -e "${Error}ERROR ${Off} /var/services/tmp does not exist!" >&2 fi - + # Check we actually downloaded the file if [[ -f /var/services/tmp/${modelname}_model.dtb ]]; then blob="/var/services/tmp/${modelname}_model.dtb" @@ -1372,24 +1377,24 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo # Set mem_max_mb to the amount of installed memory setting="$(get_key_value $synoinfo mem_max_mb)" if [[ $ramtotal =~ ^[0-9]+$ ]]; then # Check $ramtotal is numeric - if [[ $ramtotal -gt $setting ]]; then + if [[ $ramtotal -gt "$setting" ]]; then synosetkeyvalue "$synoinfo" mem_max_mb "$ramtotal" # Check we changed mem_max_mb setting="$(get_key_value $synoinfo mem_max_mb)" - if [[ $setting == "$ramtotal" ]]; then + if [[ $ramtotal == "$setting" ]]; then #echo -e "\nSet max memory to $ramtotal MB." ramgb=$((ramtotal / 1024)) echo -e "\nSet max memory to $ramtotal GB." else echo -e "\n${Error}ERROR${Off} Failed to change max memory!" fi - elif [[ $setting == "$ramtotal" ]]; then + elif [[ $ramtotal == "$setting" ]]; then #echo -e "\nMax memory already set to $ramtotal MB." ramgb=$((ramtotal / 1024)) echo -e "\nMax memory already set to $ramgb GB." - else [[ $setting -lt "$ramtotal" ]] - #echo -e "\nMax memory is set to $ramtotal MB." - ramgb=$((ramtotal / 1024)) + else [[ $ramtotal -lt "$setting" ]] + #echo -e "\nMax memory is set to $setting MB." + ramgb=$((setting / 1024)) echo -e "\nMax memory is set to $ramgb GB." fi else From 0a8774c97945ca08e2380b03628436789eaec080 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 11:35:03 +1000 Subject: [PATCH 07/24] Add files via upload --- dtb/RS1221+_model.dtb | Bin 0 -> 3900 bytes dtb/RS1221RP+_model.dtb | Bin 0 -> 3904 bytes dtb/RS822+_model.dtb | Bin 0 -> 3617 bytes dtb/RS822RP+_model.dtb | Bin 0 -> 3617 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dtb/RS1221+_model.dtb create mode 100644 dtb/RS1221RP+_model.dtb create mode 100644 dtb/RS822+_model.dtb create mode 100644 dtb/RS822RP+_model.dtb diff --git a/dtb/RS1221+_model.dtb b/dtb/RS1221+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..31e72417e8ba107fcc44d1a2ba6c1347da6198a7 GIT binary patch literal 3900 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 literal 0 HcmV?d00001 From 811ebc3d86dd5852220cec69f80075a28693dc81 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 12:58:49 +1000 Subject: [PATCH 08/24] Update syno_hdd_db.sh v3.1.59 --- syno_hdd_db.sh | 68 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 4b5e21d..3d0b6ec 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -30,6 +30,7 @@ # DONE # Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. +# Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ with older DSM version. # # Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. # @@ -37,6 +38,8 @@ # - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 # - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 # +# Fixed bug displaying the max memory setting if total installed memory was less than the max memory. Issue #107 +# # # Minor bug fix for checking amount of installed memory. # @@ -477,28 +480,28 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | url="https://github.com/$repo/archive/refs/tags/$tag.tar.gz" if ! curl -LJO -m 30 --connect-timeout 5 "$url"; then - echo -e "${Error}ERROR ${Off} Failed to download"\ + echo -e "${Error}ERROR${Off} Failed to download"\ "$script-$shorttag.tar.gz!" syslog_set warn "$script $tag failed to download" else if [[ -f /tmp/$script-$shorttag.tar.gz ]]; then # Extract tar file to /tmp/ if ! tar -xf "/tmp/$script-$shorttag.tar.gz" -C "/tmp"; then - echo -e "${Error}ERROR ${Off} Failed to"\ + echo -e "${Error}ERROR${Off} Failed to"\ "extract $script-$shorttag.tar.gz!" syslog_set warn "$script failed to extract $script-$shorttag.tar.gz!" else # Copy new script sh files to script location if ! cp -p "/tmp/$script-$shorttag/"*.sh "$scriptpath"; then copyerr=1 - echo -e "${Error}ERROR ${Off} Failed to copy"\ + echo -e "${Error}ERROR${Off} Failed to copy"\ "$script-$shorttag .sh file(s) to:\n $scriptpath" syslog_set warn "$script failed to copy $tag to script location" else # Set permissions on script sh files if ! chmod 744 "$scriptpath/"*.sh ; then permerr=1 - echo -e "${Error}ERROR ${Off} Failed to set permissions on:" + echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath *.sh file(s)" syslog_set warn "$script failed to set permissions on $tag" fi @@ -507,27 +510,27 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | # Copy new CHANGES.txt file to script location if ! cp -p "/tmp/$script-$shorttag/CHANGES.txt" "$scriptpath"; then if [[ $autoupdate != "yes" ]]; then copyerr=1; fi - echo -e "${Error}ERROR ${Off} Failed to copy"\ + echo -e "${Error}ERROR${Off} Failed to copy"\ "$script-$shorttag/CHANGES.txt to:\n $scriptpath" else # Set permissions on CHANGES.txt if ! chmod 744 "$scriptpath/CHANGES.txt"; then if [[ $autoupdate != "yes" ]]; then permerr=1; fi - echo -e "${Error}ERROR ${Off} Failed to set permissions on:" + echo -e "${Error}ERROR${Off} Failed to set permissions on:" echo "$scriptpath/CHANGES.txt" fi fi # Delete downloaded .tar.gz file if ! rm "/tmp/$script-$shorttag.tar.gz"; then - echo -e "${Error}ERROR ${Off} Failed to delete"\ + echo -e "${Error}ERROR${Off} Failed to delete"\ "downloaded /tmp/$script-$shorttag.tar.gz!" syslog_set warn "$script update failed to delete tmp files" fi # Delete extracted tmp files if ! rm -r "/tmp/$script-$shorttag"; then - echo -e "${Error}ERROR ${Off} Failed to delete"\ + echo -e "${Error}ERROR${Off} Failed to delete"\ "downloaded /tmp/$script-$shorttag!" syslog_set warn "$script update failed to delete tmp files" fi @@ -545,15 +548,15 @@ if ! printf "%s\n%s\n" "$tag" "$scriptver" | fi fi else - echo -e "${Error}ERROR ${Off}"\ + echo -e "${Error}ERROR${Off}"\ "/tmp/$script-$shorttag.tar.gz not found!" #ls /tmp | grep "$script" # debug syslog_set warn "/tmp/$script-$shorttag.tar.gz not found" fi fi - cd "$scriptpath" || echo -e "${Error}ERROR ${Off} Failed to cd to script location!" + cd "$scriptpath" || echo -e "${Error}ERROR${Off} Failed to cd to script location!" else - echo -e "${Error}ERROR ${Off} Failed to cd to /tmp!" + echo -e "${Error}ERROR${Off} Failed to cd to /tmp!" syslog_set warn "$script update failed to cd to /tmp" fi fi @@ -971,14 +974,12 @@ backupdb(){ for i in "${!db1list[@]}"; do backupdb "${db1list[i]}" ||{ ding - echo -e "${Error}ERROR 5${Off} Failed to backup $(basename -- "${db1list[i]}")!" exit 5 } done for i in "${!db2list[@]}"; do backupdb "${db2list[i]}" ||{ ding - echo -e "${Error}ERROR 5${Off} Failed to backup $(basename -- "${db2list[i]}")!" exit 5 # maybe don't exit for .db.new file } done @@ -1153,6 +1154,8 @@ done # DS1821+, DS1621+ and DS1520+ also need edited device tree blob file # /etc.defaults/model.dtb +# RS822RP+, RS822+, RS1221RP+ and RS1221+ with DSM older than 7.2 need +# device tree blob file from DSM 7.2 to support M2D18 enable_card(){ # $1 is the file @@ -1170,7 +1173,7 @@ enable_card(){ if set_section_key_value "$1" "$2" "$modelname" yes; then echo -e "Enabled ${Yellow}$3${Off} for ${Cyan}$modelname${Off}" >&2 else - echo -e "${Error}ERROR 5${Off} Failed to enable $3 for ${modelname}!" >&2 + echo -e "${Error}ERROR 9${Off} Failed to enable $3 for ${modelname}!" >&2 fi else echo -e "${Yellow}$3${Off} already enabled for ${Cyan}$modelname${Off}" >&2 @@ -1182,9 +1185,10 @@ check_modeldtb(){ # $1 is E10M20-T1 or M2D20 or M2D18 or M2D17 if [[ -f /etc.defaults/model.dtb ]]; then if ! grep --text "$1" /etc.defaults/model.dtb >/dev/null; then - if [[ $modelname == "DS1821+" ]] ||\ - [[ $modelname == "DS1621+" ]] ||\ - [[ $modelname == "DS1520+" ]]; + if [[ $modelname == "DS1821+" ]] || [[ $modelname == "DS1621+" ]] ||\ + [[ $modelname == "DS1520+" ]] || [[ $modelname == "RS822RP+" ]] ||\ + [[ $modelname == "RS822+" ]] || [[ $modelname == "RS1221RP+" ]] ||\ + [[ $modelname == "RS1221+" ]]; then echo "" >&2 if [[ -f ./dtb/${modelname}_model.dtb ]]; then @@ -1201,28 +1205,28 @@ check_modeldtb(){ url=${repo}/raw/main/dtb/${modelname}_model.dtb curl -LJO -m 30 --connect-timeout 5 "$url" echo "" >&2 - cd "$scriptpath" || echo -e "${Error}ERROR ${Off} Failed to cd to script location!" + cd "$scriptpath" || echo -e "${Error}ERROR${Off} Failed to cd to script location!" else - echo -e "${Error}ERROR ${Off} /var/services/tmp does not exist!" >&2 + echo -e "${Error}ERROR${Off} /var/services/tmp does not exist!" >&2 fi # Check we actually downloaded the file if [[ -f /var/services/tmp/${modelname}_model.dtb ]]; then blob="/var/services/tmp/${modelname}_model.dtb" else - echo -e "${Error}ERROR ${Off} Failed to download ${modelname}_model.dtb!" >&2 + echo -e "${Error}ERROR${Off} Failed to download ${modelname}_model.dtb!" >&2 fi fi if [[ -f $blob ]]; then # Backup model.dtb if ! backupdb "/etc.defaults/model.dtb"; then - echo -e "${Error}ERROR ${Off} Failed to backup /etc.defaults/model.dtb!" >&2 + echo -e "${Error}ERROR${Off} Failed to backup /etc.defaults/model.dtb!" >&2 else # Move and rename downloaded model.dtb if mv "$blob" "/etc.defaults/model.dtb"; then echo -e "Enabled ${Yellow}$1${Off} in ${Cyan}model.dtb${Off}" >&2 else - echo -e "${Error}ERROR ${Off} Failed to add support for ${1}" >&2 + echo -e "${Error}ERROR${Off} Failed to add support for ${1}" >&2 fi # Fix permissions if needed @@ -1232,8 +1236,8 @@ check_modeldtb(){ fi fi else - #echo -e "${Error}ERROR ${Off} Missing file ${modelname}_model.dtb" >&2 - echo -e "${Error}ERROR ${Off} Missing file $blob" >&2 + #echo -e "${Error}ERROR${Off} Missing file ${modelname}_model.dtb" >&2 + echo -e "${Error}ERROR${Off} Missing file $blob" >&2 fi else echo -e "\n${Cyan}Contact 007revad to get an edited model.dtb file for your model.${Off}" >&2 @@ -1376,6 +1380,7 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo fi # Set mem_max_mb to the amount of installed memory setting="$(get_key_value $synoinfo mem_max_mb)" + settingbak="$(get_key_value ${synoinfo}.bak mem_max_mb)" # GitHub issue #107 if [[ $ramtotal =~ ^[0-9]+$ ]]; then # Check $ramtotal is numeric if [[ $ramtotal -gt "$setting" ]]; then synosetkeyvalue "$synoinfo" mem_max_mb "$ramtotal" @@ -1388,6 +1393,21 @@ if [[ $dsm -gt "6" ]]; then # DSM 6 as has no /proc/meminfo else echo -e "\n${Error}ERROR${Off} Failed to change max memory!" fi + + elif [[ $setting -gt "$ramtotal" ]] && [[ $setting -gt "$settingbak" ]]; # GitHub issue #107 + then + # Fix setting is greater than both ramtotal and default in syninfo.conf.bak + synosetkeyvalue "$synoinfo" mem_max_mb "$settingbak" + # Check we restored mem_max_mb + setting="$(get_key_value $synoinfo mem_max_mb)" + if [[ $settingbak == "$setting" ]]; then + #echo -e "\nSet max memory to $ramtotal MB." + ramgb=$((ramtotal / 1024)) + echo -e "\nRestored max memory to $ramtotal GB." + else + echo -e "\n${Error}ERROR${Off} Failed to restore max memory!" + fi + elif [[ $ramtotal == "$setting" ]]; then #echo -e "\nMax memory already set to $ramtotal MB." ramgb=$((ramtotal / 1024)) From 9f78eb70521890c1121c4daa38a340e3ab60430c Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sat, 1 Jul 2023 12:59:07 +1000 Subject: [PATCH 09/24] Update CHANGES.txt v3.1.59 --- CHANGES.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index ef166bd..8cfb684 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,9 +1,11 @@ v3.1.59 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. +- Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ for older DSM versions. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. - Fixed bugs where the calculated amount of installed memory could be incorrect: - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 +- Fixed bug displaying the max memory setting if total installed memory was less than the max memory. Issue #107 v3.0.56 - Minor bug fix for checking amount of installed memory. From 5411a7c9933622b5186942e4804d83ced6cc8ad0 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 2 Jul 2023 07:04:27 +1000 Subject: [PATCH 10/24] Delete RS1221RP+_model.dtb --- dtb/RS1221RP+_model.dtb | Bin 3904 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/RS1221RP+_model.dtb diff --git a/dtb/RS1221RP+_model.dtb b/dtb/RS1221RP+_model.dtb deleted file mode 100644 index 68290e1baae0bcfb185919c87952c5a05c9c4695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3904 zcmd5<-D=c86rT8l)>5kU%1iI0+LC0qe}Yi7MZ748deOU(O{Uvml8KXK?Oyv9zK7sj z=p%^WjUWi#i|5Q=l3kPSmM$2W&CHoIXU_MXGiS12R{s1XWObhqvP;OyFL>XFb_d#R zXz*AsK>kVg8^4wsU4{1&_Fs)t7PH~FCcg{)0N_9?uj4y zXg8pt4eRA`-vOfVLHljES7ENg&Cm2AD@!sjk6E$rpb28d(ZDZ!(bxWd7o*DmA8LFB z-qJ$#2`)2L_yaxRw~C`h@;nUu;8d^CK3dwYq`S**e;&Jn!z1@# z{(MT@P%SdPDef%)G>8N$nLjnmy-DBTj9IsouJEOuueop;pEO?=@JZ)tM+~S#Phe zYQjX^R$zYJwjbHf=5}>@Oq~+Bq|de$)6g4oN>iC&D2H6L`gj+3Fsb4o;)1%2`{_`g zyeVD9H|h%gCMJ<(i^ODdaTX?(@8`lKDK>S`YGM+zmw;)fEl!5ZS(s#Lm%Pu4)0T|2 zvE9TZEG-ff?rym6%DwH%Pm!lxxwlj43foOg0`VnaYCTVe%UN+!-y{Zq7pA>VOoE+7 zV#3{xpA&IfuGa`h773#}fvKr0i-h5;87C3NOTg56p3t`OvlEjn5=OTZlPnS~m_)=E ziK(mZHMy5X;(VB7kuaDjUP4~Rxc(xB1h~MxgZ~$d%`AxM#C-?f@%ru(i6VS0^Fd9G zSffFiV{*cSyyBY2@Lq>zxPUdP%nKd-hI-~~2$8m_N_#c$R`Xg%?kg>|?F$@t@7vpG zV42#tU(IW7mI9V!ei02~N)i^*n2adTBbE|zG3Qy7mKj{!tjwk*9_agHDL)NEh}t{K zK|QB$m2v_MdN@^#Gdd~rLqCI$k!f+rX`V}Qkg(k2bO<(sl2h*__Vd$!PYoC= Date: Sun, 2 Jul 2023 07:04:35 +1000 Subject: [PATCH 11/24] Delete RS822RP+_model.dtb --- dtb/RS822RP+_model.dtb | Bin 3617 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/RS822RP+_model.dtb diff --git a/dtb/RS822RP+_model.dtb b/dtb/RS822RP+_model.dtb deleted file mode 100644 index c5983dd8fca4908cb46d0dcab2e78ceef8ba34c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ From 8ace580a4bf746d7d64e41fef9ab347c25de8861 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Sun, 2 Jul 2023 07:05:20 +1000 Subject: [PATCH 12/24] Add files via upload --- dtb/RS1221rp+_model.dtb | Bin 0 -> 3904 bytes dtb/RS822rp+_model.dtb | Bin 0 -> 3617 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dtb/RS1221rp+_model.dtb create mode 100644 dtb/RS822rp+_model.dtb diff --git a/dtb/RS1221rp+_model.dtb b/dtb/RS1221rp+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..68290e1baae0bcfb185919c87952c5a05c9c4695 GIT binary patch literal 3904 zcmd5<-D=c86rT8l)>5kU%1iI0+LC0qe}Yi7MZ748deOU(O{Uvml8KXK?Oyv9zK7sj z=p%^WjUWi#i|5Q=l3kPSmM$2W&CHoIXU_MXGiS12R{s1XWObhqvP;OyFL>XFb_d#R zXz*AsK>kVg8^4wsU4{1&_Fs)t7PH~FCcg{)0N_9?uj4y zXg8pt4eRA`-vOfVLHljES7ENg&Cm2AD@!sjk6E$rpb28d(ZDZ!(bxWd7o*DmA8LFB z-qJ$#2`)2L_yaxRw~C`h@;nUu;8d^CK3dwYq`S**e;&Jn!z1@# z{(MT@P%SdPDef%)G>8N$nLjnmy-DBTj9IsouJEOuueop;pEO?=@JZ)tM+~S#Phe zYQjX^R$zYJwjbHf=5}>@Oq~+Bq|de$)6g4oN>iC&D2H6L`gj+3Fsb4o;)1%2`{_`g zyeVD9H|h%gCMJ<(i^ODdaTX?(@8`lKDK>S`YGM+zmw;)fEl!5ZS(s#Lm%Pu4)0T|2 zvE9TZEG-ff?rym6%DwH%Pm!lxxwlj43foOg0`VnaYCTVe%UN+!-y{Zq7pA>VOoE+7 zV#3{xpA&IfuGa`h773#}fvKr0i-h5;87C3NOTg56p3t`OvlEjn5=OTZlPnS~m_)=E ziK(mZHMy5X;(VB7kuaDjUP4~Rxc(xB1h~MxgZ~$d%`AxM#C-?f@%ru(i6VS0^Fd9G zSffFiV{*cSyyBY2@Lq>zxPUdP%nKd-hI-~~2$8m_N_#c$R`Xg%?kg>|?F$@t@7vpG zV42#tU(IW7mI9V!ei02~N)i^*n2adTBbE|zG3Qy7mKj{!tjwk*9_agHDL)NEh}t{K zK|QB$m2v_MdN@^#Gdd~rLqCI$k!f+rX`V}Qkg(k2bO<(sl2h*__Vd$!PYoC=|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ literal 0 HcmV?d00001 From 4ab7cfd54475032e35509b45eb33f3bf0e640759 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 3 Jul 2023 18:21:40 +1000 Subject: [PATCH 13/24] Update syno_hdd_db.sh --- syno_hdd_db.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 3d0b6ec..9d4d682 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -40,6 +40,8 @@ # # Fixed bug displaying the max memory setting if total installed memory was less than the max memory. Issue #107 # +# Fixed bug where sata1 drive firmware version was wrong if there was a sata10 drive. +# # # Minor bug fix for checking amount of installed memory. # @@ -199,7 +201,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.1.59" +scriptver="v3.1.60" script=Synology_HDD_db repo="007revad/Synology_HDD_db" @@ -692,9 +694,9 @@ getdriveinfo(){ #fwrev=$(printf "%s" "$fwrev" | xargs) # trim leading and trailing white space device="/dev/$(basename -- "$1")" - #fwrev=$(syno_hdd_util --ssd_detect | grep "$device" | awk '{print $2}') # GitHub issue #86, 87 + #fwrev=$(syno_hdd_util --ssd_detect | grep "$device " | awk '{print $2}') # GitHub issue #86, 87 # Account for SSD drives with spaces in their model name/number - fwrev=$(syno_hdd_util --ssd_detect | grep "$device" | awk '{print $(NF-3)}') # GitHub issue #86, 87 + fwrev=$(syno_hdd_util --ssd_detect | grep "$device " | awk '{print $(NF-3)}') # GitHub issue #86, 87 if [[ $hdmodel ]] && [[ $fwrev ]]; then hdlist+=("${hdmodel},${fwrev}") @@ -1186,8 +1188,8 @@ check_modeldtb(){ if [[ -f /etc.defaults/model.dtb ]]; then if ! grep --text "$1" /etc.defaults/model.dtb >/dev/null; then if [[ $modelname == "DS1821+" ]] || [[ $modelname == "DS1621+" ]] ||\ - [[ $modelname == "DS1520+" ]] || [[ $modelname == "RS822RP+" ]] ||\ - [[ $modelname == "RS822+" ]] || [[ $modelname == "RS1221RP+" ]] ||\ + [[ $modelname == "DS1520+" ]] || [[ $modelname == "RS822rp+" ]] ||\ + [[ $modelname == "RS822+" ]] || [[ $modelname == "RS1221rp+" ]] ||\ [[ $modelname == "RS1221+" ]]; then echo "" >&2 From 397661644fe005f4a4f59b26269c89c8fcb9aaee Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 3 Jul 2023 18:22:28 +1000 Subject: [PATCH 14/24] Update CHANGES.txt --- CHANGES.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 8cfb684..307f2de 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.1.59 +v3.1.56 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ for older DSM versions. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. @@ -6,6 +6,7 @@ v3.1.59 - If last memory socket was empty an invalid unit of bytes could be used. Issue #106 - When dmidecode returned MB for one ram module and GB for another ram module. Issue #107 - Fixed bug displaying the max memory setting if total installed memory was less than the max memory. Issue #107 +- Fixed bug where sata1 drive firmware version was wrong if there was a sata10 drive. v3.0.56 - Minor bug fix for checking amount of installed memory. From fb947f0799d4050a35aa762fa6679300f5a2de57 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Mon, 3 Jul 2023 18:22:46 +1000 Subject: [PATCH 15/24] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 307f2de..f4af1b5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.1.56 +v3.1.60 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ for older DSM versions. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them. From f28e866280f04ad52de84ab14f0e08939d2b57ec Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 5 Jul 2023 10:50:28 +1000 Subject: [PATCH 16/24] Add files via upload --- dtb/RS2423+_model.dtb | Bin 0 -> 9166 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dtb/RS2423+_model.dtb diff --git a/dtb/RS2423+_model.dtb b/dtb/RS2423+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..680ca92c81b337ffa1463b4ff192854fe01e8eb5 GIT binary patch literal 9166 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 Date: Wed, 5 Jul 2023 21:52:31 +1000 Subject: [PATCH 17/24] Add files via upload --- dtb/DS1823+_model.dtb | Bin 0 -> 5762 bytes dtb/DS2422+_model.dtb | Bin 0 -> 4923 bytes dtb/RS2421+_model.dtb | Bin 0 -> 5871 bytes dtb/RS2421RP+_model.dtb | Bin 0 -> 6225 bytes dtb/RS2821RP+_model.dtb | Bin 0 -> 6918 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dtb/DS1823+_model.dtb create mode 100644 dtb/DS2422+_model.dtb create mode 100644 dtb/RS2421+_model.dtb create mode 100644 dtb/RS2421RP+_model.dtb create mode 100644 dtb/RS2821RP+_model.dtb diff --git a/dtb/DS1823+_model.dtb b/dtb/DS1823+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..c04a562ca0adce991e9452d6b13b816ecddf1627 GIT binary patch literal 5762 zcmdT|y^rHW6dwb}aeJHqaRO1$(13tl+0G{HQXSHs&`NA|AR$p$6MHtXusuGH6Lu>k zL_tAw{{e`ang$`!P*YNXgb*MaDr!!=_h!aliL=>LB6OA}9zVa&-+S|BoF8x8|C_Pr zK4FXxW5A985mE)fXn#-=%4C&>(?<)kHY;L&hMOOGLe(>2K{-MUsr}6%stn2 z1Mk2eoT=A{3uPaJf%Z_J)%C)Z7f}!wcY%f%(w~I!5)9;j#0)FH56@4)z~?J4-YJWj zfID7Dy9$G+aahP4Nkl_EGZ@w`K7S75Z5USXS1|vz@%$ake}my1y+8EcfC*g4+ZX>+ z@UD(OIU&70gNEF)umIt?i%asrKa;^K4_Ub@=pVT^$(jqK?6(bXa-3 z*M49Y){h0_w0deC!%OLC)&lu*+jCERclTWl>&o0b3zq8K2+vJHur&Ed{UC%AH0fbZ zHcy-Ngn9kbb@$xY-2?oA8ToB%;UA@Xfb0yMGzI6#I#PUa(r8?WIrLlSab>%g&ck(}-Q;B|CfpmjIzdh+ zjvK)9qU*ltdV9lq1=alyv2FBb=Vf^O9cXA1uy;V~&L8F(S&tj@_h3#wCn5?ag%BAK z;6m9Q;0qBp8buF!`550Bu;X#_VjR(|03y+Q0#|R9-wN`zY^AYkAf4e>i ztqtKZ`rrD8*?ZQ)&;UVyl5#+M4 zUrmsd{xd~yPk>ym%K6S;=Dp4NGW%wmTxGxaO!L6@@qF1id%-uaJwsLdZQnVL&VpLL zI;%9~tNp20J`dv+_GvLwUT13DaFaRn@l0XRaAEzT%>?crz^KltAY(DL>v8Vywsh*% zQRi+xsNc8kYE6B1U%l8aDX==1*sb1M9v!dd?6ZsiU#yIGzmCTNJQnN@>-S_g_QL?6 zz19Bab3T6SNM>B8O`|fql{kCU;j!{!bD+c2%@H`V-Y-Pj#7)A^B%kun=sUXyWb@EM`#*(6}*Xj57fBphVWS3;L)0GVNm4?g` z{ETfK0qVhVEtF}_%Xpj!mdZ#ZY%U5F%Z%ZsKz|<6SDwn_Y?i}Upq%AwfdVTb;pdt@ zjUw1yJ`x46D{`VpBx`C{DUxwvkw_{-CU~jG(Kav`Ds7wR><-~mNJxyCgb-m`AK30s#EaLv+F{6UZV0sF0$49CIbue-vCg3jhEB literal 0 HcmV?d00001 diff --git a/dtb/DS2422+_model.dtb b/dtb/DS2422+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..aa85b59eefecb9e149e7d509c24540276b2449b3 GIT binary patch literal 4923 zcmdT|&2G~`5Z(nUD5XGEap1@emA10o1PVw9iB^b1PjKkXa%?xTu)W4Vp*iywyazYl z0UiM%aY5n)XT;2`*LL05ZIb#xq>cAy_M2~JXS|bqUH$uuvGu2nv0cX2{=oA-v^8kA zp}~j0gyCn|Kk?1;(PelpWB>Ie6uuZvD)V=szmnwh=2+J>%`|$3@t`7e1^TED@em8g zccI;=jH~iXF#jTrGZ&ut!97=@9R{8qiwLI*93T2s+z&7Ydy4gs(EnB$e}ew^e0&X_ zU!Wm2V(`5~-7pO3$^A_>qu)xKony6$M?qvJzDS?zgu#7pV5JuImEAvRRPy@?V_dtG zw-Q70I4_3UkIxcg2SzYHClB<2!YMI&tr%6`H`~&m2}5x>Y0JZzFs9q`s1*bCsdH+! z1+oY}O+Kw-OtK`(X}=nXvf*M=oF|;w$w4E+oDsTo)@EP3*zy8T{|$etv51d zh;vikt%H1-cdo7lurbYZEig>mik&?57!Sum_5E=R_WstiZEaKA#V_c=jPw!c<19%W z+p3$$@T+d&yX})?MCjU-GSlcn+k5Z@BSB?b(uo5*_>}WWwSN1 zJvvEwmX&kfshRs_e+y�imnCu^*W3{Stk{(qk@66&H0(`RftxoaTCSu&`IF+Lt-3B(3|5Kq-68_-vN;IK#e6J@Y& ze5P;Fl)_ZLDb|g0UCBtj5~)dVwI*uNOR5y+6ured%3xczMG#r3H}G8+2*>r=*o_lU zgbe?vF_Xv(v&bCAB8yJXm>_RW!#{nVH3UTNKIP?}}ldz3Q*1^e^?wNnVFW?XG zJK!fEBrZsZ19!yCIJ28g<7~I22c)j#jXm~!o~J#@m!&^Hg}C}l2=PFOD<9!`6WS$c z7oow=dIt1N_hD~$sswZzPq0G;s>^F1`si+FJS0ovEf z_!IQMmE+U!{0t4T5yN`1<+#p$=xKhF?r6WM?rN8rtSrsEJdwo{hcK)p?)!yLeU|q- zji&PbD96X(iEWDE(#(D_Q2xCbD+^&T|EwInR*b6c&AO~Egwd?a+Cmu3x@g~;Y>GVW zC$lb)P4L?*7$L?iZt~3--&LQ+y8Lo~FFJ z40H9oW5#LT9OWL_b#fLR<=(74j&hH4(Ase9P1nBrN~a8+7pB}>p2@w)u~T3y%3Mob zFYr}ZUVFkC?xfYb`vUO(w(WcN9s2?PK@TXCJJu3;9tM7}%{&wN7*}6~ZMeNfa48-( z-E~)s(W*DfK0R|%H!PVfmaVki|Dv;_udl^)E}8b|>~9A#c~bkb;^&pRKcE(~&X#M* z{^l52$d?nDI7SX26W?nsK3uKq19@VMThcEc7LgkINu?mfyX_?KE$3VnYP%urhU2X5 zmiDn~IxNBbE!%!%JNJ6i?3vu}WLLzdeUm8kr1FOYolQuGI@iJ~?i@7MwLwO*U^y;kzObcQ$}$0TwmjRY)d@SiQj>Y#(3<&*Hn~sAfquJJFugE;R2w;l#~7V z59g15sq02gqtCmrXL)6JVNau+2eN0d+w(H1;5*Kpvb+;5ck-&~oMs!*SzWqMqxAp@CcG8SSaJ+Z0DCIpNT Hg9zd;N)Y#q literal 0 HcmV?d00001 diff --git a/dtb/RS2421RP+_model.dtb b/dtb/RS2421RP+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..4b7d333a9f52fbd5be743d699ab9c77a2d8b5e1c GIT binary patch literal 6225 zcmeHLzmMER6dng65<-BhV4_^`KR(iWLZ{B?Ky*Km5Z~gPtfB$6c zrH>e6w-|fzL->6ik6Zeep?yUeeRLT3 zz8^^yPQpNnH(Pd(LmSsbOvHN%1m~jO3hJ?q^MDiC;qQC3Y%=)8586BdvR~$jo?pqmEbvR1Seslc!zhVmY94#cs}9R{ZSgdu`S-qm!@uU= z!Y^o1w&VQ*>v=yYl_qg=VCO9OSzP@n9KxM!gG=XOFT4|K8iRfV_tu?LhN+q4S#BnF zkBZNMetd1`vzfH!b9|8Gw3GVYZte3dzR04 zj4NW(xc-*e-19NwX&%{Q#M8<1 zRPjuXCXwJ0-s4;|5;mMon90%sZSm3WEqA#ItqG8_>3K@L-OOC)!}0`A=}2 zR2I|5W-%Tv$E}TCS0lOBZ9h{T>(WvdvuEAKING3GPIxKeI-eF9D|wm~>@brm=M}>j zz>yMp)re>=c_Y>}5!lDaT7QtHaArTtB$%u0Q)6601S1@(k44ti#c3>{NL^Q_GE+*c z1tF|hTGg7B;7uLLY@VwHsC-cLZE0387_reC1_ogwD^2K{dhG4F5ae`(0@oNLhk$`JEj zh5pxunD;jHzcIwTkD-r#MPiD2G#Q3vNNvQ3>;Fo9@n7rz;h3McjqHrGPGaV&b${FYA^QO3?`PQ)-pecLNzkSo^Ylo zS^W<39F+NE*S+iBaS!khv_M-`>&{>1DX44GO*$R%i6!=KcX~)J_Bcb&$X1 zx^KDOU4LFV)jaZPRWE5g3Zx3B6J1HT9^7#UufP-Z&>gpuUBpM;>xpmIhOhE(2fk;! z@zF)LC%!!!K3H1cy*u#Xy9(RU5?{I`pBFx;ot5}-pX$Izxz!V&HUD^Br^A0M;!BtN zp7^Z!2d-J^zZLPN7l-r0w}tr9uHF-$wLVZU<$OncZ*=D$UAlVWv*zCx;;Ub#K+$<& z+(L}?%UXYo);ifjob}6Ke~i{#tj@2FTwHP1dHSnJ?^y4j<9XuguP(hYT5Dz-vDR;v zy)jzzaT~GLUyXWWwC3YRXJ2%>7vxgGcfvd7^+9yp`>c7!Yt!Cb(`l~48|h@9H+6E& zY=V<>t*Mi9d=s6#pOVfzO5(;n8}Gg5-b^kgxmhu+i3#UqI4kh*fFEMyyYlPMX5Tt6 zhy95%uKGSzH6Hz`;&O;wAKVk{8UApQfN2DjD# literal 0 HcmV?d00001 From 0d5cd30427f4cb661cd6f4e9f4da4d433f2b9abe Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:57:55 +1000 Subject: [PATCH 18/24] Add files via upload --- dtb/RS1221RP+_model.dtb | Bin 0 -> 3904 bytes dtb/RS822RP+_model.dtb | Bin 0 -> 3617 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dtb/RS1221RP+_model.dtb create mode 100644 dtb/RS822RP+_model.dtb diff --git a/dtb/RS1221RP+_model.dtb b/dtb/RS1221RP+_model.dtb new file mode 100644 index 0000000000000000000000000000000000000000..68290e1baae0bcfb185919c87952c5a05c9c4695 GIT binary patch literal 3904 zcmd5<-D=c86rT8l)>5kU%1iI0+LC0qe}Yi7MZ748deOU(O{Uvml8KXK?Oyv9zK7sj z=p%^WjUWi#i|5Q=l3kPSmM$2W&CHoIXU_MXGiS12R{s1XWObhqvP;OyFL>XFb_d#R zXz*AsK>kVg8^4wsU4{1&_Fs)t7PH~FCcg{)0N_9?uj4y zXg8pt4eRA`-vOfVLHljES7ENg&Cm2AD@!sjk6E$rpb28d(ZDZ!(bxWd7o*DmA8LFB z-qJ$#2`)2L_yaxRw~C`h@;nUu;8d^CK3dwYq`S**e;&Jn!z1@# z{(MT@P%SdPDef%)G>8N$nLjnmy-DBTj9IsouJEOuueop;pEO?=@JZ)tM+~S#Phe zYQjX^R$zYJwjbHf=5}>@Oq~+Bq|de$)6g4oN>iC&D2H6L`gj+3Fsb4o;)1%2`{_`g zyeVD9H|h%gCMJ<(i^ODdaTX?(@8`lKDK>S`YGM+zmw;)fEl!5ZS(s#Lm%Pu4)0T|2 zvE9TZEG-ff?rym6%DwH%Pm!lxxwlj43foOg0`VnaYCTVe%UN+!-y{Zq7pA>VOoE+7 zV#3{xpA&IfuGa`h773#}fvKr0i-h5;87C3NOTg56p3t`OvlEjn5=OTZlPnS~m_)=E ziK(mZHMy5X;(VB7kuaDjUP4~Rxc(xB1h~MxgZ~$d%`AxM#C-?f@%ru(i6VS0^Fd9G zSffFiV{*cSyyBY2@Lq>zxPUdP%nKd-hI-~~2$8m_N_#c$R`Xg%?kg>|?F$@t@7vpG zV42#tU(IW7mI9V!ei02~N)i^*n2adTBbE|zG3Qy7mKj{!tjwk*9_agHDL)NEh}t{K zK|QB$m2v_MdN@^#Gdd~rLqCI$k!f+rX`V}Qkg(k2bO<(sl2h*__Vd$!PYoC=|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ literal 0 HcmV?d00001 From 5aa9fdc3b15d90a5702fffa80fd50a663e0971b8 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:58:17 +1000 Subject: [PATCH 19/24] Delete RS1221rp+_model.dtb --- dtb/RS1221rp+_model.dtb | Bin 3904 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/RS1221rp+_model.dtb diff --git a/dtb/RS1221rp+_model.dtb b/dtb/RS1221rp+_model.dtb deleted file mode 100644 index 68290e1baae0bcfb185919c87952c5a05c9c4695..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3904 zcmd5<-D=c86rT8l)>5kU%1iI0+LC0qe}Yi7MZ748deOU(O{Uvml8KXK?Oyv9zK7sj z=p%^WjUWi#i|5Q=l3kPSmM$2W&CHoIXU_MXGiS12R{s1XWObhqvP;OyFL>XFb_d#R zXz*AsK>kVg8^4wsU4{1&_Fs)t7PH~FCcg{)0N_9?uj4y zXg8pt4eRA`-vOfVLHljES7ENg&Cm2AD@!sjk6E$rpb28d(ZDZ!(bxWd7o*DmA8LFB z-qJ$#2`)2L_yaxRw~C`h@;nUu;8d^CK3dwYq`S**e;&Jn!z1@# z{(MT@P%SdPDef%)G>8N$nLjnmy-DBTj9IsouJEOuueop;pEO?=@JZ)tM+~S#Phe zYQjX^R$zYJwjbHf=5}>@Oq~+Bq|de$)6g4oN>iC&D2H6L`gj+3Fsb4o;)1%2`{_`g zyeVD9H|h%gCMJ<(i^ODdaTX?(@8`lKDK>S`YGM+zmw;)fEl!5ZS(s#Lm%Pu4)0T|2 zvE9TZEG-ff?rym6%DwH%Pm!lxxwlj43foOg0`VnaYCTVe%UN+!-y{Zq7pA>VOoE+7 zV#3{xpA&IfuGa`h773#}fvKr0i-h5;87C3NOTg56p3t`OvlEjn5=OTZlPnS~m_)=E ziK(mZHMy5X;(VB7kuaDjUP4~Rxc(xB1h~MxgZ~$d%`AxM#C-?f@%ru(i6VS0^Fd9G zSffFiV{*cSyyBY2@Lq>zxPUdP%nKd-hI-~~2$8m_N_#c$R`Xg%?kg>|?F$@t@7vpG zV42#tU(IW7mI9V!ei02~N)i^*n2adTBbE|zG3Qy7mKj{!tjwk*9_agHDL)NEh}t{K zK|QB$m2v_MdN@^#Gdd~rLqCI$k!f+rX`V}Qkg(k2bO<(sl2h*__Vd$!PYoC= Date: Wed, 5 Jul 2023 21:58:30 +1000 Subject: [PATCH 20/24] Delete RS822rp+_model.dtb --- dtb/RS822rp+_model.dtb | Bin 3617 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dtb/RS822rp+_model.dtb diff --git a/dtb/RS822rp+_model.dtb b/dtb/RS822rp+_model.dtb deleted file mode 100644 index c5983dd8fca4908cb46d0dcab2e78ceef8ba34c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3617 zcmd5|6UR3RZfzGjHDey+8Bj&EC&j&;BOl_M3!| z143?n1Mho4cYt02f`@(u{LkHR`G;H^!}mv4w-Vm?M6Aa!{%tTfF#bKvUxfG9 zK-YmB_M^wU2?UN0>aUCAWmxOu&?ixeHdVt-sqFm(AqXvtsj$M0qd(ueS?}L>VUF>+ z7(0yAty~rZ{XdH_*$5-*FZ;2(5eCM&g!3R_M=9I>)Td-LuXjPW&#O#W1&TK0vPyX- zbRJSmXuYV0dyRYY17kbv9d>{}Fmis!ef-gwJQLYG>O>!D#P#VO!`0yW zsx%Kuoo^v`RLrx&Mdj;f5c6c!H#{Fd1zG3I`h0B^SLajA*A;w@(jCSL<#I#IG~g<#`Yg=Kt0gcf&K_KaSr$PwZFm~O@9DCUHoIU z;;*7!cC1$R05ss9Q!5VXqFlNAA25cwx()Ly)yhb&BHo%@z42%80Zm^zSNk9hPnXxR zT)o@NI(doBgEvaYFBver(&xJ#kc{_$K@EIA1v7CDHL%qN|D4SxE96QagIe`{CfRW( z-^sORIuIjtF>Q@^KkgI#80PnYx-$qm;h1&yA0^xFyhO}!wEFe5Uym~0u18vD_pOWV zI)I3Ij@@qE$rNeEA;kO3cN_ie!=uB8j3t5X{04cNhd`HfL*K;QLrt&O4bD)snaf3y z$@sbD@ZnpWR@!FUX0kVVj|qTteCVn4OLj7ezI3(&MsUf=La(LO%Kd_V1&sY62I3&y z$W+w`TTDwyDwWHUETlGts)@TqOjFct1DA|yo3k7Uq!g!~KhJZh>ZekJxRGCYW>zV~ zwVVMbYqjLZr7-jJm!?WtztReAIsCm*t>v?(P~^eU!$X4K?qyLwA+DGkW$bZrLhu}M zd)i16PZepjvMN)hXFHcTMB$-wX=P^nIo=>n-Jxpq0a>+x4`5Tw@cz#cc_!<0l`$bk oT5e3n)$y@+-MNdW2>l`=YYILuazAKc&~Lssfpd}PS{g(C1sU@nqW}N^ From e03927954f83d2e20fc869c2ea832dda80947f49 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 19 Jul 2023 22:04:17 +1000 Subject: [PATCH 21/24] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a55cb8..da7b067 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ # Synology HDD db ### Description -Add your SATA or SAS HDDs and SSDs plus SATA and NVMe M.2 drives to your Synology's compatible drive databases, including your M.2 card and Expansion Unit databases. +Add your SATA or SAS HDDs and SSDs plus SATA and NVMe M.2 drives to your Synology's compatible drive databases, including your Synology M.2 PCIe card and Expansion Unit databases. The script works in DSM 7, including DSM 7.2, and DSM 6. From b50b7701fa32941b7a4a684dabbef08be3e6b3c6 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Wed, 19 Jul 2023 22:51:20 +1000 Subject: [PATCH 22/24] Update my-other-scripts.md --- my-other-scripts.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/my-other-scripts.md b/my-other-scripts.md index 1da561a..de8440a 100644 --- a/my-other-scripts.md +++ b/my-other-scripts.md @@ -10,11 +10,14 @@ ## All my Synology Scripts - **Synology_M2_volume** - Easily create an M.2 volume on Synology NAS. +- **Synology_enable_M2_card** + - Enable Synology M.2 PCIe cards in Synology NAS that don't officially support them. + - **Synology_enable_Deduplication** - Enable deduplication with non-Synology SSDs and unsupported NAS models. - **Synology_RAID-F1_SHR_switch** - - Easily switch between SHR and RAID F1. + - Easily switch between SHR and RAID Group. - **Synology_Config_Backup** - Backup and export your Synology DSM configuration. From 4aee1db794fdedb9dbcbac8b4356135fde1eac85 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 1 Aug 2023 14:00:02 +1000 Subject: [PATCH 23/24] Update syno_hdd_db.sh --- syno_hdd_db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syno_hdd_db.sh b/syno_hdd_db.sh index 9d4d682..0fc5edc 100644 --- a/syno_hdd_db.sh +++ b/syno_hdd_db.sh @@ -201,7 +201,7 @@ # Optionally disable "support_disk_compatibility". -scriptver="v3.1.60" +scriptver="v3.1.61" script=Synology_HDD_db repo="007revad/Synology_HDD_db" From 8d75e84652362480d6135babb9739b54b4811ab9 Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Tue, 1 Aug 2023 14:00:37 +1000 Subject: [PATCH 24/24] Update CHANGES.txt --- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index f4af1b5..7b6780d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,4 @@ -v3.1.60 +v3.1.61 - Added enabling E10M20-T1, M2D20 and M2D18 for DS1821+, DS1621+ and DS1520+. - Added enabling M2D18 for RS822RP+, RS822+, RS1221RP+ and RS1221+ for older DSM versions. - Fixed enabling E10M20-T1, M2D20 and M2D18 cards in models that don't officially support them.