007revad/Synology_enable_M2_card

Enable M.2 PCIe cards in Synology NAS that don't officially support them

Shell

116

258 commits

updated Sep 10, 2026

See the code

README

Synology enable M2 card

Badge Donate

Description

Enable Synology M.2 PCIe cards in Synology NAS that don't officially support them

Allows using E10M20-T1, M2D20, M2D18 or M2D17 cards in Synology NAS models that aren't on their supported model list.

  • Enables E10M20-T1, M2D20, M2D18 and M2D17 for DS1823xs+, DS1821+, DS1621+.
  • Enables M2D18 and M2D17 for DS2422+, RS2423+, RS2421+, RS2421RP+, RS2821RP+.
  • Enables M2D18 and M2D17 for RS822RP+, RS822+, RS1221RP+ and RS1221+ using DSM 7.1.1 and older.
  • May enable E10M20-T1, M2D20, M2D18 and M2D17 for other models with a PCIe x8 slot that have /usr/syno/synonvme.

Synology HDD db now enables using Storage Manager to create volumes on M.2 drives in a PCIe M.2 adaptor card.


Which Synology models will this work on


Works on the following models:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS1825+yesyesyesyes
DS1823xs+yesyesyesyes
DS2422+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
DS1821+yesyesyesyes
DS1621xs+yesyes??????
DS1621+yesyesyesyes
RS2825RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2423+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2423RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2421+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2421RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2821RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS822+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS822RP+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS1221+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS1221RP+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS2418+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
RS2418RP+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
RS2818RP+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
othersmaybemaybemaybemaybeSee Other Models Notes

Notes

  1. Synology added support for the M2D18 in RS822+ and RS1221+ in DSM 7.2
  2. E10M20-T1 needs 1cm cut off to fit into a RS2418RP+/RS2418+

Other Models Notes

  • The Synology must have a PCIe x8 slot
  • DSM must include /usr/syno/bin/synonvme
  • DSM must include /usr/lib/libsynonvme.so.1


Should work for the following models but I have not tested them:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
FS2500yesyesyesyes
FS3410yesyesyesyes
FS6400yesyesyesyes
HD6500yesyesyesyes
SA4310yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
SA3610yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
SA6400yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM


Synology NAS models that this script may work on?

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS3617xsyesyes??????E10M20-T1, M2D20 and M2D17 SATA already enabled in DSM
DS3617xsIIyesyes??????E10M20-T1, M2D20 and M2D17 SATA already enabled in DSM
DS3622xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS1619xs+????????????
RS2821RP+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3617RPxsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3617xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3618xsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3621RPxsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3621xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS4017xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS4021xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS18017xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
FS1018??????yesyesMD18 already enabled in DSM
FS2017????????????
FS3400????????????
FS3600????????????
SA3200D????????????
SA3400yesyes??????E10M20-T1 and M2D20 already enabled in DSM
SA3400D????????????
SA3600yesyes??????E10M20-T1 and M2D20 already enabled in DSM


Synology NAS models that this script won't work on:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS923+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS723+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS1522+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
RS422+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS1817+nonononoDoes not have /usr/syno/bin/synonvme
DS1517+nonononoDoes not have /usr/syno/bin/synonvme
RS1219+nonononoDoes not have /usr/syno/bin/synonvme
RS818+nonononoDoes not have /usr/syno/bin/synonvme
RS818RP+nonononoDoes not have /usr/syno/bin/synonvme
RS3617xsnonononoDoes not have /usr/syno/bin/synonvme
RS18016xs+nonononoDoes not have /usr/syno/bin/synonvme
FS3017nonononoDoes not have /usr/syno/bin/synonvme

How to run the script

Download the script

  1. Download the latest version Source code (zip) from https://github.com/007revad/Synology_enable_M2_card/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.

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. Run the script then reboot the Synology:

sudo -s /volume1/scripts/syno_enable_m2_card.sh

Options:

  -c, --check           Check M.2 card status
  -r, --restore         Restore from backups to undo changes
  -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
      --model=CARD      Automatically enable specified card model
                        Required if you want to schedule the script
                        CARD can be E10M20-T1, M2D20, M2D18 or M2D17
  -h, --help            Show this help message
  -v, --version         Show the script version

What about DSM updates?

After any DSM update you will need to run this script again.

Schedule the script to run at shutdown

Or you can schedule Synology_enable_M2_card to run when the Synology shuts down, to avoid having to remember to run the script after a DSM update.

See How to schedule a script in Synology Task Scheduler


Screenshots

Available options

Enabling all M.2 card models

Checking the current M.2 card settings

E10M20-T1 already enabled

All M.2 card models already enabled

Restoring the original M.2 card settings

DS1821+ with a E10M20-T1

diskstation
dsm
rackstation
synology
synology-disk-station
synology-dsm
synology-nas

007revad/Synology_enable_M2_card

Enable M.2 PCIe cards in Synology NAS that don't officially support them

Shell

116

258 commits

updated Sep 10, 2026

See the code

README

Synology enable M2 card

Badge Donate

Description

Enable Synology M.2 PCIe cards in Synology NAS that don't officially support them

