emueller

Setup unsupported NVMe Cache

Recommended Posts

I have installed a Lenovo FRU 00JT037 (Samsung SM951) 256GB through a PCIe Card.

I can see it as device under /dev/nvme0n1.

 

I would like to use it as a Cache and I know that I have to update /etc/support_ssd.db and /etc.defaults/support_ssd.d.

But I can't find the name from BIOS to add to the files, because it is on PCIe I guess.

Are there any linux commands to find out the naming without bios?

 

Thanks

emueller

Share this post


Link to post
Share on other sites

open a ssh shell and try following command:

dmesg | grep Direct-Access

 

This should give an output like:

[ 0.986272] scsi 0:0:0:0: Direct-Access WDC WD60EFRX-68MYMN1 0A82 PQ: 0 ANSI: 6

 

Then WD60EFRX-68MYMN1 would be what you are looking for.

 

Not sure if it works in your case, but it's definitly worth trying

 

most probably it will be MZVPV256HDGL-000L7. Though the postfix -000L7 is a specific model number and might be different for you.

Share this post


Link to post
Share on other sites

Hi, I have MB Asus P10S-WS (c236 chipset) and I am trying to use Intel 600p NVMe SSD in m.2 slot, but my system does not recognize it (no nvme in /dev). Any advice how make it work?

Share this post


Link to post
Share on other sites

I'm going to try to use my PM961 SSD as a main drive.   no one has gotten NVMe SSD to work yet?

Share this post


Link to post
Share on other sites

Hi,

has anyone proceed with NVMe integration?

 

I was able to compile and load the NVMe module for 1.02b loader so I can see and use my NVMe SSD drive, but Synology doesn't.

 

During boot it's loaded like this:

[   22.700644] nvme 0000:04:00.0: irq 47 for MSI/MSI-X
[   22.700660] nvme 0000:04:00.0: irq 48 for MSI/MSI-X
[   22.700666] nvme 0000:04:00.0: irq 49 for MSI/MSI-X
[   22.700670] nvme 0000:04:00.0: irq 50 for MSI/MSI-X
[   22.700675] nvme 0000:04:00.0: irq 51 for MSI/MSI-X
[   22.700680] nvme 0000:04:00.0: irq 52 for MSI/MSI-X
[   22.700684] nvme 0000:04:00.0: irq 53 for MSI/MSI-X
[   22.701358]  nvme0n1: p1
[   22.701381] This is not a kind of scsi disk 252

And device is accessible:

root@DSM:~# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x915434c3
Device         Boot Start       End   Sectors   Size Id Type
/dev/nvme0n1p1       2048 975634431 975632384 465.2G  7 HPFS/NTFS/exFAT

And also info can be loaded:

root@DSM:~# smartctl -i /dev/nvme0
smartctl 6.5 (build date Oct 27 2017) [x86_64-linux-3.10.102] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number:                       THNSN5512GPUK NVMe TOSHIBA 512GB
Serial Number:                      ????????????
Firmware Version:                   5KDA4103
PCI Vendor ID:                      0x1179:0x1179
IEEE OUI Identifier:                0x0d0800
Total NVM Capacity:                 0 [0 B]
Unallocated NVM Capacity:           0 [0 B]
Maximum Data Transfer Size:         0
Number of Namespaces:               1
Controller ID:                      0
Warning  Comp. Temp. Threshold:     78 Celsius
Critical Comp. Temp. Threshold:     82 Celsius
Local Time is:                      Sat Dec  2 21:38:55 2017 CET

But if I run for example syno_hdd_util --ssd_detect, SSD drive is not listed at all.

 

Any ideas how to force Synology to load it? I checked /etc(.defaults)/support_ssd.d, but it misses all the NVMe drives that are officially supported by Synology. So listing it here most likely will not help. I was thinking that maybe the NVME support is disabled for DS3615xs? Another thing is that my Toshiba XG4 isn't listed on the official compatibility list.

Share this post


Link to post
Share on other sites

hi,

 

i'd suggest to look in a dsm pat file supporting nvme drives like 918+

the pat can be opened with 7zip and the hda1.tgz contains the files that are copied to disk on installing dsm, start in /etc to look how it's done

i already compiled modules for all 3 extra.lzma's, if i get positive feedback they will be part of the next release so the thing to make them useful is to find out what to change to make the nvme ssd to show up in gui as ssd

 

Share this post


Link to post
Share on other sites

Thanks for info, I think you helped me a lot. There is definitely an option to enable NVMe in synoinfo.conf:

supportraidcross="yes"
supportnvme="yes"
mem_default_mb="4096"

