Code Monkey home page Code Monkey logo

synology_enable_m2_volume's Introduction

Synology enable M2 volume

Donate committers.top badge

Description

Enable creating volumes with non-Synology M.2 drives

This script will:

  • Enable creating M.2 storage pools and volumes all from within Storage Manager.
  • Enable Health Info for non-Synology NVMe drives (not in DSM 7.2.1 or later).

It will work for DSM 7.2 and some models running DSM 7.1.1. As for a full list of which models it will work with, I don't know yet. I do know it does work on models listed by Synology as supported for creating M.2 volumes, and some '21 and newer enterprise models.

Confirmed working on

Click here to see list
Model Platform DSM version Works Note
E10M20-T1 DSM 7.2.1 and later No Use Synology_HDD_db instead
M2D20 DSM 7.2.1 and later No Use Synology_HDD_db instead
M2D18 DSM 7.2.1 and later No Use Synology_HDD_db instead
E10M20-T1 ALL No Use Synology_M2_volume instead
M2D20 ALL No Use Synology_M2_volume instead
M2D18 ALL No Use Synology_M2_volume instead
23 Series
DS1823xs+ V1000 DSM 7.2.1 and later No Use Synology_HDD_db instead
DS923+ R1000 DSM 7.2.1-69057 Update 5 yes Can use Synology_HDD_db instead
DS923+ R1000 DSM 7.2.1-69057 Update 4 yes Can use Synology_HDD_db instead
DS923+ R1000 DSM 7.2-64570 Update 3 yes Can use Synology_HDD_db instead
DS923+ R1000 DSM 7.2-64570 yes Can use Synology_HDD_db instead
DS923+ R1000 DSM 7.1.1-42962 Update 4 yes Can use Synology_HDD_db instead
DS723+ R1000 DSM 7.2-64570 Update 3 yes Can use Synology_HDD_db instead
DS423+ Geminilake DSM 7.1.1-42962 Update 5 yes Can use Synology_HDD_db instead
22 Series
DS3622xs+ Broadwellnk DSM 7.2.1-69057 Update 4 No M.2 panel missing in storage manager
DS3622xs+ Broadwellnk DSM 7.2-64570 Update 3 No M.2 panel missing in storage manager
DS3622xs+ Broadwellnk DSM 7.2-64570 yes
DS3622xs+ Broadwellnk DSM 7.1.1-42962 Update 4 yes
DS3622xs+ Broadwellnk DSM 7.1.1-42962 Update 1 No Use newer DSM version
DS1522+ R1000 DSM 7.2.1-69057 Update 4 yes Can use Synology_HDD_db instead
DS1522+ R1000 DSM 7.2-64570 yes Can use Synology_HDD_db instead
DS1522+ R1000 DSM 7.1.1-42962 Update 4 No Use newer DSM version
21 Series
RS4021xs+ Broadwellnk DSM 7.2.1-69057 Update 4 No M.2 panel missing in storage manager
RS4021xs+ Broadwellnk DSM 7.2-64570 Update 3 No M.2 panel missing in storage manager
RS4021xs+ Broadwellnk DSM 7.2-64570 yes
RS4021xs+ Broadwellnk DSM 7.1.1-42962 Update 2 yes
DS1821+ V1000 DSM 7.2.1-69057 Update 4 yes Can use Synology_HDD_db instead
DS1821+ V1000 DSM 7.2-64570 Update 3 yes Can use Synology_HDD_db instead
DS1821+ V1000 DSM 7.2-64570 Update 2 yes Can use Synology_HDD_db instead
DS1821+ V1000 DSM 7.2-64570 Update 1 yes Can use Synology_HDD_db instead
DS1821+ V1000 DSM 7.2-64570 yes Can use Synology_HDD_db instead
DS1621xs+ Broadwellnk DSM 7.2.1-69057 Update 5 yes Can use Synology_HDD_db instead
DS1621xs+ Broadwellnk DSM 7.2.1-69057 Update 4 yes Can use Synology_HDD_db instead
DS1621xs+ Broadwellnk DSM 7.2-64570 Update 3 yes Can use Synology_HDD_db instead
DS1621xs+ Broadwellnk DSM 7.2-64570 Update 1 yes Can use Synology_HDD_db instead
DS1621+ V1000 DSM 7.2.1-69057 Update 5 yes Can use Synology_HDD_db instead
DVA3221 Denverton DSM 7.x No Not working with any DSM version
20 Series
DS1520+ Geminilake DSM 7.2.1-69057 Update 4 yes
DS1520+ Geminilake DSM 7.2.1-69057 yes
DS920+ Geminilake DSM 7.2.1-69057 Update 5 yes
DS920+ Geminilake DSM 7.2.1-69057 Update 4 yes
DS920+ Geminilake DSM 7.2.1-69057 Update 3 yes
DS920+ Geminilake DSM 7.2.1-69057 Update 2 yes
DS920+ Geminilake DSM 7.2.1-69057 Update 1 yes
DS920+ Geminilake DSM 7.2.1-69057 yes
DS920+ Geminilake DSM 7.2-64570 Update 3 yes
DS920+ Geminilake DSM 7.2-64570 Update 1 yes
DS920+ Geminilake DSM 7.2-64570 yes
DS920+ Geminilake DSM 7.1.1-42962 Update 5 yes
DS920+ Geminilake DSM 7.1.1-42962 Update 4 No Use newer DSM version
DS720+ Geminilake DSM 7.2.1-69057 Update 4 yes
DS720+ Geminilake DSM 7.2.1-69057 yes
DS720+ Geminilake DSM 7.2-64570 Update 3 yes
DS720+ Geminilake DSM 7.2-64570 yes
DS620slim Apollolake DSM 7.2.1-69057 Update 4 No M.2 panel missing in storage manager
DS420+ Geminilake DSM 7.2.1-69057 Update 4 yes
DS420+ Geminilake DSM 7.2-64570 yes
19 Series
DS1019+ Apollolake DSM 7.2.1-69057 Update 4 yes Only one M.2 NVMe is supported
DS1019+ Apollolake DSM 7.2-64570 Update 3 yes Only one M.2 NVMe is supported
DS1019+ Apollolake DSM 7.2-64570 Update 1 yes Only one M.2 NVMe is supported
DS1019+ Apollolake DSM 7.2-64570 yes Only one M.2 NVMe is supported
18 Series
DS918+ Apollolake DSM 7.2.1-69057 Update 4 yes
DS918+ Apollolake DSM 7.2-64570 Update 3 yes
DS918+ Apollolake DSM 7.2-64570 yes
DS918+ Apollolake DSM 7.1.1-42962 Update 5 No Use newer DSM version
17 Series
DS3617xs Broadwell DSM 7.x No Not working with any DSM version
15 Series
DS3615xs Bromolow DSM 7.x No Not working with any DSM version
SA Series
SA6400 EPYC7002 DSM 7.2.1-69057 Update 4 yes

