Jump to content











Photo
- - - - -

Community OFA NVMe 1.5 Storport Miniport for Windows Server 2003 R2 SP2

nvme ofa storport 2003

  • Please log in to reply
162 replies to this topic

#151 dencorso

dencorso

    Frequent Member

  • Advanced user
  • 140 posts
  •  
    Brazil

Posted 07 August 2018 - 07:59 PM

Only to (hopefully) contribute to the communication, dencorso never stated he actually attempted to boot from the new thingy, he attempted to access it as a secondary drive from an already booted XP SP3[1].

Sure! I think that if I cannot actually recognize and use the disk normally in an already booted XP, then all attempts at booting from it ought to be futile. :)  Therefore, I set my goal at getting the disk working  on XP before even thinkinh of attempting anything more complex, of course! :innocent:

 

... he attempted to access it as a secondary drive from an already booted XP SP3, which - with no offence whatever implied to dencorso - very likely it is not a fresh installed XP SP3, but rather an existing installations where hundreds or possibly more drivers, programs and what not installed and removed, registry hacks, original or modified updates, etc. has been run.

No offence taken. And, sure, this installation is from Jan 1st, 2014, which makes it one of my newest installations. As you may remember, I never reinstall an OS, unless the initial installation went wrong. By contrary, I make partition images obsessively, and when anything starts to blork, I redeploy the latest (or, rarely, an older) backup. That's also my preferred method for removing something I decide to install but, then, regret havng done so. Therefore it surely is a very complex tweaked install, with many drivers and countless possible conflicts with the new driver and/or hardware. And the same is true of the Win 7 SP1 installation in which the drive worked. Now, if I don't get it to work on this XP SP3, I may move the drive to another machine or decide to sell it. I have, after all, no real need for it, and installed it just for the lulz. But, for now, I think it's too soon to give up, so I intend to try to get it to work some more. :)

 

I remember,

that on my x58 board it was also not possible under XP

to have a nvme disk as codevice, same message (Code 10).

Dietmar

 

PS: I noticed, that some PCIe slots are connected with each other.

       This can also give the "This device cannot start. (Code 10)" message.

 

EDIT: Asus P8Z68-V LX

Der PCIe x16_2-Steckplatz teilt die Bandbreite mit dem PCIe x1_1- und dem PCIe x1_2-Steckplatz.

It may be the case here, too. And yes, I had seen that. I initially installed the adapter on PCIe x16_2 (which is actually a x4 in a x16 slot), but it refused to work (because I have an USB 3.0 card in PCIe x1_2, I presume). So I moved the adapter to PCIe x16_1 (which is truly x16 and does not share bandwidth with any other slot, it's the one intended for a graphics card), and then it started working, at least on Win 7 SP1.



#152 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 07 August 2018 - 08:34 PM

Hi dencorso,

I make a try with renaming nvme.sys to ntbootdd.sys.

Via this way, I can install for the very first time XP SP3 direct to an nvme disk on

a compi, that never heard about nvme in BIOS before.

But when it reboots to second install stage, it crashes.

In first place I think it is normal, because the nvme drive is still not

recogniced from BIOS and so ntbootdd.sys cant even start.

The XP SP3 install with ntbootdd.sys gives a signature (not scsi(0)) entry in boot.ini on nvme disk.

Now I put on an USB stick ntbootdd.sys, storport.sys, boot.ini with signature entry

ntldr and ntdetect.com.

Hm, on second install stage after reboot and starting from the USB stick, it also crashes.

This I do not understand. May be, that ntbootdd.sys can only work with scsiport.sys and

not with storport.sys

Dietmar



#153 dencorso

dencorso

    Frequent Member

  • Advanced user
  • 140 posts
  •  
    Brazil

Posted 07 August 2018 - 09:01 PM

Hi, Dietmar!
Just to add more info, I get these two errors on the Event Log:

Source: Service Control Manager
EventID: 7026
The following boot-start or system-start driver(s) failed to load:
nvme

Source: nvme
EventID: 11
The driver detected a controller error on .

However it seems to me that only indicates the driver isn't being able to load, but not why that is so...
 

Have a nice day!



#154 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 07 August 2018 - 09:27 PM

Hi dencorso,

it is just the beginning of fun :P !

I think, that ntbootdd is possible too.

Tomorrow or the day after tomorrow I test your mainboard Asus P8Z68-V LX for nvme,

because I get,

have a nice evening

Dietmar



#155 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 08 August 2018 - 04:36 AM

I understand,

why nvme.sys renamed to ntbootdd.sys

until now not works correct.

There are no extra registry entries allowed,

when ntbootdd.sys starts first time.

So I will put

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\Device]
"Namespaces"=dword:00000010
"MaxTXSize"=dword:00020000
"AdQEntries"=dword:00000080
"IoQEntries"=dword:00000400
"IntCoalescingTime"=dword:00000000
"IntCoalescingEntries"=dword:00000000

 

