So I migrated my xpenology server from DS918+ model to DS3622xs, and the nvme cache no longer works since the model number no longer exist in libsynonvme.so.1. I dig into the libsynonvme.so.1 and found it might check your pcie location to have the nvme drive works properly. After inspect the file, I found it just checks /etc.defaults/.extensionPorts and we just need to modify that.
Here are the steps:
1. Check your nvme pci location(in my case it's 0000:00:01.0😞
udevadm info /dev/nvme0n1
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/nvme/nvme0/nvme0n1
2. Modify /etc.defaults/.extensionPorts to have the port number match your nvme location.
cat /etc.defaults/extensionPorts
[pci]
pci1="0000:00:01.0"
3. I did not even restart and the nvme cache drive already appears. Hope this helps anyone who is looking to solve this.
Update:
If you worry a system update will revert this modification, just add a startup script with root:
sed -i 's/03.2/[your_pci_last_three_digs]/g' /etc.defaults/extensionPorts
In this way, no matter what version you goes, this will always stay.