How is this different to the Synology_M2_volume script?

  • Synology_enable_M2_volume:

    • Allows creating an M.2 storage pool and volume all from within Storage Manager with any brand M.2 drive.
    • Gives you the option of SHR and JBOD, as well as RAID 0, RAID 1 and Basic.
    • Enables Health Info for non-Synology NVMe drives.
    • Add drive(s) and change RAID type work from within Storage Manager.
    • RAID repair and expansion work from within Storage Manager.
    • Easy to run as there a no questions to answer.
    • Works with DSM 7.2 beta and 7.1.1 (may work with DSM 7.1 and 7.0).
    • Works with any brand M.2 drives.
    • May only work with models Synology listed as supporting M.2 volumes.
    • Can be scheduled to run at boot or shut down.
    • Does NOT work for M.2 drives in a M2D20, M2D18, M2D17 or E10M20-T1.
    • Does NOT allow creating a storage pool/volume spanning internal NVMe drives and NVMe drives in a Synology M.2 PCIe card.
  • Synology_M2_volume:

    • Creates the synology partitions.
    • Creates the storage pool.
    • Requires you to do an Online Assemble in Storage Manager before you can create your volume.
    • A little more complicated as there are questions that you need to answer.
    • Gives you the option of Basic, RAID 0, RAID 1, RAID 5, RAID 6 and RAID 10.
    • Works with any DSM version.
    • Works with any brand M.2 drives.
    • Works with any Synology model that has M.2 slots or can install a Synology PCIe M.2 card.
    • Works for M.2 drives in a M2D20, M2D18, M2D17 or E10M20-T1.
    • Works for creating a storage pool/volume spanning internal NVMe drives and NVMe drives in a Synology M.2 PCIe card.
    • Can NOT be scheduled to run at boot or shut down.