fixed in source code

and compile nvme.sys new

Dietmar



#156 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 08 August 2018 - 03:42 PM

Hi all, especially Kai,

 

easy hack in Source code of nvme vers. 1.3 in nvmeStd.h does not work.

The reason for this hack is: A scsiport driver, renamed to ntbootdd.sys

cant fetch any value from registry, because it is alone with ntldr at boottime, and those values have to be given by hand before.

Other question is, if ntldr of XP can handle this, because ntldr works in XP like scsiport.sys

when seeing ntbootdd.sys and not like storport.sys but who knows..

ntldr from win server 2003 should do that (ntbootdd works also there, with signature in boot.ini). But even there I am not sure,

if ntldr of server 2003 has the same possibilities like storport.sys vers. 5.2.3790.4173.

 

Here is the hack I tried (too easy :wacko: )

 

 

/*******************************************************************************
 * Registry Initial Information data structure.
 ******************************************************************************/
   typedef struct _INIT_INFO
{
    /* Supported number of namespaces */
    ULONG Namespaces =  16;

    /* Max transfer size via one cmd entry, 128 KB by default */
    ULONG MaxTxSize = 131072 ;

    /* Supported number of entries for Admin queue */
    ULONG AdQEntries = 128 ;

    /* Supported number of entries for IO queues */
    ULONG IoQEntries = 1024 ;

    /* Aggregation time in 100 us, 0 means disabled */
    ULONG IntCoalescingTime = 0 ;

    /* Aggregation entries per interrupt vector */
    ULONG IntCoalescingEntry = 0 ;

} INIT_INFO, *PINIT_INFO;

 

The idea is easy, but the compiler does not like an empty typedef struct

Dietmar
 



#157 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 13 August 2018 - 12:08 PM

Hi dencorso,

I installed a new XP SP3 on Asus P8Z68-V LX,

put storport.sys and nvme.sys vers. 1.3 from Kai in folder

windows\system32\drivers.

The nvme disk Samsung 960 pro 500GB was recogniced at once

and after reboot works normal.

I also tried the Kansas City Shuffle on this board,

works nice.

One difference I noticed: I cant install XPSP3 on nvme disk on this board,

on Asus z87-pro, also without any nvme in Bios, I can

Dietmar



#158 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 13 August 2018 - 01:00 PM

Hi all,

I make some more tests,

if nvme.sys ver. 1.3 from Kai can be used as

ntbootdd.sys. There is also a size limit for ntbootdd.sys 64kB, nvme.sys here is 44kB.

When I delete in registry on kicker disk hive system all entries for nvme named Device (delete Device subkey),

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme\Parameters\Device]
"Namespaces"=dword:00000010
"MaxTXSize"=dword:00020000
"AdQEntries"=dword:00000080
"IoQEntries"=dword:00000400
"IntCoalescingTime"=dword:00000000
"IntCoalescingEntries"=dword:00000000

 

nvme.sys still works as Kansas City Shuffle.

This means, nvme.sys has no need for this entries.

I make sure, that nowhere in registry on kicker disk is for example MaxTXSize left.

But when I delete on kicker disk whole entry nvme in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvme,

the nvme disk is not longer recogniced.

This is the same behavior as I remember from summer 2005 for ramboot via ntbootdd.sys,

so nvme.sys renamed to ntbootdd.sys should be possible (in princip).

But until now I have no success to boot a nvme disk (with no BIOS support at all)

via ntbootdd.sys

Dietmar

 

