Mod+signed Samsung NVMe drivers for HP+Dell systems

The OS is Server 2016 and NVME is using the standard windows driver. There is no entry like “3200GBPM1725AHHHL” to be found but that’s probably due the driver rollback?

I think it needs a modded dell version, perhaps the newer firmware of PM1725 requires newer version of driver too.

@111alan :
@test0rn :
Attached are the 64bit Samsung NVMe drivers v1.4.7.6 and v2.0.8.1611, which have been mod+signed by me today (the v1.4.7.6 INF file is identical with the one I had attached yesterday, I just have removed an unneeded entry regarding the 32bit support).
Please test them both and give us your feedback.
Good luck!

64bit Samsung NVMe driver v1.4.7.6 mod+signed by Fernando.rar (46.4 KB)

64bit Samsung NVMe driver v2.0.8.1611 mod+signed by Fernando.rar (62.4 KB)

@111alan
I sadly could only find a 2012 r2 dell driver… but your guess could be true…
https://www.dell.com/support/home/de/de/…?driverid=nvt8r

@Fernando
The v2.0.8.1611 one will be tested on the weekend! Thank you for your effort and help!!!

The 2.0.8.1161works very well, at least not encountered any problems yet. Regarding the 1.4.7.6, I suggest to copy all hwids except those with “PM1725A”(DEV_A822) from 2.0.8.1161 to the 1.4.7.6’s inf, because I just ran into a bizzare “SM1715a” drive from dell that there’s no corresponding hwid in 1.4.7.6, but worked flawlessly when I manually selected SM1715 model.

Also delete the"PCI\VEN_144D&DEV_A822&SUBSYS_A814144D" you just added from 1.4.7.6 because PM1725As are not supported. And don’t forget that “UBX” controller which is unique to 1.4.7.6 :stuck_out_tongue:

I think in 1.4.7.6 it should be like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
%COMMNvmeUBX.DeviceDesc% 			= nvme_inst, PCI\VEN_144D&DEV_A802
%COMMNvme400GBGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A800144D
%COMMNvme800GBGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A801144D
%COMMNvme1600GBGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A802144D
%COMMNvme800GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A804144D
%COMMNvme1600GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A805144D
%COMMNvme3200GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A806144D
%COMMNvme1600GBSMHHGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A809144D
%COMMNvme3200GBSMHHGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A80A144D
%COMMNvme800GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A801144D
%COMMNvme1600GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A802144D
%COMMNvme1800GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A804144D
%COMMNvme3200GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A803108E
%COMMNvme3200GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A803144D
%COMMNvme1920GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A807144D
%COMMNvme3200GBPM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A80D144D
%COMMNvme6400GBPM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A80E144D
%COMMNvme800GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A811144D
%COMMNvme1600GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A812144D
%COMMNvme3200GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A813144D
%COMMNvme6400GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A814144D
%COMMNvme3200GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81D144D
%COMMNvme6400GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81E144D
%COMMNvme12800GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81F144D
%COMMNvme400GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F951028
%COMMNvme800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F961028
%COMMNvme1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F971028
%COMMNvmeSM1715SFF3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA41028
%COMMNvmeSM1715AIC3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA61028
%COMMNvmeSM1713SFF3800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA51028
%COMMNvmeSM1713AIC3800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA71028
%COMMNvmePMSFF3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB71028
%COMMNvmePMAIC3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB81028
%COMMNvmePMAIC6400GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB91028
%COMMNvmeSM1715SFF800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBA1028
%COMMNvmeSM1715SFF1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBB1028
%COMMNvmeSM1715AIC1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBC1028
%COMMNvmePMSFF800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC11028
%COMMNvmePMSFF1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC21028
%COMMNvmePMHHH1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC41028
%COMMNvmePMHHH12800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC51028
 


