007revad / Synology_M2_volume

Easily create an M.2 volume on Synology NAS
MIT License
810 stars 56 forks source link

Working except with ASM2824 switch chip NVME adapter #75

Closed wcho-metrocsg closed 1 year ago

wcho-metrocsg commented 1 year ago

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,

007revad commented 1 year ago

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

007revad commented 1 year ago

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.

wcho-metrocsg commented 1 year ago

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.

007revad commented 1 year ago

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.

007revad commented 1 year ago

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>

wcho-metrocsg commented 1 year ago

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

007revad commented 1 year ago

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+

007revad commented 1 year ago

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

wcho-metrocsg commented 1 year ago

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

007revad commented 1 year ago

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+

007revad commented 1 year ago

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

wcho-metrocsg commented 1 year ago

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

007revad commented 1 year ago

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.

wcho-metrocsg commented 1 year ago

I am returning the card and giving up on this.

007revad commented 1 year ago

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.