EDIT: With ntldr and ntdetect.com from XP SP3 I get message: No harddisk found,

          but with ntldr and ntdetect.com from Win2003 SP2 I come to the screen, where I can chose boot.ini entries.

          So, on Win2003 nvme.sys in ntbootdd.sys clothes with signature() entry in boot.ini may work.

 

EDIT2: With the special ntdetect.com ver. Samstag, 15. Mai 2004 for USB boot,

             also in XP SP3 I come to the boot.ini entries:)).

 

But then crash, no harddisk can be found. I think, it is a problem with the extended functions in storport.sys,

ntldr cant work like storport.sys ver. 5.2.3790.4173.



#159 nic01

nic01
  • Members
  • 1 posts
  •  
    Greece

Posted 15 August 2018 - 07:33 PM

Hi everyone ,

 

tried to install the 1.5 patched version of the ofa driver on my win8.1 x64 laptop in testsigning-on mode and secure boot off , but it's getting unbootable .I had to manually uninstall via dism command in recovery cd options to become bootable again.

Can anyone pls explain how is it possible to properly install these drivers on x64 win8.1 or even win10 ?

 

My ssd is a patriot hellfire 240gb which has return from sleep bsod issues, related to incompatibility between windows/ssd firmware so, i could really use these ofa drivers for a fix.

 

I'd really appreciate any help!


Edited by nic01, 15 August 2018 - 07:38 PM.


#160 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 15 August 2018 - 08:03 PM

Hi nic01,

fernando from his forum

https://www.win-raid...-UEFI-BIOS.html

succeed with this. Just ask him there

Dietmar



#161 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 15 August 2018 - 08:07 PM

Hi all,

does anybody know,

where I can get checked versions for ntldr now?

Normally, in boot.ini debug can be selected,

but ntldr checked version itself has a 115200 bit debug possibility integrated.

Via this way, you can take a deep look what happens,

when ntldr works like storport.sys when started with ntbootdd.sys

Dietmar

 

EDIT: In WinDDK 3790.1830 I found ntldr_dbg and in this with IDA

the strings for scsiport and ntbootdd.

storport I do not find in this debug version of ntldr.

Because XP SP3 works with storport.sys,

I need a ntldr_dbg for XP SP3 and Win server 2003,

Dietmar



#162 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 137 posts
  •  
    Afghanistan

Posted 15 August 2018 - 09:14 PM

I just check ntldr version SP2 from Win server 2003.

Oh, only scsiport and ntbootdd in this ntldr.

This simple means:

 

A ntbootdd.sys with a storport model driver is impossible.

 

ntbootdd works ONLY with the Scsiport model,

thats bad news for starting xp with nvme.sys in clothes of ntbootdd.sys

Dietmar



#163 dencorso

dencorso

    Frequent Member

  • Advanced user
  • 140 posts
  •  
    Brazil

Posted 22 August 2018 - 02:32 AM

Hi dencorso,

I installed a new XP SP3 on Asus P8Z68-V LX,

put storport.sys and nvme.sys vers. 1.3 from Kai in folder

windows\system32\drivers.

The nvme disk Samsung 960 pro 500GB was recogniced at once

and after reboot works normal.

I also tried the Kansas City Shuffle on this board,

works nice.

One difference I noticed: I cant install XPSP3 on nvme disk on this board,

on Asus z87-pro, also without any nvme in Bios, I can

Dietmar

 

Hi, Dietmar!

Thanks for testing that board. It means whatever prevents detection in my case must be due to something already installed. Well, I'll investigate it more closely later on. In any case, I got the 250GB 960 EVO and tested it. As it happened with the 250GB 970 EVO, Win 7 SP1 x86 recognized it instantly, with either of Kai's drivers or with the Samsung official driver. And just the same, Kai's drivers weren't able to start on XP SP3. I suspect storport.sys cannot be loaded when SCSIport.sys has previously been loaded... In any case, the only noticeable difference I've noted between the two Samsung NVMe drives is that while both were not formatted, the 960 EVO came with an MBR, while the 970 EVO came with a GPT... what surprised me is that only one of them, not both, came with a GPT. Of course, this is just a curiosity, not anything relevant, but I decided to record it here anyway.
Have a nice week!






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users