and,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
COMMNvmeUBX.DeviceDesc			= "Samsung NVMe Controller"
CommNvme400GBGen.DeviceDesc = "NVMe XS1715 400GB Controller"
CommNvme800GBGen.DeviceDesc = "NVMe XS1715 800GB Controller"
CommNvme1600GBGen.DeviceDesc = "NVMe XS1715 1.6TB Controller"
COMMNvme800GBSMSFFGen.DeviceDesc = "NVMe SM1715 800GB Controller"
COMMNvme1600GBSMSFFGen.DeviceDesc = "NVMe SM1715 1.6TB Controller"
COMMNvme3200GBSMSFFGen.DeviceDesc = "NVMe SM1715 3.2TB Controller"
COMMNvme1600GBSMHHGen.DeviceDesc = "NVMe SM1715 1.6TB Controller"
COMMNvme3200GBSMHHGen.DeviceDesc = "NVMe SM1715 3.2TB Controller"
COMMNvme800GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 800GB Controller"
COMMNvme1600GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.6TB Controller"
COMMNvme1800GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.8TB Controller"
COMMNvme3200GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 3.2TB Controller"
COMMNvme1920GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.92TB Controller"
COMMNvme3200GBPM1725HHHLGen.DeviceDesc = "NVMe PM1725 3.2TB Controller"
COMMNvme6400GBPM1725HHHLGen.DeviceDesc = "NVMe PM1725 6.4TB Controller"
COMMNvme800GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 800GB Controller"
COMMNvme1600GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 1.6TB Controller"
COMMNvme3200GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 3.2TB Controller"
COMMNvme6400GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 6.4TB Controller"
COMMNvme3200GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 3.2TB Controller"
COMMNvme6400GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 6.4TB Controller"
COMMNvme12800GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 12.8TB Controller"
CommNvme400GB.DeviceDesc = "Dell Express Flash NVMe XS1715 400GB PCIe SSD Controller"
CommNvme800GB.DeviceDesc = "Dell Express Flash NVMe XS1715 800GB PCIe SSD Controller"
CommNvme1600GB.DeviceDesc = "Dell Express Flash NVMe XS1715 1.6TB PCIe SSD Controller"
COMMNvmeSM1715SFF3200GB.DeviceDesc = "Dell Express Flash NVMe SM1715a 3.2TB PCIe SSD Controller"
COMMNvmeSM1715AIC3200GB.DeviceDesc = "Dell Express Flash NVMe SM1715 3.2TB PCIe SSD Adapter by Samsung"
COMMNvmeSM1713SFF3800GB.DeviceDesc = "Dell Express Flash NVMe SM1713 3.8TB PCIe SSD Controller"
COMMNvmeSM1713AIC3800GB.DeviceDesc = "Dell Express Flash NVMe SM1713 3.8TB PCIe SSD Adapter by Samsung"
COMMNvmePMSFF3200GB.DeviceDesc = "Dell Express Flash NVMe PM1725 3.2TB PCIe SSD Controller"
COMMNvmePMAIC3200GB.DeviceDesc = "Dell Express Flash NVMe PM1725 3.2TB PCIe SSD Adapter by Samsung"
COMMNvmePMAIC6400GB.DeviceDesc = "Dell Express Flash NVMe PM1725 6.4TB PCIe SSD Adapter by Samsung"
COMMNvmeSM1715SFF800GB.DeviceDesc = "Dell Express Flash NVMe SM1715 800GB PCIe SSD Controller"
COMMNvmeSM1715SFF1600GB.DeviceDesc = "Dell Express Flash NVMe SM1715 1.6TB PCIe SSD Controller"
COMMNvmeSM1715AIC1600GB.DeviceDesc = "Dell Express Flash NVMe SM1715 1.6TB PCIe SSD Adapter by Samsung"
COMMNvmePMSFF800GB.DeviceDesc = "Dell Express Flash NVMe PM1725 800GB PCIe SSD Controller"
COMMNvmePMSFF1600GB.DeviceDesc = "Dell Express Flash NVMe PM1725 1.6TB PCIe SSD Controller"
COMMNvmePMHHH1600GB.DeviceDesc = "Dell Express Flash NVMe PM1725 1.6TB PCIe SSD Adapter by Samsung"
COMMNvmePMHHH12800GB.DeviceDesc = "Dell Express Flash NVMe PM1725 12.8TB PCIe SSD Adapter by Samsung"
 


Thanks again for your effort, it helped a lot :P

obscure.JPG

@111alan :
Thank you very much for your report and for your recommendations regarding the v1.4.7.6 driver.
Attached is the 64bit Samsung NVMe driver v1.4.7.6, which has been mod+signed by me today according to your recommendation.
Good luck!