Allows using E10M20-T1, M2D20, M2D18 or M2D17 cards in Synology NAS models that aren't on their supported model list.

  • Enables E10M20-T1, M2D20, M2D18 and M2D17 for DS1823xs+, DS1821+, DS1621+.
  • Enables M2D18 and M2D17 for DS2422+, RS2423+, RS2421+, RS2421RP+, RS2821RP+.
  • Enables M2D18 and M2D17 for RS822RP+, RS822+, RS1221RP+ and RS1221+ using DSM 7.1.1 and older.
  • May enable E10M20-T1, M2D20, M2D18 and M2D17 for other models with a PCIe x8 slot that have /usr/syno/synonvme.

Synology HDD db now enables using Storage Manager to create volumes on M.2 drives in a PCIe M.2 adaptor card.


Which Synology models will this work on


Works on the following models:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS1825+yesyesyesyes
DS1823xs+yesyesyesyes
DS2422+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
DS1821+yesyesyesyes
DS1621xs+yesyes??????
DS1621+yesyesyesyes
RS2825RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2423+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2423RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2421+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2421RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS2821RP+yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
RS822+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS822RP+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS1221+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS1221RP+yesyesyesyesE10M20-T1 and M2D18 already enabled in DSM*
RS2418+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
RS2418RP+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
RS2818RP+yesyesyesyesM2D20, M2D18 and M2D17 already enabled in DSM. E10M20-T1 see note 2
othersmaybemaybemaybemaybeSee Other Models Notes

Notes

  1. Synology added support for the M2D18 in RS822+ and RS1221+ in DSM 7.2
  2. E10M20-T1 needs 1cm cut off to fit into a RS2418RP+/RS2418+

Other Models Notes

  • The Synology must have a PCIe x8 slot
  • DSM must include /usr/syno/bin/synonvme
  • DSM must include /usr/lib/libsynonvme.so.1


Should work for the following models but I have not tested them:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
FS2500yesyesyesyes
FS3410yesyesyesyes
FS6400yesyesyesyes
HD6500yesyesyesyes
SA4310yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
SA3610yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM
SA6400yesyesyesyesE10M20-T1 and M2D20 already enabled in DSM


Synology NAS models that this script may work on?

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS3617xsyesyes??????E10M20-T1, M2D20 and M2D17 SATA already enabled in DSM
DS3617xsIIyesyes??????E10M20-T1, M2D20 and M2D17 SATA already enabled in DSM
DS3622xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS1619xs+????????????
RS2821RP+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3617RPxsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3617xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3618xsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3621RPxsyesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS3621xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS4017xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS4021xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
RS18017xs+yesyes??????E10M20-T1 and M2D20 already enabled in DSM
FS1018??????yesyesMD18 already enabled in DSM
FS2017????????????
FS3400????????????
FS3600????????????
SA3200D????????????
SA3400yesyes??????E10M20-T1 and M2D20 already enabled in DSM
SA3400D????????????
SA3600yesyes??????E10M20-T1 and M2D20 already enabled in DSM


Synology NAS models that this script won't work on:

Click here to see list
ModelE10M20-T1M2D20M2D18M2D17Notes
DS923+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS723+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS1522+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
RS422+nonononoPCIe x2 slot only fits the E10G22-T1-Mini
DS1817+nonononoDoes not have /usr/syno/bin/synonvme
DS1517+nonononoDoes not have /usr/syno/bin/synonvme
RS1219+nonononoDoes not have /usr/syno/bin/synonvme
RS818+nonononoDoes not have /usr/syno/bin/synonvme
RS818RP+nonononoDoes not have /usr/syno/bin/synonvme
RS3617xsnonononoDoes not have /usr/syno/bin/synonvme
RS18016xs+nonononoDoes not have /usr/syno/bin/synonvme
FS3017nonononoDoes not have /usr/syno/bin/synonvme

How to run the script

Download the script

  1. Download the latest version Source code (zip) from https://github.com/007revad/Synology_enable_M2_card/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.

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. Run the script then reboot the Synology:

sudo -s /volume1/scripts/syno_enable_m2_card.sh

Options:

  -c, --check           Check M.2 card status
  -r, --restore         Restore from backups to undo changes
  -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
      --model=CARD      Automatically enable specified card model
                        Required if you want to schedule the script
                        CARD can be E10M20-T1, M2D20, M2D18 or M2D17
  -h, --help            Show this help message
  -v, --version         Show the script version

What about DSM updates?

After any DSM update you will need to run this script again.

Schedule the script to run at shutdown

Or you can schedule Synology_enable_M2_card to run when the Synology shuts down, to avoid having to remember to run the script after a DSM update.

See How to schedule a script in Synology Task Scheduler


Screenshots

Available options

Enabling all M.2 card models

Checking the current M.2 card settings

E10M20-T1 already enabled

All M.2 card models already enabled

Restoring the original M.2 card settings

DS1821+ with a E10M20-T1

diskstation
dsm
rackstation
synology
synology-disk-station
synology-dsm
synology-nas

Languages

Shell

100.0%