Feature Synology_HDD_db Synology_enable_M2_volume Synology_M2_volume
DSM version DSM 7.2 and later (7.1.1 for some NAS models) DSM 7.2 and later (7.1.1 for some NAS models) Any DSM version
Non-Synology M.2 drives Yes Yes Yes
Ease of use Easy Easy Medium
Prompts for answers No No Yes, multiple times
Can be scheduled Yes Yes No
Online Assemble required No No DSM 7 Yes - DSM 6 No
RAID levels supported Basic, RAID 0, 1, 5, 6, 10, SHR, SHR-2, JBOD and RAID F1 (see Notes 1 and 2) Basic, RAID 0, 1, SHR, JBOD and RAID F1 (see Note 1) Basic, RAID 0, 1, 5, 6 and 10 (see Note 2)
Add drive(s) to RAID Yes, via Storage Manager Yes, via Storage Manager No
Change RAID type Yes, via Storage Manager Yes, via Storage Manager No
RAID repair Yes, via Storage Manager Yes, via Storage Manager No
RAID expansion Yes, via Storage Manager Yes, via Storage Manager No
NVMe Health Info Yes Yes No
M.2 drive location Internal M.2 and Synology M.2 PCie cards Internal M.2 slots only Internal M.2 and Synology M.2 PCie cards
Span internal and PCIe NVMes Yes No Yes
What it does Edits a few files in DSM Edits 1 file in DSM Creates partitons on M.2 drive(s)

Note 1: RAID F1 requires a Synology model that supports RAID F1.

Note 2: RAID 5 requires 3 or more NVMe drives. RAID 6 and 10 require 4 or more NVMe drives.

If you run this script then use Storage Manager to create your M.2 storage pool and volume and then run the script again with the --restore option to restore the original setting your storage pool and volume survive and the annoying notifications and warnings are gone.

Your volume also survives reboots and DSM updates.

Download the script

  1. Download the latest version Source code (zip) from https://github.com/007revad/Synology_enable_M2_volume/releases
  2. Save the download zip file to a folder on the Synology.
    • Do NOT save the script to a M.2 volume. After a DSM or Storage Manager update the M.2 volume won't be available until after the script has run.
  3. Unzip the zip file.

How to run the script

Running the script via SSH

How to enable SSH and login to DSM via SSH

Note: Replace /volume1/scripts/ with the path to where the script is located.

  1. Run the script then reboot the Synology:
    sudo -s /volume1/scripts/syno_enable_m2_volume.sh
  2. Go to Storage Manager and create your M.2 storage pool and volume(s).

Options:

  -c, --check           Check value in file and backup file
  -r, --restore         Restore backup to undo changes
  -n, --noreboot        Don't reboot after script has run
  -e, --email           Disable colored text in output scheduler emails
      --autoupdate=AGE  Auto update script (useful when script is scheduled)
                          AGE is how many days old a release must be before
                          auto-updating. AGE must be a number: 0 or greater
  -h, --help            Show this help message
  -v, --version         Show the script version

Extra Steps:

To get rid of drive database outdated notifications and unrecognised firmware warnings run Synology_HDD_db which will add your drives to DSM's compatibile drive databases, and prevent the drive compatability databases being updated between DSM updates.

sudo -s /path-to-script/syno_hdd_db.sh --noupdate

What about DSM updates?

After any DSM update you will need to run this script, and the Synology_HDD_db script again.

Schedule the script to run at shutdown

Or you can schedule Synology_enable_M2_volume to run when the Synology shuts down and Synology_HDD_db to run when the Synology boots up, to avoid having to remember to run both scripts after a DSM update.

See How to schedule a script in Synology Task Scheduler

Screenshots

Here's the result after running the script and rebooting. Note that the strorage pool is being created in Storage Manager and there's no Online Assembly needed. SHR and JBOD are also available.

After reboot I got some notifications saying the M.2 drives can be managed

No M2 Storage Pool or Volume yet

Non-Synology M.2 drives

Create Storage Pool 2

I wonder if RAID 5 and SHR-2 would be available if I had four M.2 drives.

RAID choices including SHR and JBOD

Select my non-Synology M.2 drives

We have an SHR M.2 storage pool

Create Volume 2

Finished Creating Volume 2

Credits

  • K4LO from the XPenology forum.
  • prt1999 for pointing me to K4LO.
  • capull0 for replacing bc with xargs.

synology_enable_m2_volume's People

Contributors

007revad avatar capull0 avatar davvarrr avatar m04ndj5xc2u3pn4eow avatar mateddy avatar slavikca avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

synology_enable_m2_volume's Issues

Script Syntax error line 161

Hi Dave,
in the latest version I have this error:

line 161: syntax error near unexpected token )'`

Ty for your work.
Andrea.

Make it possible for USB-Disks

Since DSM 7.1 there is no Port configs in synoinfo.conf for bringing the USB-Disks to a Volume.
Do you have an idea to make it possible anymore?

Not necessary? syno_hdd_db was enough

Hi,

I wanted to create a storage pool on my DS423+ with Samsung 970 Evo and a 970 Evo Plus.
Before executing this script I used https://github.com/007revad/Synology_HDD_db which apparently was enough.
I was already able to create a storage pool and a volume out of my two M.2 NVMe SSDs in the UI.

I am on DSM 7.1.1-42962 Update 6.

Anything I am missing? Anything this script here adds in functionality?

In any case thank you for your wonderful work!!

Error running script

截屏2023-09-20 下午10 52 30

The network connection is not very good, an error occurred while downloading bc. what should do now ?
Thanks very much.

Add DS920+ DSM 7.1.1-42962 Update 5 as Not Working

I haven't seen many issues posted here, but thought I would submit my attempt at following the directions provided.

  • Model: DS920+
  • DSM Version: DSM 7.1.1-42962 Update 5
  • Synology_enable_M2_volume: v1.0.6
  • Synology HDD db: v2.2.45
  1. sudo ./syno_enable_m2_volume.sh
  2. Restarted
  3. Got the drive outdated database notifcation
  4. Ran sudo ./syno_hdd_db.sh --noupdate
  5. Restarted

Let me know if you any other info to add this as being confirmed as not working for DS920+ & DSM 7.1.1-42962 Update 5.

problem after upgrading to 7.2

Hello. I have a problem after upgrading to 7.2. Help me please. I have DS 920+. Today I updated to 7.2 After the reboot, I got a non-working SSD. Synology in NVME properties writes an unsupported device. Online assembly/restoration of the volume fails. Is there any chance that your script will help in my data recovery problem?

E10M20-T1 PCIE Support

Any way to get E10M20-T1 PCIE support added? I have a DS2422+ with the E10M20-T1 PCIe NVMe card tried the current version on DSM 7.2 guessing only internal NVMe are supported at the minute.

M.2 Drive detected by script but not showing in DSM or able to create volume