I will set it on and will test it later on this evening.

Share this post


Link to post
Share on other sites

Unfortunately this didn't help. It turned out that 918+ has a different tools in /usr/bin and /usr/syno/bin. There are for example new these binaries that are missing on DS3515xs:

root@DSM:~# nvme
nvme-0.9
usage: nvme <command> [<device>] [<args>]

The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).

The following are all implemented sub-commands:
  list            List all NVMe devices and namespaces on machine
  id-ctrl         Send NVMe Identify Controller
  id-ns           Send NVMe Identify Namespace, display structure
  list-ns         Send NVMe Identify List, display structure
  create-ns       Creates a namespace with the provided parameters
  delete-ns       Deletes a namespace from the controller
  attach-ns       Attaches a namespace to requested controller(s)
  detach-ns       Detaches a namespace from requested controller(s)
  list-ctrl       Send NVMe Identify Controller List, display structure
  get-ns-id       Retrieve the namespace ID of opened block device
  get-log         Generic NVMe get log, returns log in raw format
  fw-log          Retrieve FW Log, show it
  smart-log       Retrieve SMART Log, show it
  smart-log-add   Retrieve additional SMART Log, show it
  error-log       Retrieve Error Log, show it
  get-feature     Get feature and show the resulting value
  set-feature     Set a feature and show the resulting value
  format          Format namespace with new block format
  fw-activate     Activate new firmware slot
  fw-download     Download new firmware
  admin-passthru  Submit arbitrary admin command, return results
  io-passthru     Submit an arbitrary IO command, return results
  security-send   Submit a Security Send command, return results
  security-recv   Submit a Security Receive command, return results
  resv-acquire    Submit a Reservation Acquire, return results
  resv-register   Submit a Reservation Register, return results
  resv-release    Submit a Reservation Release, return results
  resv-report     Submit a Reservation Report, return results
  dsm             Submit a Data Set Management command, return results
  flush           Submit a Flush command, return results
  compare         Submit a Compare command, return results
  read            Submit a read command, return results
  write           Submit a write command, return results
  write-zeroes    Submit a write zeroes command, return results
  write-uncor     Submit a write uncorrectable command, return results
  reset           Resets the controller
  subsystem-reset Resets the controller
  show-regs       Shows the controller registers. Requires admin character device
  discover        Discover NVMeoF subsystems
  connect-all     Discover and Connect to NVMeoF subsystems
  connect         Connect to NVMeoF subsystem
  disconnect      Disconnect from NVMeoF subsystem
  version         Shows the program version
  help            Display this help

See 'nvme help <command>' for more information on a specific command

The following are all installed plugin extensions:
  intel           Intel vendor specific extensions
  lnvm            LightNVM specific extensions
  memblaze        Memblaze vendor specific extensions

See 'nvme <plugin> help' for more information on a plugin

Or:

root@DSM:~# synonvme

Usage: synonvme
--is-nvme-ssd <nvme path>        check if a device is a nvme ssd
--sn-fr-get <nvme path>          get controllor SN and firmware reversion
--model-get <nvme path>          get nvme disk model
--vendor-get <nvme path>         get nvme disk vendor
--get-location nvme_path / nvme_name     get the pcie slot and card slot
--smart-info-get nvme_path / nvme_name   get the smart information
--remaining-life-get nvme_path / nvme_name       get the remaining life
--temperature-get nvme_path / nvme_name          get the temperature

I have manually copies those binaries from 918+ to my XPEnology, commands are executed fine, but DSM is still not able to find the drive nor syno_hdd_util.

 

It looks to me that there are also changes to the other binaries under /usr/bin and /usr/syno/bin. I suppose it's not a wise thing to overwrite everything by data from 918+ image on my XPEnology?

Share this post


Link to post
Share on other sites
On 12/3/2017 at 9:43 PM, Jirin SV said:

It looks to me that there are also changes to the other binaries under /usr/bin and /usr/syno/bin. I suppose it's not a wise thing to overwrite everything by data from 918+ image on my XPEnology?

 

if you overwrite files of your dsm the self check on next boot will recognize it and warn you, for nor you just copied files that where not present and where not checked

you can make copies before doing it and if it does not boot anymore or something like that its also possible to reinstall or start a live linux from usb and undo he changes with the copies you made before

 

as long as its not a completely synology written part then it should be source available to compile for the syste in question in the same way the kernel drivers are compiled, that would be the clean way

 

so first step is about to find out what process is reading the synoinfo.conf and what that process does with the variable "supportnvme" it its set to yes

copying stuff and hope something will happen has not the best chance to work, best way is to understand how its implemented and then try to mimic it

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now