64bit Samsung NVMe driver v1.4.7.6 mod+signed by Fernando.rar (46.7 KB)

The v2.0.8.1611 has been tested meanwhile by me as advertised. It installed flawlessly, but then after reboot it wasn’t able to initialize the drives properly. See screen. I am out of ideas now…

I had to roll back the driver to the lame MS Standard NVM Express Controller which completely sucks under WS2016 and StorageSpacesDirect…

PM1725a_Issue.PNG

@test0rn :
It is a pity, that the mod+signed Samsung NVMe driver v2.0.8.1611 didn’t work with your system.
Maybe @111alan can help to find a solution for you.

What firmware is this drive using? It’s possible that it has an old or es firmware that has problems communicating with the driver.

I’ve modded 2 previous versions of drivers(A06 A07). Pls try them both and if one of them works pls tell me which one :stuck_out_tongue: Also I can’t make signatures for a driver so disable driver signature enforcement before you install. Also update the firmware if you can, there are at least 2 urgent firmware updates for PM1725A at this point, which may save the drive from bricking when unexpected power loss happens :stuck_out_tongue:
https://mega.nz/#!O5kXWQSR!KWmVGiXXdXV6Q…YY-KZ3VJOP6gf1g

@Fernando I found an old A06 version for 32bit win I saved earlier, and found that the content of the actual driver is exactly the same as 64bit ver. I think those Samsung drivers support both 32bit and 64bit systems, so you don’t need to delete those 32bit entries at all :stuck_out_tongue:

Dell link for A06 64bit:
https://www.dell.com/support/home/us/en/…oweredge-r730xd
A06 32bit:
https://mega.nz/#!j9kn0AQS!4XgriHX-kRfE6…8mwx8XSKDd1J0wo

@111alan :
I cannot download the 32bit A06 driver, which you have uploaded to MEGA, because it is encrypted and I don’t have the related key.

sorry. edited.

@111alan :
Thanks for the links.
I was able to extract both driverpacks (32bit and 64bit) and found, that their content seems really to be identical.
On the other hand it is hard to believe, that both will work. A 64bit Operating System needs a 64bit storage driver (= *.SYS file) and a 32bit OS a 32bit one.

Probably because these drivers are very simple. They only provide minimal performance improvement, the main focus is to get everything right, like getting smart info, and providing ports for ata and nvme1.1/1.2 commands such as secure erase.

@111alan :
Since you are running a 64bit OS and I am rather unsure, whether the identical storage driver can be used with a 32bit and a 64bit Windows OS, I have now prepared a mod+signed variant of the 64bit Samsung NVMe driver v1.4.8.1 dated 10/26/2015.
It would be fine, if you can test the attached driver and give me your feedback. If this driver is older than the currently in-use one, you may have to force the installation by using the “Have Disk” option.
Thanks in advance!

64bit Samsung NVMe driver v1.4.8.1 mod+signed by Fernando.rar (61 KB)

It works fine on 64bit. I’ll try to install a 32bit system to see if the 2.0.8 version driver works on it :stuck_out_tongue:

I tried 1.4.8.1, still no problem. But I can’t test those drivers under 32bit system because I can’t get the 32bit system to install in the first place. Tried many times. It seems that even the 32bit version of windows10 doesn’t include the xhci driver which is essential to get C621 chipset’s usb ports to work. I’m currently trying to find a workaround for it.

@111alan :
Thanks for your report.

What does “in the first place” mean? There should be no difference between the installation of a 32bit and a 64bit OS resp. the related boot order .

I cannot believe, that a specific in-box driver of a 32bit Windows OS supports other HardwareIDs than the same driver of the same 64bit OS Build.

I tried consumer business and ltsc versions of 32bit win10 on my C621/xeon gold platform, the installer doesn’t even recognize my usb keyboard and mouse.

Hi, i have an SAMSUNG PM1725a SSD, 1.6TB (MZWLK1T6HCHP) - mzwlk1t6hchp-00003. What driver can i use for that? My OS is Windows 2016 Datacenter 64Bit. Is there a huge difference in performance between Microsoft Standard NVM Express Controller and a modded Samsung driver?

@Pavel123 :
Welcome to the Win-RAID Forum!

Since there are not many users with your specific OS/SSD configuration, I recommend to find it out yourself.

Regards
Dieter (alias Fernando)