Im running this on a HP elitedesk 800 G3 mini PC. It has a SSD and a M.2 nvme drive.
I installed xpenology(DS918+) on it. Only the sata SSD drive is currently showing in DSM.

I've tried running the 3 scripts, the HDD DB, Synology_enable_M2_volume, Synology_M2_volume.

The scripts show me the M.2 drive being detected. But fails to show up in DSM storage manager or even create volume using the script.
Here is the message i get:

`Running from: /volume1/data/Synology_M2_volume-2.0.27/syno_create_m2_volume.sh

nvme0n1 M.2 Drive nvme0n1 - SK Hynix PC300 NVMe SK hynix 256GB

Unused M.2 drives found: 1

  1. SHR 1
  2. Basic
  3. JBOD
    Select the RAID type: 2
    You selected basic

You have a choice of Multi Volume or Single Volume Storage Pool

  • Multi Volume Storage Pools allow creating multiple volumes and
    allow you to over provision to make the NVMe drive(s) last longer.
  • Single Volume Storage Pools are easier to recover data from
    and perform slightly faster.
  1. Multi Volume (DSM 7 default)

  2. Single Volume
    Select the storage pool type: 1
    You selected Multi Volume storage pool

  3. nvme0n1
    Select the M.2 drive: 1
    You selected nvme0n1

Do you want perform a drive check? [y/n]
n

Ready to create Basic storage pool using nvme0n1
Type yes to continue. Type anything else to quit.
yes

Starting creation of the storage pool.
0 synostgpool failed to create storage pool!
`

Another confirmed device

And also confirmed working with the DS720+ running DSM 7.2-64561
Using SHR with a 1TB WD SN570 Nvme.

I have a second Kingston SNV2S500G Nvme in there being used for SSD cache against the spinning disk storage pool.

please disable autoupdate per default

Your bash script is well written, good work!!

The only thing right now i don't like, is that autoupdate is enabled by default, which is a pure backdoor to any NAS, where this feature is enabled.
I know sure you don't have any bad intentions, but consider your Github account will get hacked. or access token get stolen.
You can put a disclaimer behind the autoupdate feature to inform users, what this means, if they enable this feature.

Maybe you just put the signature (hexstring) in an own config and autoupdate is just updating this config.
ok, you will be then able to DOS any NAS user using this feature with a corrupt libhwcontrol.so.1, but injecting code into libhwcontrol.so.1 should be very hard :)

Confirmed working for DS1019+

DS1019+ on DSM 7.2-64561
2x WD_BLACK 1TB SN770 m.2 using RAID 1

Question: The docs say After any DSM update you will need to run this script, and the Synology_HDD_db script again.. Can you clarify what will happen if you don't run the scripts again, and when exactly the scripts should be run (before/after shutdown)? If the scripts are not run and the system reboots with a new version, could it cause data loss? Or would we simply run the scripts again and then the volumes would reappear?

Thank you!

not working DVA version 7.2

I can only create an ssd cache, the pool does not allow me to create, writes that disks are not supported. Can you add DVA3219 support? I tried the syno_create_m2_volume script.sh and it successfully creates a resource pool, but I would like to manage it via DSM.

Errors on line 73 and 107 when running this script

Hi, I have a Synology DS723+ that is running DSM 7.2.1-69057 Update 3.

I am running the script as follows (the file is in my downloads folder), specifically: "sudo -i ~/Downloads/Synology_enable_M2_volume-1.1.15/syno_enable_m2_volume.sh"

but I am receiving the following error messages:

"line 73: ${1,,}: bad substitution"

"line 107: get_key_value: command not found
This script only works for DSM 7."

I'm unsure what I'm doing incorrectly here as I thought I was following the exact instructions to run the script.

Any ideas on what I can do to bypass this hurdle?

For reference I currently have a Crucial MX 500 2.5" SATA SSD in one of the drive slots, and two Crucial P3 Plus 4TB PCIe Gen4 3D NAND NVMe M.2 SSD's in the slots on the bottom of the device.

