[GH-ISSUE #75] Working except with ASM2824 switch chip NVME adapter #215

Closed
opened 2026-03-12 18:08:59 +03:00 by kerem · 15 comments
Owner

Originally created by @wcho-metrocsg on GitHub (Jul 19, 2023).
Original GitHub issue: https://github.com/007revad/Synology_M2_volume/issues/75

Hi,

This works with DS3622xs+, DSM 7.2-64570 Update 1. But not when the NVME drive is installed onto an adapter card with the ASM2824 chip. The script sees the drive and formats it but upon reboot, the drive is not available under Online Assemble.

sudo ls -I ram -I loop* -I dm-* /sys/block

md0 nvme0n1 ram10 ram13 ram2 ram5 ram8 synoboot
md1 ram0 ram11 ram14 ram3 ram6 ram9 zram0
md2 ram1 ram12 ram15 ram4 ram7 sda zram1

Can this be made to work with this type of adapter card that does not rely on PCIe bifurcation?

Thanks,

Originally created by @wcho-metrocsg on GitHub (Jul 19, 2023). Original GitHub issue: https://github.com/007revad/Synology_M2_volume/issues/75 Hi, This works with DS3622xs+, DSM 7.2-64570 Update 1. But not when the NVME drive is installed onto an adapter card with the ASM2824 chip. The script sees the drive and formats it but upon reboot, the drive is not available under Online Assemble. sudo ls -I ram -I loop* -I dm-* /sys/block md0 nvme0n1 ram10 ram13 ram2 ram5 ram8 synoboot md1 ram0 ram11 ram14 ram3 ram6 ram9 zram0 md2 ram1 ram12 ram15 ram4 ram7 sda zram1 Can this be made to work with this type of adapter card that does not rely on PCIe bifurcation? Thanks,
kerem closed this issue 2026-03-12 18:09:04 +03:00
Author
Owner

@007revad commented on GitHub (Jul 21, 2023):

You sent me down a rabbit hole of trying to find out if Synology NAS support PCIe bifurcation, and PLX. And I'm still not sure. I read something about Synology's E10M20-T1 10GbE + 2x M.2 card but I can't remember if was PLX or bifurcation.

I believe your issue is that DSM only looks for Synology's own adaptor cards. But it's interesting that the script can see the NVMe drives that are installed in a non-Synology adaptor card.

I've just finished a script to allow using Synology's M.2 PCIe adaptor cards in Synology NAS that don't officially support those cards. Maybe I can use what I learnt writing that script to enable your non-Synology adaptor card. I just need to figure out how DSM gets the model of PCIe adaptor cards so we can find out what model name DSM sees for your PCIe adaptor card.

After we can determine what model name DSM sees I can try adding it to /usr/syno/etc.defaults/adapter_cards.conf

<!-- gh-comment-id:1644999703 --> @007revad commented on GitHub (Jul 21, 2023): You sent me down a rabbit hole of trying to find out if Synology NAS support PCIe bifurcation, and PLX. And I'm still not sure. I read something about Synology's E10M20-T1 10GbE + 2x M.2 card but I can't remember if was PLX or bifurcation. I believe your issue is that DSM only looks for Synology's own adaptor cards. But it's interesting that the script can see the NVMe drives that are installed in a non-Synology adaptor card. I've just finished a script to allow using Synology's M.2 PCIe adaptor cards in Synology NAS that don't officially support those cards. Maybe I can use what I learnt writing that script to enable your non-Synology adaptor card. I just need to figure out how DSM gets the model of PCIe adaptor cards so we can find out what model name DSM sees for your PCIe adaptor card. After we can determine what model name DSM sees I can try adding it to /usr/syno/etc.defaults/adapter_cards.conf
Author
Owner

@007revad commented on GitHub (Jul 21, 2023):

The Synology E10M20-T1 does not use PLX, so I'd assume the M2D20 and M2D18 don't either.

Someone who owns a Synology SA3400 rackmount NAS said it does not support bifurcation, so I'd assume Synology's RS and DS models would not support bifurcation either.

<!-- gh-comment-id:1645029851 --> @007revad commented on GitHub (Jul 21, 2023): The Synology E10M20-T1 does not use PLX, so I'd assume the M2D20 and M2D18 don't either. Someone who owns a Synology SA3400 rackmount NAS said it does not support bifurcation, so I'd assume Synology's RS and DS models would not support bifurcation either.
Author
Owner

@wcho-metrocsg commented on GitHub (Jul 21, 2023):

Apologies,

I shouldn't have stated that the script was working on a DS3622xs+. I am not using Synology hardware so I'll understand if you want to close this issue as unsupported.

<!-- gh-comment-id:1645063678 --> @wcho-metrocsg commented on GitHub (Jul 21, 2023): Apologies, I shouldn't have stated that the script was working on a DS3622xs+. I am not using Synology hardware so I'll understand if you want to close this issue as unsupported.
Author
Owner

@007revad commented on GitHub (Jul 21, 2023):

I assume you're using Xpenology. It might be better to ask on the Xpenology forums. Though I'd be curious to know what the solution is, if there is one.

<!-- gh-comment-id:1645072753 --> @007revad commented on GitHub (Jul 21, 2023): I assume you're using Xpenology. It might be better to ask on the Xpenology forums. Though I'd be curious to know what the solution is, if there is one.
Author
Owner

@007revad commented on GitHub (Jul 21, 2023):

Some of these synonvme command options look promising:

Usage: synonvme
--m2-card-model-get <nvme path>                      get m.2 adapter card model
--get-location nvme_path / nvme_name                 get the pcie slot and card slot
--port-type-get nvme_path / nvme_name                get nvme disk port type.
--m2-card-model-get-by-pcie <pcie path>              get m.2 adapter card model by pcie path

What do these commands return?

synonvme --m2-card-model-get /dev/nvme0n1
synonvme --get-location /dev/nvme0n1
synonvme --port-type-get /dev/nvme0n1

Or we can get the with:
udevadm info /dev/nvme0n1

And then use that pcie path with:
synonvme --m2-card-model-get-by-pcie <pcie path>

<!-- gh-comment-id:1645088825 --> @007revad commented on GitHub (Jul 21, 2023): Some of these synonvme command options look promising: ``` Usage: synonvme --m2-card-model-get <nvme path> get m.2 adapter card model --get-location nvme_path / nvme_name get the pcie slot and card slot --port-type-get nvme_path / nvme_name get nvme disk port type. --m2-card-model-get-by-pcie <pcie path> get m.2 adapter card model by pcie path ``` What do these commands return? ``` synonvme --m2-card-model-get /dev/nvme0n1 synonvme --get-location /dev/nvme0n1 synonvme --port-type-get /dev/nvme0n1 ``` Or we can get the <pcie path> with: `udevadm info /dev/nvme0n1` And then use that pcie path with: `synonvme --m2-card-model-get-by-pcie <pcie path>`
Author
Owner

@wcho-metrocsg commented on GitHub (Jul 21, 2023):

If I understood correctly:

synonvme --m2-card-model-get /dev/nvme0n1
FX2422N

synonvme --get-location /dev/nvme0n1
Can't get the location of /dev/nvme0n1

synonvme --port-type-get /dev/nvme0n1
Unknown.

udevadm info /dev/nvme0n1
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1
N: nvme0n1
E: DEVNAME=/dev/nvme0n1
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1
E: DEVTYPE=disk
E: MAJOR=259
E: MINOR=0
E: PHYSDEVBUS=pci
E: PHYSDEVDRIVER=nvme
E: PHYSDEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0
E: SUBSYSTEM=block
E: SYNO_ATTR_SERIAL=redacted
E: SYNO_DEV_DISKPORTTYPE=INVALID
E: SYNO_INFO_PLATFORM_NAME=broadwellnk
E: SYNO_KERNEL_VERSION=4.4
E: SYNO_SUPPORT_USB_PRINTER=yes
E: SYNO_SUPPORT_XA=no
E: TAGS=:systemd:
E: USEC_INITIALIZED=496521

synonvme --m2-card-model-get-by-pcie /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1
Not M.2 adapter card

<!-- gh-comment-id:1645586418 --> @wcho-metrocsg commented on GitHub (Jul 21, 2023): If I understood correctly: synonvme --m2-card-model-get /dev/nvme0n1 FX2422N synonvme --get-location /dev/nvme0n1 Can't get the location of /dev/nvme0n1 synonvme --port-type-get /dev/nvme0n1 Unknown. udevadm info /dev/nvme0n1 P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1 N: nvme0n1 E: DEVNAME=/dev/nvme0n1 E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1 E: DEVTYPE=disk E: MAJOR=259 E: MINOR=0 E: PHYSDEVBUS=pci E: PHYSDEVDRIVER=nvme E: PHYSDEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0 E: SUBSYSTEM=block E: SYNO_ATTR_SERIAL=redacted E: SYNO_DEV_DISKPORTTYPE=INVALID E: SYNO_INFO_PLATFORM_NAME=broadwellnk E: SYNO_KERNEL_VERSION=4.4 E: SYNO_SUPPORT_USB_PRINTER=yes E: SYNO_SUPPORT_XA=no E: TAGS=:systemd: E: USEC_INITIALIZED=496521 synonvme --m2-card-model-get-by-pcie /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/nvme/nvme0/nvme0n1 Not M.2 adapter card
Author
Owner

@007revad commented on GitHub (Jul 23, 2023):

synonvme --m2-card-model-get /dev/nvme0n1
FX2422N

Very interesting. [FX2422N_sup_nvme] already exists in the DS3622xs+ adaptor_cards.conf in DSM 7.2. The only NAS model listed as supporting the FX2422N is the FS6600N. But we can fix that :)

