You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

401 lines
18 KiB

v3.6.112
- Bug fix for DSM 7.3 and later where new database files have a space after each : and ,
v3.6.111
- Added support for M.2 volumes for NVMe drives in PCIe adaptor cards for DSM 7.1.1
v3.6.110
- Bug fix for not finding SAS expansion units. Issue #413
v3.6.109
- Added -I, --ihm option to update IronWolf Health Management to 2.5.1 to support recent model IronWolf and IronWolf Pro drives.
- For NAS with x86_64 CPUs only.
- Installs IronWolf Health Management on '22 series and newer models that don't have IronWolf Health Management (untested).
v3.5.108
- Prevent error message if /tmpRoot exists but does not contain /usr/syno/bin/synosetkeyvalue and /etc.defaults/synoinfo.conf. Issue #411
v3.5.107
- Bug fix for firmware version as "Found]" in db files. Issue #407
v3.5.106
- Bug fix for when script is not located on a volume. Issue #397
v3.5.105
- Bug fix for drives that return "HCST <model>" as the model, like HGST drives do. Issue #389
v3.5.104
- Some disks will be blocked in special scenarios. PR #387
v3.5.103
- Bug fix getting size of large drives. Issue #368
- Run the script once with the --restore option to undue the previous changes then run the script as normal.
v3.5.102
- Changed to use a faster method of detecting if an expansion unit is connected, for models with the syno_slot_mapping command.
- Changed so XPE users using the hdddb addon don't need to reboot.
v3.5.101
- Changed to support "--restore --ssd=restore" to restore write_mostly when restoring all other changes. Issue #340
- When using --restore you can also use --ssd=restore, -e or --email
v3.5.98
- Changed to automatically download and install dtc if all of the following 4 conditions are met:
1. dtc is not already installed.
2. /bin/dtc or dtc are not in the same folder as the script.
3. The script needs dtc.
4. The script is running from task scheduler.
- Bug fix for "Enable write_mostly on slow internal drives so DSM runs from the fast internal drive(s)." Issue #340
- Improved output to make it clear which drive(s) have most_writely set.
v3.5.97
- Changed silently skip empty .db.new files with showing an error. Issue #175
- Changed to warn if db file is 0 bytes.
v3.5.96
- Added option to set write_mostly for your internal HDDs so DSM will normally read from your faster internal SSD(s).
- It can automatically set DSM to read from your internal SSDs.
- Or you can tell the script which internal drive(s) DSM should read from.
Thanks to Xeroxxx for the writemostly suggestion and their writeup here:
https://www.techspark.de/speed-up-synology-dsm-with-hdd-ssd/
v3.5.94
- Updated to support newer drive db versions.
- Synology added size_gb in a recent host v7 version (in SynoOfflinePack 764).
- Synology added barebone_installable_v2 in the latest host v7 version (in SynoOfflinePack 787).
- Bug fix when restoring where memcheck service was only re-enabled on DVA models.
- Changed to add leading 0 to short vids reported by drive.
- Sets 2 vids in case DSM uses the short one (e.g. 0x05dc=brand and 0x5dc=brand).
Note: You may need to run syno_hdd_db without the -n or --noupdate option, then update the drive database from
"Storage Manager > HDD/SSD > Settings > Advanced > Update Now" then run syno_hdd_db with your preferred options.
v3.5.93
- Bug fix for false "Failed to delete tmp files" log entries when script updates itself. Issue #312
- Bug first appeared in v3.1.64
v3.5.92
- Changed to support M.2 SATA SSDs in M2D18 or M2D17.
- Change -s, --show option to show changes for each different drive model.
v3.5.91
- Changed to not exit if no SATA or SAS drives found. Issue #303
- Now only exits if no SATA, SAS or NVMe drives found.
v3.5.90
- Changed to enable creating storage pools/volumes on NVMe drives in a PCIe M.2 adaptor in DSM 7.2
- Previously only supported DSM 7.2.1
- Changed to enable creating storage pools/volumes on NVMe drives in a PCIe M.2 adaptor even if PCIe M.2 adaptor not found.
- This may allow creating NVMe volumes on 3rd party PCIe M.2 adaptors.
- Bug fix for when there's multiple expansion unit models only the last expansion unit was processed. Issue #288
- Bug fix for when there's multiple M2 adaptor card models only the last M2 card was processed.
- Bug fix for incorrectly matching model name variations as well as the exact model name.
- e.g. RX1217 matched RX1217, RX1217rp and RX1217sas.
v3.5.89
- Bug fix for -s, --showedits option with multiple of the same drive model but with different firmware versions. Issue #276
v3.5.88
- Changed how memory compatibility is disabled for older models. Issue #272
v3.4.87
- Fix Invalid json format syslog output #270
v3.4.86
- Hard coded /usr/syno/bin/<command> for Synology commands (to prevent $PATH issues). #249
v3.4.84
- Bug fix when script updates itself and user ran the script from ./scriptname.sh
v3.4.83
- Fix for drives that exist in the drive database already but have "compatibility not_support".
- Affected drives were showing as "Incompatible" in storage manager.
- Need to use the -i or --incompatible option.
v3.4.82
- Fix for drives that exist in the drive database already but have "compatibility unverified". Issue #224
- Affected drives were showing as "Unverified" in storage manager.
v3.4.81
- Bug fix for false "This script is NOT running on a Synology NAS!" if uname is installed from Entware. Issue #218
v3.4.80
- Bug fix for chmod failed on changes.txt
- Improved help message.
v3.4.78
- Added check that script is running on Synology NAS.
v3.4.77
- Include smart_test_ignore and smart_attr_ignore in db files.
- Now saves changes.txt as <script-filename>_changes.txt when updating the script.
- To not overwrite changes.txt if my other scripts are in the same folder.
- Bug fix for detecting if script is located on M.2 drive.
- Bug fix for error when -s or --showedits option was used. Issue #200
- Minor bug fix.
v3.3.73
- Bug fix for vendor id.
v3.3.72
- Bug fix for enabling creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards.
- Bug fix for not copying syno_hdd_db_vendors.txt to script location when script updates itself.
- Bug fix for checking if script located on NVMe drive.
v3.3.70
- Now enables creating storage pools in Storage Manager for M.2 drives in PCIe adaptor cards:
- E10M20-T1, M2D20, M2D18 and M2D17.
- DSM 7.2.1 and above only.
- Script needs to run after each boot.
- Added new vendor ids for Apacer, aigo, Lexar and Transcend NVMe drives.
- Now includes syno_hdd_vendor.txt so users can add their NVMe drive's vendor id.
- syno_hdd_vendor.txt needs to be in the same folder as syno_hdd_db.sh
- Now warns if script is located on an M.2 volume.
v3.2.69
- Added KIOXIA vendor id.
- Bug fix for wrong version number, which caused an update loop.
v3.2.68
- Updated so E10M20-T1, M2D20, M2D18 and M2D17 now work in models that use device tree and are using:
- DSM 7.2 Update 2 and 3, 7.2.1, 7.2.1 Update 1, 2 and 3. Issue #132, #148
- Now edits model.dtb instead of downloading a pre-edited version.
- Improvements to --restore option.
- Fix for Unknown vendor causing "Unsupported firmware version" warning. Issue #161
- Now supports NVMe drives that show as Unknown brand in storage manager: Issue #161
- ADATA, Corsair, Gigabyte, HS/MAXIO, MSI, Netac, Phison, PNY
- SK Hynix, Solidigm, SPCC/Lexar, TEAMGROUP, UMIS, ZHITAI
- Fixed bug where memory was shown in MB but with GB unit.
- Removed -i, --immutable option.
- Minor bug fixes.
v3.1.65
- Bug fix for NVMe drives with / in the model name for non-device tree Synology models. Issue #154
v3.1.64
- Added -e --email option to disable coloured output to make task scheduler emails easier to read.
- Bug fix for script not updating itself if .sh file had been renamed.
- Bug fix for missing executable permissions if .sh file had been renamed.
- Bug fix to prevent update loop if script's .tar.gz file already exists in /tmp.
- Bug fix to prevent update failing if script's temp folder already exists in /tmp.
- Now only copies CHANGES.txt to script location if script is located on a volume, to prevent putting CHANGES.txt on system partition (/usr/bin, /usr/sbin, /root etc.)
v3.1.63
- Added support to disable unsupported memory warnings on DVA models. #136
v3.1.62
- Fixed bug where newly connected expansion units weren't found until up to 24 hours later. Issue #124
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.
- 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
- 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.
v3.0.55
- Now enables any installed Synology M.2 PCIe cards for models that don't officially support them.
- You can use a M2D20, M2D18, M2D17 or E10M20-T1 on any model with a PCIe slot (not Mini PCIe).
- Now the script reloads itself after updating.
- Added -i, --immutable option to enable immutable snapshots on models older than '20 series running DSM 7.2.
- Added -w, --wdda option to disable WDDA (to prevent warnings when WD drives have been running more than 3 years).
- Added "You may need to reboot" message when NVMe drives were detected.
- Added --autoupdate=[age] option to auto update synology_hdd_db x days after new version released.
- Autoupdate logs update success or errors to DSM system log.
- Changed help to show -r, --ram also sets max memory to the amount of installed memory.
- Changed the "No M.2 cards found" to "No M.2 PCIe cards found" to make it clearer.
- Changed to skip checking the amount of installed memory in DSM 6 (because it was never working in DSM 6).
- Fixed HDD/SSD firmware versions always being 4 characters long (for DSM 7.2 and 6.2.4 Update 7).
- Fixed detecting amount of installed memory (for DSM 7.2 which now reports GB instead of MB).
- Fixed USB drives sometimes being detected as internal drives (for DSM 7.2).
- Fixed error if /run/synostorage/disks/nvme0n1/m2_pool_support doesn't exist yet (for DSM 7.2).
- Fixed drive db update still being disabled in /etc/synoinfo.conf after script run without -n or --noupdate option.
- Fixed drive db update still being disabled in /etc/synoinfo.conf after script run with --restore option.
- Fixed permissions on restored files being incorrect after script run with --restore option.
- Fixed permissions on backup files.
v2.2.47
- Updated reboot info in readme.
- Added reboot message for DSM 7.
- Bug fix for issue #77 (escape slashes in drive model name).
- Added error sound.
v2.2.45
- Minor bug fix.
v2.2.44
- Added --restore info to --help
- Updated restore option to download the latest db files from Synology.
- Now warns you if you try to run it in sh with "sh scriptname.sh"
v2.2.43
- Fixed DSM 6 bug where the drives were being duplicated in the .db files each time the script was run.
- Fixed DSM 6 bug where the .db files were being duplicated as .dbr each time the db files were edited.
v2.2.42
- Fixed bug where expansion units ending in RP or II were not detected.
- Added a --restore option to undo all changes made by the script.
- Now looks for and edits both v7 and non-v7 db files to solve issue #11 for RS '21 models running DSM 6.2.4. This will also ensure the script still works if:
- Synology append different numbers to the db file names in DSM 8 etc.
- The detected NAS model name does not match the .db files' model name.
- Now backs up the .db.new files (as well as the .db files).
- Now shows max memory in GB instead of MB.
- Now shows status of "Support disk compatibility" setting even if it wasn't changed.
- Now shows status of "Support memory compatibility" setting even if it wasn't changed.
v2.1.38
- Improved shell output when editing max memory setting.
- Changed method of checking if drive is a USB drive to prevent ignoring internal drives on RS models.
- Changed to not run "synostgdisk --check-all-disks-compatibility" in DSM 6.2.3 (which has no synostgdisk).
v2.1.37
- Now edits max supported memory to match the amount of memory installed, if installed memory is greater than the current max memory setting.
- Minor improvements.
v2.0.36
- Show the options used.
- Thank you to Gummibando on reddit for their donation.
v2.0.35
- Now allows creating M.2 storage pool and volume all from Storage Manager.
v1.3.34
- Now always shows your drive entries in the host db file if -s or --showedits used instead of only if db file was edited during that run.
- Changed to show usage if invalid long option used instead of continuing.
v1.3.33
- Fixed bug inserting firmware version for already existing model.
v1.3.32
- Changed to add drives' firmware version to the db files (to support data deduplication).
- See https://github.com/007revad/Synology_enable_Deduplication
- Changed to be able to edit existing drive entries in the db files to add the firmware version.
- Now supports editing db files that don't currently have any drives listed.
v1.2.31
- Bug fix. The --noupdate option was coded as --nodbupdate. Now either will work.
- Bug fix. Re-enable drive db updates wasn't working in some instances.
v1.2.30
- Fixed "download new version" failing if script was run via symlink or ./<scriptname>
v1.2.29
- Bug fix. v1.2.28 had v1.2.27 in the sh file so it always wanted to update!
v1.2.28
- Fixed bug in getting the M.2 card model.
v1.2.27
- Changed 'latest version check' to download and extract to /tmp then copy only the syno_hdd_db.sh and readme.txt files to the currrently running script's location.
- Minor tweaks to the shell output.
v1.2.25
- Minor bug fix.
v1.2.24
- Bug fix. Ignoring removable drives was ignoring all drives in DSM 7 on a RS2421rp+. Fix issue #23.
v1.2.23
- Changed to show if no M.2 cards were found, if M.2 drives were found.
v1.2.22
- Changed 'latest version check' to download to /tmp and extract files to the script's location to fix issue #27.
v1.2.21
- Reinstated removing brand from start of drive model to fix issue #24.
v1.2.20
- Added a timeouts when checking for newer script version in case github is down or slow to fix issue #25.
- Fixed change log (v1.2.19 and v1.2.18 were listed as v2.2.19 and v2.2.19).
v1.2.19
- Minor change to check new version code.
v1.2.18
- Minor shell output formatting fix.
v1.2.17
- Added disable support memory compatibility option --ram or -r
v1.2.16
- Changed to show the script version, Synology model and DSM version on each run to make it easier to debug any user's issues.
v1.2.15
- Now finds your expansion units' model numbers and adds your drives to their db files.
- Now adds your M.2 drives to your M.2 PCI card's db files (supports M2Dxx and E10M20-T1 and future models with similar model names).
- Improved flags/options checking and added usage help (-h or --help) and version info (-v or --version).
- Can now download the latest script version for you (if you have 'user home service' enabled in DSM).
- Now adds 'support_m2_pool="yes"' line for models that don't have support_m2_pool in synoinfo.conf
- To (hopefully) prevent losing your SSH created M2 volume when running this script on models that DSM 7.2 Beta does not list as supported for creating M2 volumes.
- Added removal of " 00Y" from end of Samsung/Lenovo SSDs to fix issue #13.
- Changed Synology NAS model detection to be more reliable (for models that came in different variations and report extra text after model). issue #2 and issue #10
- Changed checking drive_db_test_url setting to be more durable.
- Fixed bug where removable drives were being added to the drive database.
- Fixed bug where "M.2 volume support already enabled" message appeared when NAS had no M.2 drives.
v1.1.14
- Minor bug fix.
v1.1.13
- Fixed bug in v1.1.12 "check that M.2 volume support is enabled"
v1.1.12
- Added check that M.2 volume support is enabled.
v1.1.11
- Added support for M.2 SATA drives.
- Can now skip processing M.2 drives by running script with the -m2 flag.
- Changed method of getting drive and firmware version so script is faster and easier to maintain. No longer using smartctl or hdparm.
- Changed SAS drive firmware version detection to support SAS drives that hdparm doesn't work with.
- Removed error message and aborting if *.db.new not found (clean DSM installs don't have a *.db.new).
- Fixed script version check introduced in 1.0.7.
v1.1.10
- Now makes DSM recheck disk compatibility so reboot not needed (DSM 7 only).
- Fixed DSM 6 bug when DSM 6 used the old db file format.
v1.1.9
- Added support for SAS drives.
- Now gets HDD/SSD/SAS drive model number with smartctl instead of hdparm.
v1.1.8
- Now prevents DSM auto updating the drive database.
- Disable "support_disk_compatibility" (that was added in v1.0.6) is now optional.
- Run script with -f or -force to disable "support_disk_compatibility".
- If run without -f or -force "support_disk_compatibility" is re-enabled.
v1.0.7
- Added message if newer script version is available.
v1.0.6
- Added 2nd method of disabling disk compatibility to solve issue #1 and #4 for the few people where the original method didn't work.
v1.0.5
- Changed to avoid issue #2
v1.0.4
- Now backs up the database file if there is no backup already.
v1.0.3
Changed to avoid avoid error messages from previous change to search for sda and sata# drives in DSM 6 and DSM 7.
- /dev/sata*: No such file or directory
- /dev/sd*: No such file or directory
v1.0.2
- Improved formatting when listing found drives.
v1.0.1
- Fixed issue where drives weren't detected if:
- NAS had been updated from DSM 6 to DSM 7 and still used sda, sdb etc.
- Models like the DVA3219 that use sata# even in DSM 6.
v1.0.0
- Initial release.