Synology recognizes the initial Crucial MX 500 2.5 SSD, but won't recognize the NMVe's, thus why I'm trying to run this script.

Any ideas would be appreciated, thank you! Please let me know if I'm leaving out anything pertinent.

Confirmed working on:

DS918+ with DSM 7.2-64561
500 GB Samsung 970 EVO Plus and Samsung 980 in RAID 1.

So far no issues. Thanks a lot!

/var/log/messages spam

Hi and thank you for this perfect project.

I am not sure in the reasons, but looks these messages appeared after this script.
Be honest I don't check messages very often.

Synology_enable_M2_volume v1.0.10
DS918+ DSM 7.2-64570-3

root@Server:~# tail -f /var/log/messages
2023-09-28T08:36:20+03:00 Server synostgd-disk[29430]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:37:20+03:00 Server synostgd-disk[29608]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:39:20+03:00 Server synostgd-disk[30025]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:40:20+03:00 Server synostgd-disk[30203]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:42:20+03:00 Server synostgd-disk[31038]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:43:20+03:00 Server synostgd-disk[31267]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:44:20+03:00 Server synostgd-disk[31641]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:45:20+03:00 Server synostgd-disk[32206]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:46:20+03:00 Server synostgd-disk[318]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:47:20+03:00 Server synostgd-disk[908]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:48:20+03:00 Server synostgd-disk[1486]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:49:20+03:00 Server synostgd-disk[2047]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:50:20+03:00 Server synostgd-disk[2630]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:51:20+03:00 Server synostgd-disk[3199]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:52:20+03:00 Server synostgd-disk[3770]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:53:20+03:00 Server disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:54:20+03:00 Server synostgd-disk[4947]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)
2023-09-28T08:55:20+03:00 Server synostgd-disk[5519]: disk_monitor.c:289 The temperature[23] of /dev/nvme0n1 >= T2. (T1: -273, T2: -273)

I would be very grateful if you could advise me with the reason of this spam and how it could be fixed

Works on my DS 920+ 7.2.1-69057 Update 3

Meant to update to 7.2.1-69057 Update 1 but got Update 3 instead. Upon first boot after updating DSM, the M2 volume was unrecognized, and DSM was complaining about it. I rebooted again and every was good again. I have a task scheduled to run this script (and the DB script) on shutdown, so that's probably why.

DSM 7.2.1-69057 Update 5 not working

Hi there, it looks like the "Synology enable M2 volume" script is not working with the DSM 7.2.1-69057 Update 5 on the DS1821+.
I tried it several times with the tasked schedule in combination of the hdd vendor script but it's not working.
Is there an update in the work?
Regards

DSM 7.2.1-69057 Update 4 for DS920+

Hi,

I noticed DSM 7.2.1-69057 Update 4 isn't listed in the "Confirmed working on" data table for the DS920+.

Is it due to the version not being compatible with this script or it hasn't been tested yet?

Thanks again for creating this script!

data loss?

Quick question... My NVME worked with DSM 7.1 and has data on it.
After update to DSM 7.2 the NVME is not recognized anymore.

With this script, will DS920+ recognize my NVME with old data again?

DS923+ already succeed with Synology_M2_volume, should I run this Synology_enable_M2_volume?

Hi 007revad, BIG thanks for sharing these great scripts, as I have already run Synology_M2_volume script last weekend on my DS923+, and successfully created volume with my 2T West Digital NVMe drive.

Now I am planning to add one more NVMe drive to DS923+, as it has two NVMe slots. My plan is to bind these two drives and create a 4T pool as a whole, instead of two separate 2T volumes. But I am not sure what to do with that... It seems I have to run this new Synology_enable_M2_volume script and then choose the JBOD mode in Disk Manager, is that correct? And do I need to erase the previous Synology_M2_volume script before I run the new one?

Many thanks!

Chris

PVE, DS3622xs+, 7.2-64561