Run this command (and close Storage Manager if it's open) then open Storage Manager and check if the M.2 card shows up.
sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf [FX2422N_sup_nvme] DS3622xs+

<!-- gh-comment-id:1646713443 --> @007revad commented on GitHub (Jul 23, 2023): > synonvme --m2-card-model-get /dev/nvme0n1 > FX2422N Very interesting. [FX2422N_sup_nvme] already exists in the DS3622xs+ adaptor_cards.conf in DSM 7.2. The only NAS model listed as supporting the FX2422N is the FS6600N. But we can fix that :) Run this command (and close Storage Manager if it's open) then open Storage Manager and check if the M.2 card shows up. `sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf [FX2422N_sup_nvme] DS3622xs+`
Author
Owner

@007revad commented on GitHub (Jul 23, 2023):

Do you have a link to the M.2 card you bought?

I've found lots of them, in many different brands but I don't know if they all are FX2422N. https://www.google.com/search?q=ASM2824+switch+board

<!-- gh-comment-id:1646714980 --> @007revad commented on GitHub (Jul 23, 2023): Do you have a link to the M.2 card you bought? I've found lots of them, in many different brands but I don't know if they all are FX2422N. https://www.google.com/search?q=ASM2824+switch+board
Author
Owner

@wcho-metrocsg commented on GitHub (Jul 23, 2023):

That command didn't work, and this is the card I bought

https://www.amazon.com/dp/B0BB6X922C?psc=1&ref=ppx_yo2ov_dt_b_product_details

<!-- gh-comment-id:1646735806 --> @wcho-metrocsg commented on GitHub (Jul 23, 2023): That command didn't work, and this is the card I bought https://www.amazon.com/dp/B0BB6X922C?psc=1&ref=ppx_yo2ov_dt_b_product_details
Author
Owner

@007revad commented on GitHub (Jul 23, 2023):

Oops. It should have been FX2422N_sup_nvme and not [FX2422N_sup_nvme]

Try this one:
sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf FX2422N_sup_nvme DS3622xs+

<!-- gh-comment-id:1646784891 --> @007revad commented on GitHub (Jul 23, 2023): Oops. It should have been FX2422N_sup_nvme and not [FX2422N_sup_nvme] Try this one: `sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf FX2422N_sup_nvme DS3622xs+`
Author
Owner

@007revad commented on GitHub (Jul 23, 2023):

I'm having a bad day :(

This one will do what it is supposed to:
sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf FX2422N_sup_nvme DS3622xs+ yes

<!-- gh-comment-id:1646787121 --> @007revad commented on GitHub (Jul 23, 2023): I'm having a bad day :( This one will do what it is supposed to: `sudo set_section_key_value /usr/syno/etc.defaults/adapter_cards.conf FX2422N_sup_nvme DS3622xs+ yes`
Author
Owner

@wcho-metrocsg commented on GitHub (Jul 23, 2023):

I figured the original syntax was wrong but realized what the change needed to be. Top part of my adapter_cards.conf

[FX2422N_sup_nic]
[FX2422N_sup_nvme]
DS3622xs+=yes
FS6600N=yes
[FX2422N_sup_sata]
[E10M20-T1_sup_nic]
DS3617xsII=yes
RS3621rpxs=yes
DS2419+=yes
RS1219+=yes
RS18017xs+=yes
RS820+=yes
RS3618xs=yes
SA6400=yes
RS4017xs+=yes

I had this set the first time I responded that the command didn't work

<!-- gh-comment-id:1646828532 --> @wcho-metrocsg commented on GitHub (Jul 23, 2023): I figured the original syntax was wrong but realized what the change needed to be. Top part of my adapter_cards.conf [FX2422N_sup_nic] [FX2422N_sup_nvme] DS3622xs+=yes FS6600N=yes [FX2422N_sup_sata] [E10M20-T1_sup_nic] DS3617xsII=yes RS3621rpxs=yes DS2419+=yes RS1219+=yes RS18017xs+=yes RS820+=yes RS3618xs=yes SA6400=yes RS4017xs+=yes I had this set the first time I responded that the command didn't work
Author
Owner

@007revad commented on GitHub (Jul 24, 2023):

Try adding DS3622xs+ to .usr/syno/etc/adaptor_cards.conf as well
sudo set_section_key_value /usr/syno/etc/adapter_cards.conf FX2422N_sup_nvme DS3622xs+ yes

You might need to reboot before you can see the adaptor card and NVMe drives in DSM.

<!-- gh-comment-id:1647234113 --> @007revad commented on GitHub (Jul 24, 2023): Try adding DS3622xs+ to .usr/syno/etc/adaptor_cards.conf as well sudo set_section_key_value /usr/syno/etc/adapter_cards.conf FX2422N_sup_nvme DS3622xs+ yes You might need to reboot before you can see the adaptor card and NVMe drives in DSM.
Author
Owner

@wcho-metrocsg commented on GitHub (Jul 27, 2023):

I am returning the card and giving up on this.

<!-- gh-comment-id:1653817906 --> @wcho-metrocsg commented on GitHub (Jul 27, 2023): I am returning the card and giving up on this.
Author
Owner

@007revad commented on GitHub (Aug 14, 2023):

That's disappointing.

When I googled for FX2422N it found just 1 result, which is a comment on the XPEnology community forum.
https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=446622

That person had a SA6400 and adding SA6400=yes made DSM show their 4 NVMe SSDs on a ASM2824 switch board.

<!-- gh-comment-id:1678181941 --> @007revad commented on GitHub (Aug 14, 2023): That's disappointing. When I googled for FX2422N it found just 1 result, which is a comment on the XPEnology community forum. https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=446622 That person had a SA6400 and adding SA6400=yes made DSM show their 4 NVMe SSDs on a ASM2824 switch board.
Sign in to join this conversation.
No labels
bug
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Synology_M2_volume#215
No description provided.