Andalu Posted February 25, 2022 Share Posted February 25, 2022 (edited) 1 hour ago, Dietmar said: I just build an XP SP3 with the Sata driver from Kai and the storport.sys with SMART support, with all updates for XP and my last acpi.sys from last August. For USB I use the from Win8.1 ported driver. It boots XP SP3 on all(!) my Intel boards from x58 to z690, always all USB works, niccccee Dietmar Hi Dietmar, could you kindly point out the SHA-1 of the storport.sys with SMART support you are using? Does it report data smart for the NVMe drives as well? Thanks as always for your helpful info and support Edited February 25, 2022 by Andalu Quote Link to comment Share on other sites More sharing options...
Dietmar Posted February 26, 2022 Share Posted February 26, 2022 @Andalu It is this storport.sys https://ufile.io/4euzojgb with SHA-1 3DDD09C2E6909926E8CE0F672CA7F8C020420050 Have a nice day Dietmar Quote Link to comment Share on other sites More sharing options...
George King Posted February 26, 2022 Author Share Posted February 26, 2022 14 hours ago, Dietmar said: I just build an XP SP3 with the Sata driver from Kai and the storport.sys with SMART support, with all updates for XP and my last acpi.sys from last August. For USB I use the from Win8.1 ported driver. It boots XP SP3 on all(!) my Intel boards from x58 to z690, always all USB works, niccccee Dietmar Ported USB drivers from 8.1? Any links? Quote Link to comment Share on other sites More sharing options...
Dietmar Posted February 26, 2022 Share Posted February 26, 2022 @George King It is mistake from me. This USB driver is from win8.0 Dietmar Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted February 26, 2022 Share Posted February 26, 2022 If anyone is interested, there is a new storport for Windows 7 in KB5010404 x86 storport 6.1.7601.25735 msi patch hexposition: 4E1A change: 8B 8E 3C 01 00 00 -> B9 00 00 00 00 90 smart patch hexposition: 1030A 75 36 -> 90 90 hexposition: 10316 75 2A -> 90 90 ========================================================================== x64 storport 6.1.7601.25735 msi patch hexposition: 156AE change: 8B 83 C0 01 00 00 -> B8 00 00 00 00 90 smart patch hexposition: 192D5 change: 75 36 -> 90 90 hexposition: 192DE change: 75 2D -> 90 90 George King 1 Quote Link to comment Share on other sites More sharing options...
Andalu Posted February 26, 2022 Share Posted February 26, 2022 14 hours ago, Dietmar said: @Andalu It is this storport.sys https://ufile.io/4euzojgb with SHA-1 3DDD09C2E6909926E8CE0F672CA7F8C020420050 Have a nice day Dietmar I encountered some problems with that storport.sys getting the same error code 39 for all NVMe drivers I have installed (Samsung, Microsoft and OFA v1.5 and v1.3). I only uploaded the image for the OFA v1.5 driver: No problem using Kai-Schtrom's sata/ahci driver and another version of storport.sys (in the screenshot is the one by @George King), where you can also get the smart data from the latest version of CrystalDiskInfo for the NVMe drive but only with the Samsung NVMe driver and when DiskInfo32.exe can no longer load the wbemprox.dll otherwise it crashes (that library can also be renamed for testing purposes only): Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted February 26, 2022 Share Posted February 26, 2022 @Andalu ...continuing from PM. Yeah, I tested renaming wbemprox.dll as a test yesterday it it fixed it for me as well on x64. I agree that renaming it is not the best since windows must need WBEM for other stuff. I looked at dropping the windows 7 wbem related files into the CrystalDiskInfo to load from there first, but its a lot a extra files, and some dependencies are missing. Easiest would be to simply stop Crystal from loading it at all, since it looks like it works well enough without it. Looked over the source code last night, there is a include <wbemcli.h> in AtaSmart.cpp and SlotSpeedGetter.cpp. I was thinking if maybe if I run it with IDA or something maybe we can track to where it breaks and hopefully jump over to the "file not found" case where it loads fine without it. Never used it that way before. Need to find an older version of IDA Free that works on XP. The one I have is to new. Quote Link to comment Share on other sites More sharing options...
Dietmar Posted February 26, 2022 Share Posted February 26, 2022 @pappyN4 Here it is. Pass is my name from the deleted Fernando forum thread Dietmar https://ufile.io/91lkw4t0 George King and pappyN4 1 1 Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted February 26, 2022 Share Posted February 26, 2022 Not much to go on in IDA to my untrained eyes. I assume all the dll loading happens at the very beginning of "start", errors out, then it quickly gets sent to trap. Error looks like it happens before we can do anything in Crystal. Playing with it there did nothing useful. ProcMon shows it using a couple of wbem dlls. Yet no dependency for it with Dependency Walker, or any mention of them in Crystal's dissembled EXE. I guess one of the known dlls causes the webm to be loaded without any explicitly defined imports. Something using LoadLibrary maybe... So the question is then. How does one use IDA or something else to trace where and in what DLL does wbemprox.dll first load? Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted March 1, 2022 Share Posted March 1, 2022 https://itm4n.github.io/windows-dll-hijacking-clarified/ This explains better but Dependency Walker only checks if DLL is the import table. At runime a program can use LoadLibrary() to call other dlls. I looked through all the DLL from DepWalker that Crystal uses, but didnt see one that was "wbem" or "wmi" sounding... I tried replacing the 4 WMI related DLLs that Crystal needs into the windows sys folder. Dependency wise there was no issues, but Crystal still crashed. In IDA, there is a "Suspended on Library load/unload". Running it, it looks like ntdll.dll is where wbmprox first loads, but a bunch of other DLLs load in that same spot is how it looked to me in IDA. No idea how to look up where it was in ntdll.dll itself... Sumbled upon a "debug" setting that can be turned on in Crystal's ini. In there, the last entry before failure was "CMD_TYPE_NVME_INTEL". Opening up DiskInfo.exe, subroutine was findable with that name. A lot of IdentifyDevice, AddDevice calls, most ending up at a block with many inputs (all the Info/Add Devices Intel/Samsung/etc...) just before sub exits. Adding a breakpoint, it looks like Crystal gets through the NVME_INTEL block, and errors out at the MultiBlock.. Jumped out @4cf96 74 -> EB to skip "AddDiskNVMe - CMD_TYPE_NVME_INTEL". CDI starts at least, but nvme does not show up. Then tried skiping "DoIdentifyDeviceNVMeIntel" which calls ""AddDiskNVMe - CMD_TYPE_NVME_INTEL" @4ced8 74 77 -> 90 90 @4cf4b 0F 85 0A 01 00 00 -> E9 0B 01 00 00 90. Same things starts, but no nvme. 00001110 DoIdentifyDeviceNVMeStorageQuery 00001110 DoIdentifyDeviceNVMeIntelRst 00001110 DoIdentifyDeviceNVMeSamsung 00001110 DoIdentifyDeviceNVMeIntel 00001110 AddDiskNVMe - CMD_TYPE_NVME_INTEL Looked further up the logfile. Compared one with wbemprox removed to a normal one. no wbem / works 00000000 dlg.DoModal() 00000015 InitAta 00000015 CAtaSmart::Init WMI on - Start 00000015 CoInitializeSecurity() 00000031 CoCreateInstance() 00000031 NG:WMI Init 1 wbem / fails 00000016 dlg.DoModal() 00000032 InitAta 00000032 CAtaSmart::Init WMI on - Start 00000032 CoInitializeSecurity() 00000032 CoCreateInstance() 00000032 ConnectServer() 00000032 CoSetProxyBlanket() 00000047 OK:WMI Init 00000782 OK:Win32_IDEController 00000813 OK:Win32_SCSIController Searched around on on those keywords. ConnectServer() to a wmi server maybe? Ended up in two subroutines that sounded interesting. Saw "\\.\root\cimv2" which was familiar... Borrowed a quick vbscript to try wmi. Breaking the path stops it from working. strComputer = "." Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process" & _ " WHERE Name = 'cscript.exe'" & " OR Name = 'wscript.exe'",,48) For Each objItem in colItems Wscript.Echo "-------------------------------------------" Wscript.Echo "CommandLine: " & objItem.CommandLine Wscript.Echo "Name: " & objItem.Name Next So in DiskInfo32 or DiskInfo64, find where "\ \ . \ r o o t \ c i m v 2" is with hex editor and change it to something like "\ \ . \ r o o t \ n o w m i". 630069006D00760032 -> 6E006F0077006D0069 Then let DiskInfo handle the error of a missing wmi the same way as if wbemprox file was missing. Andalu 1 Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted March 1, 2022 Share Posted March 1, 2022 @Andalu Crystal Disk Info modded to stop WMI from loading. https://ufile.io/16asy5na I tried both 32 and 64bit version on my XP64. Both worked with my samsung nvme (didnt load NVMe size like for SSD/HDD but that info should be in the model names anyway). Now for the real question. Has anyone tried to use the samsung NVMe driver with a not samsung nvme? I only have the one so I cant test but I would be interested to see if the driver would work and pass through SMART for other manufactures. I tested the generic driver inf for samsung originally posted by Fernando and it worked for my samsung. Here's the same one for x86. (I leave it to you guys to mod the secnvme for x86). ; ; Copyright ©Samsung Electronic Co,. Ltd 2019 ; [Version] Signature="$Windows NT$" Provider=%SAM% ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318} Class=SCSIAdapter CatalogFile=secnvme.cat DriverVer=01/21/2020,3.3.0.2003 [Manufacturer] %SAM% = COMM, NTx86 [SourceDisksNames] 1 = %DiskId1%,,,"" [DestinationDirs] DefaultDestDir = 12 [nvme_Service_Inst] ServiceType = %SERVICE_KERNEL_DRIVER% StartType = %SERVICE_BOOT_START% ErrorControl = %SERVICE_ERROR_NORMAL% ServiceBinary = %12%\secnvme.sys LoadOrderGroup = SCSI miniport AddReg = pnpsafe_pci_addreg AddReg = Parameters [nvme_EventLog_Inst] AddReg = nvme_EventLog_AddReg [nvme_EventLog_AddReg] HKR, , EventMessageFile, %REG_EXPAND_SZ%, "%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\secnvme.sys" HKR, , TypesSupported, %REG_DWORD%, 7 [pnpsafe_pci_addreg] HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001 HKR, "Parameters", "BusType", %REG_DWORD%, 0x00000011 [msi_addreg] HKR, Interrupt Management, 0x00000010 HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010 HKR, Interrupt Management\Affinity Policy, 0x00000010 HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_DWORD%, 0 HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_DWORD%, 2048 HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_DWORD%, 5 ;IrqPolicySpreadMessagesAcrossAllProcessors HKR, Interrupt Management\Affinity Policy, DevicePriority, %REG_DWORD%, 3 HKR, Interrupt Management\Affinity Policy, GroupPolicy, %REG_DWORD%, 1 [Parameters] HKR, Parameters\Device, Namespaces, %REG_DWORD%, 0x00000010 HKR, Parameters\Device, MaxTXSize, %REG_DWORD%, 0x00020000 HKR, Parameters\Device, AdQEntries, %REG_DWORD%, 0x00000080 HKR, Parameters\Device, IoQEntries, %REG_DWORD%, 0x00000400 HKR, Parameters\Device, IntCoalescingTime, %REG_DWORD%, 0x00000000 HKR, Parameters\Device, IntCoalescingEntries, %REG_DWORD%, 0x00000000 HKR, Parameters\Device, InitErrorLog, %REG_DWORD%, 0x00000000 [SourceDisksFiles.amd64] secnvme.sys = 1,,, [COMM.NTx86] %COMMNvme.DeviceDesc% = nvme_inst, PCI\CC_010802 [nvme_inst.NTx86] CopyFiles=@secnvme.sys FeatureScore=0x80 [nvme_inst.NTx86.HW] AddReg = msi_addreg [nvme_inst.NTx86.Services] AddService = secnvme, 0x00000002 , nvme_Service_Inst, nvme_EventLog_Inst [Strings] ; ; Localizable Strings ; diskId1 = "NVME Installation Disk" COMMNvme.DeviceDesc = "Samsung NVMe Controller" SAM = "Samsung Electronics Co., Ltd" ; ; Non-Localizable Strings ; REG_EXPAND_SZ = 0x00020000 REG_DWORD = 0x00010001 SERVICE_KERNEL_DRIVER = 1 SERVICE_BOOT_START = 0 SERVICE_ERROR_NORMAL = 1 SERVICE_ERROR_CRITICAL = 3 Andalu 1 Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 1, 2022 Share Posted March 1, 2022 @pappyN4 The Samsung nvme driver does not work always. But for example, for the Intel Optane 905p it works Dietmar Quote Link to comment Share on other sites More sharing options...
pappyN4 Posted March 2, 2022 Share Posted March 2, 2022 catching up on TRIM in the deleted thread... Is there a backport win8 storport? Or is it just the storpor8.sys that was being discussed? NTOSKRNL_Emu has missing dependencies with win8 storport. Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 2, 2022 Share Posted March 2, 2022 (edited) @pappyN4 In this nvme win8.1 package is a storport.sys modded from win8.0 for XP SP3. May be, this is what you are looking for Dietmar https://ufile.io/139f81qr Edited March 2, 2022 by Dietmar Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 2, 2022 Share Posted March 2, 2022 Oh.. soso much fun;)). This is my generic XP SP3, which can boot all Intel boards. This is photo from Asrock x58 extreme. It has an IDE connector and an connector for Floppy drive. Just now it works also with nvme Optane 905p Dietmar Quote Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted March 2, 2022 Share Posted March 2, 2022 6 hours ago, pappyN4 said: catching up on TRIM in the deleted thread... Is there a backport win8 storport? Or is it just the storpor8.sys that was being discussed? NTOSKRNL_Emu has missing dependencies with win8 storport. storpor8.sys is emulator of some new functions for win7's storport.sys I have experimental ported win8.0 storport.sys, it has many manual injected calls to PoStartNextPowerIrp(), perfectly works with win8's storahci Me and Daniel chose win7's storport.sys as base for ported storage drivers because it was last version who stills call PoStartNextPowerIrp() at proper places Quote Link to comment Share on other sites More sharing options...
Andalu Posted March 2, 2022 Share Posted March 2, 2022 @pappyN4 Thank you for the modified DiskInfo.exe and for explaining how to make it work. As for the Samsung NVMe driver, I've installed XP on NVMe drives like WD SN750, Crucial P5, and Sabrent Rocket with no problems. Now I can get smart data for all of them with CrystalDiskInfo. I add that if @Dietmar said that this driver doesn't work all the time, I have no reason to have doubts. Quote Link to comment Share on other sites More sharing options...
Dallen Posted March 5, 2022 Share Posted March 5, 2022 (edited) I'm trying to get an optane 905p working on my z390 dark with XP SP3. It sees it as a PCI device on bus 7 and it is recognized in the bios. However, it is not recognized as a drive in the OS. I used the storport.sys with SMART support, and the StorAhci_V1.0_20200928.rar. Should I need to do anything other than replace storport.sys? Edit: I think I found the two files I missed in the previous archive. Playing with it more now. Edit: I'm now using the storport.sys, stornvme.sys, and stornvme.inf from the 905p suggestions archive. I see in event manager that \Device\RaidPort3 and \Device\RaidPort4 and \Device\RaidPort5 encountered an error with stornvme.sys. It then seems to try to make a crash dump and fails. Edit: Disabled Raid in the bios. The message says the error is on "\Device\RaidPort3". Attempting to update the driver for the NVME express controller just iterates the RaidPort (then, RaidPort4...5...etc) Edited March 5, 2022 by Dallen Quote Link to comment Share on other sites More sharing options...
infuscomus Posted March 5, 2022 Share Posted March 5, 2022 @Dallen I think @Dietmar should be able to help you with getting it working. Quote Link to comment Share on other sites More sharing options...
Strange_Aeons Posted March 5, 2022 Share Posted March 5, 2022 Hello all! I am trying to use USB xHCI drivers on GA-Z87P-D3 mobo with XP Integral Edition 2021.12.19. I chose different options in the integrator script and then installed XP from the customized ISO. All drivers stop with Code 10 error unfortunately. The drivers I tried were AMDXHCI XP 145-Final v3, AMDXHCI XP 276-Final v3, MovAX-Gen2 USB3.X xHCI driver v2.2. On 1/30/2022 at 2:49 AM, Dietmar said: @Andalu I use the acpi.sys from August 2021, with my last modd. This is the standard acpi.sys now for Ramsey's XP SP3. The USB8 files are here. They are different from yours https://ufile.io/sw7t8mol Dietmar @Dietmar @Mov AX, 0xDEAD If there is a newer USB driver, I would like to give it a try. Could you please share another download link? The download given above is paywalled unfortunately. Thanks in advance! Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 6, 2022 Share Posted March 6, 2022 @Strange_Aeons Here it is from @Mov AX, 0xDEAD https://ufile.io/pfj0x2rv For me, this USB driver works on all Intel boards, have a nice day Dietmar Strange_Aeons 1 Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 6, 2022 Share Posted March 6, 2022 @Strange_Aeons This is the website frome @daniel_k . https://forums.mydigitallife.net/threads/drivers-and-tools-to-run-windows-xp-on-newer-hardware.81607/ There are also new usb drivers for XP SP3 Dietmar Strange_Aeons 1 Quote Link to comment Share on other sites More sharing options...
Dietmar Posted March 6, 2022 Share Posted March 6, 2022 (edited) I make some more fun: Here I compare a 12600 against an i980 on a x58 Sabertooth board with generic XP SP3. This x58 board has onboard USB3 (Nec, 214MByte/s RW) and also 6 GByte Sata (Sata3). Voila, geekbench 2 shows about 14000 points for the 12600 cpu and about 12000 points for the i980 cpu. Hm, this means nearly no difference in speed in 11 years old cpu Dietmar PS: All USB works with the nice win8 driver from @Mov AX, 0xDEAD . Edited March 6, 2022 by Dietmar George King 1 Quote Link to comment Share on other sites More sharing options...
George King Posted March 6, 2022 Author Share Posted March 6, 2022 @DietmarNice tests. Of course vendors are lying about performance. Machines about 2010+ have only differences in GPUs which I need only for 4K video. CPUs are mostly same but another nm technology was used to assemble it. Yes, more changes can be found, like removing IDE, PCI etc.. First big boom will be with quantum computers (powered by small fuse reactors) Quote Link to comment Share on other sites More sharing options...
George King Posted March 21, 2022 Author Share Posted March 21, 2022 (edited) Posting works again! Edited March 21, 2022 by George King Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.