use a virtual machine environment for testing convenience.

env:
PVE 7.4-3 with latest kernel: 6.2.11-2-pve
Virtual Machine: DS3622xs+ DSM 7.2-64561, PCIe passthrough: M2. NVME

log:
Synology_enable_M2_volume v1.0.6

Synology_enable_M2_volume v1.0.6
DS3622xs+ DSM 7.2-64561 

Using options: 
Backup successful.

Checking file.
198666 = 3080a
0003080a: 803E 00B8 0100 0000 7524 488B

Editing file.

Checking if file was successfully edited.
198666 = 3080a
0003080a: 803E 00B8 0100 0000 9090 488B
File successfully edited.

You can now create your M.2 storage pool in Storage Manager.

M.2 volume support already enabled.

The Synology needs to restart.
Type yes to reboot now.
Type anything else to quit (if you will restart it yourself).

Synology_HDD_db v2.2.47

Synology_HDD_db v2.2.47
DS3622xs+ DSM 7.2-64561 
Using options: -nr

HDD/SSD models found: 1
HARDDISK,2.5+

M.2 drive models found: 1
aigo NVMe SSD P7000Z 2TB,H230407a

No M.2 cards found

No Expansion Units found

HARDDISK already exists in ds3622xs+_host_v7.db
aigo NVMe SSD P7000Z 2TB already exists in ds3622xs+_host_v7.db

Re-enabled support disk compatibility.

Support memory compatibility already disabled.

M.2 volume support already enabled.

Drive db auto updates already disabled.

DSM successfully checked disk compatibility.

You may need to reboot the Synology to see the changes.

Issue:
There are 2 drives that do not meet the drive requirements.
screenshot:
http://usa1.cyder.club/dsm2.png

additional info:
after reboot:

#cat /run/synostorage/disks/nvme0n1/m2_pool_support
0 
#cat /run/synostorage/disks/nvme1n1/m2_pool_support 
0

force, but no effect:

echo 1 > /run/synostorage/disks/nvme0n1/m2_pool_support
echo 1 > /run/synostorage/disks/nvme1n1/m2_pool_support

Sharing test results for all models in DSM 7.2.1-69057 Update 4

I have tested all models supported by Redpill in DSM 7.2.1-69057 Update 4 (based on TCRP).
TCRP supports a total of 9 platforms that support Epyc7002.
Among them, DS3615xs (Bromallow) was discontinued in 7.1.1.
As of now, DSM 7.2.1 brings the total to 8 platforms.

I supplemented it further by referring to your results sheet.
I added the results of the new working SA6400 and the non-working DS3615xs and DVA3221, and tested all of DSM 7.2.1-69057 Update 4.

All Broadwillnks do not work as expected except for the special DS1621xs+ which I discussed with you last time.

https://github.com/PeterSuh-Q3/tcrp-addons/tree/main/nvmevolume-onthefly#readme

I simplified the hexa patching of libhwcontrol.so.1 further as shown below.
This is similar to the method I used with my nvme-cache addon.

https://github.com/PeterSuh-Q3/tcrp-addons/blob/main/nvmevolume-onthefly/src/install.sh

Due to the nature of Redpill, it needs to be activated immediately after DSM installation is completed and the logon account is created, so the OS ON LOAD point where tmpRoot is used was used.

My script also operates in the same way as your result sheet regarding whether each model operates or not.

DS420+

DS420+
+
Kingston A2000 [SA2000M8/250G]
+
Kingston NV2 [SNV2S/1000G]
+
DSM 7.2-64561
+
Synology_enable_M2_volume

It's working!

Confirmed working for DS423+

DS423+ running DSM 7.1.1-42962 Update 5
2 x SSD Samsung 980 M.2 1000 GB PCI Express 3.0 V-NAND NVMe (using JBOD)

Thank you for all your efforts!

Drive Database outdated. can't recognize your drive

Hi,

I followed your script and all worked great for a day, the following day I got a message:

The drive database is outdate and cannot recognize one ore more of your synology drives. to ensure compatibility, update the database

when I go to my drives I see the volume and pool all working fine, but in the Firmware version section I see this message:
Unrecognized firmware version, please update the drive database.

I ran your script again and it didn't do anything, saying everything is good.

how to get rid of this warning? will this impact my storage functionality?

Small scheduled task question - big thank you

Not an issue, just a small question and a big thank you for this script.
After updating my 1019+ to DSM 7.2-64570 Update 1 the storage pool on the m.2 disks was no longer available.
Ran this script and restarted after which the storage pool was available again.
Thanks!!

I've configured a scheduled task to run on shutdown.
My question is if it's needed to add the --noupdate after syno_hdd_db.sh or if can leave that out.
I did use --noupdate the first time running the script.

Also, would it be better to run these scripts at shutdown or at startup? I'd think on shutdown?

Current commands:
Screenshot 2023-06-20 at 13 14 12@2x

offline version of the script

Hi,

I don't like the idea that your script downloads and executes .sh file with root privileges on my NAS every time it shutdowns.

If one day this repo will be compromised – thousands of devices may be destroyed.

Is it possible to create an "offline" version of this script?

Regards,
Artyom

you can keep it simple

here an example oneliner how to patch the lib, just with xxd and sed:
cd /usr/lib && xxd -p -u -c 0 libhwcontrol.so.1 > /tmp/libhwcontrol.so.1.tmp && grep -v "803E00B8010000009090488B" /tmp/libhwcontrol.so.1.tmp >/dev/null && grep -e "803E00B801000000752.488B" /tmp/libhwcontrol.so.1.tmp >/dev/null && cp libhwcontrol.so.1 libhwcontrol.so.1.bak && sed 's/803E00B801000000752.488B/803E00B8010000009090488B/' /tmp/libhwcontrol.so.1.tmp | xxd -r -p > libhwcontrol.so.1

xxd -p -u -c 0 to read
xxd -r -p to write

maybe this helps to simplify your script

Unrecognized firmware version still shows after successfully creating volume, then running syno_hdd_db.sh - normal?

Successfully used this script to create a SHR pool with two new drives a couple of days ago. I ran the syno_hdd_db.sh script after, which got rid of the general drive warning, but noticed it still shows a message about unrecognized firmware - is this to be expected? It doesn't ping me any notifications about it, just shows in the HDD/SSD page in Storage Manager.

image

On another note, as you can see above, one of my drives has already crashed in the pool. This is a 3 day old drive ha ha! I'm assuming I just got a dud drive, but thought I'd mention that as well anyway in case you've heard of this happening at all when creating these volumes on 'unsupported' models. Thanks for the awesome work btw :)

Edit: the output from the db update script is as follows (I've done a reboot a couple times past few days and scheduled it also):

nas-ds920:~$ sudo -i "/volume1/homes/stef/scripts/syno_hdd_db.sh" --noupdate                               Password:
Synology_HDD_db v2.2.47
DS920+ DSM 7.2-64561
Using options: --noupdate

HDD/SSD models found: 2
WD160EDFZ-11AFWA0,0A81
WD160EDGZ-11B2DA0,0A85

M.2 drive models found: 1
CT500P3SSD8,P9CR30A

No M.2 cards found

No Expansion Units found

Added WD160EDFZ-11AFWA0 to ds920+_host_v7.db
Added WD160EDGZ-11B2DA0 to ds920+_host_v7.db
Added CT500P3SSD8 to ds920+_host_v7.db

Support disk compatibility already enabled.

Support memory compatibility already enabled.

M.2 volume support already enabled.

Disabled drive db auto updates.

DSM successfully checked disk compatibility.

You may need to reboot the Synology to see the changes.

Feature request: telemetry

Opt-in switch to send all functioning disks to you and have them displayed somewhere public for the community to see compatible drives.

Would be interesting to see what hardware people are running.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.