Question about Virtual SCSI Miniport

We have a miniport driver, which has been working under 2k/xp/2k3. The problem occurs when we put it on some servers with SAS disks.

There are two servers:

S1: IBM server with Xeon CPU and 1GB RAM equipped;
S2: AMD server with AMD 64 CPU and 4GB RAM equipped.

Windows we have installed is Windows 2003(32bits).

When we load our driver on both servers, the driver is unloaded immediately after findadapter is finished.

On server S1, we modified AlignmentMask in ConfigurationInfo structure to 0x1 (0x3 was the original value), the problem on S1 is gone.

On server S2, we took off 2GB RAM from the server, the problem is gone, and the driver runs very happily. If we add 2GB RAM back (now 4GB RAM in total), the problem comes back.

We also tested the driver on servers without SAS disks running 2k3, there was no problem at all.

We also run the driver on server S2 without using SAS disks running XP, there was no problem at all.

From what we have collected, could you get some idea about the source of the problem?

Here is the information about HWInitialization and ConfigurationInfo:

HWInit:
hwInitData.HwDmaStarted = dma;
hwInitData.HwInterrupt = intrpt;
// Internal interface
hwInitData.AdapterInterfaceType = Isa;
// auto request sense
hwInitData.AutoRequestSense = TRUE;

// device extension
hwInitData.DeviceExtensionSize = sizeof(MiniportExt);

// adapter state
hwInitData.HwAdapterState = MiniportAdapterState;

// adapter control
hwInitData.HwAdapterControl = MiniportAdapterControl;

// find adapter
hwInitData.HwFindAdapter = MiniportFindAdapter;

// sizeof this struct
hwInitData.HwInitializationDataSize = sizeof(HW_INITIALIZATION_DATA);

// initialize
hwInitData.HwInitialize = MiniportInitialize;

// reset bus
hwInitData.HwResetBus = MiniportResetBus;

// start io
hwInitData.HwStartIo = MiniportStartIo;

// hwInitData.HwInterrupt = intr;
// need virtual address
hwInitData.MapBuffers = TRUE;

hwInitData.MultipleRequestPerLu = TRUE;
hwInitData.TaggedQueuing = TRUE;

hwInitData.NeedPhysicalAddresses = FALSE;
hwInitData.NumberOfAccessRanges = 1;
hwInitData.ReceiveEvent = FALSE;
hwInitData.SpecificLuExtensionSize = 0;
hwInitData.SrbExtensionSize = sizeof(St_SRB_EXT);

ConfiguationInfo:
pConfigInfo->AlignmentMask = 0x00000003;
pConfigInfo->AutoRequestSense = TRUE;
pConfigInfo->BufferAccessScsiPortControlled = FALSE;
pConfigInfo->BusInterruptLevel = 0;
pConfigInfo->BusInterruptVector = 0;
pConfigInfo->Dma32BitAddresses = TRUE;
pConfigInfo->Master = FALSE;
pConfigInfo->CachesData = TRUE;

pConfigInfo->NumberOfBuses = 1;
pConfigInfo->MaximumNumberOfTargets = 4;
pConfigInfo->MaximumNumberOfLogicalUnits = 1;
pConfigInfo->MaximumTransferLength = 0x100000;
pConfigInfo->MultipleRequestPerLu = TRUE;
pConfigInfo->NumberOfPhysicalBreaks = SP_UNINITIALIZED_VALUE;
pConfigInfo->ScatterGather = TRUE;
pConfigInfo->TaggedQueuing = TRUE;

We also tried different sets of ConfigurationInfo. It looks like it doesn’t make any differences at all. That is, if it works, it works with all configuration. If it doesn’t, it doesn’t work with any configuration at all.

Isa bus virtual miniports only work if your platform actually has an isa
bus. MANY recent platforms do not.

Consider other ways of solving the bus problem.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@nrchpc.ac.cn
Sent: Tuesday, August 07, 2007 10:23 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Question about Virtual SCSI Miniport

We also tried different sets of ConfigurationInfo. It looks like it
doesn’t make any differences at all. That is, if it works, it works with
all configuration. If it doesn’t, it doesn’t work with any configuration
at all.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

We also have tried Internal interface, it did not solve the problem. We used WinDBG to debug the driver. Up to this point, we only get a message with NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We can trace to SCSIPORTInitPnPAdapter function. In this function, after SpCallHwFindAdapter is called back, a message in ErrorLog is generated. The message basically states that in IRP_MJ_Create function the driver can not be supported.

Xulu,

I appended your post to my work address at the bottom …

Mostly it seems like we have at least two threads by independent posters
working much the same problem.

What did you set PnpInterface to in the registry? Check
HKLM..\Services<yourdriver>\Parameters\PnpInterface? Alhough there are
several settings possible, the ONLY one that I know of that works is PCI or
5. You should also set hwInitData.AdapterInterfaceType to the PCI value as
well. There was an exchange with Mark Roddy, in a thread a few years ago
discussing what interfaces could be used, and the final result was that
though others are enumerated, only PCI works. I’ve seen nothing in the
SCSI/STORPORT API to change that and have seen at least one other thread on
this forum reporting the same thing; only they were using Internal. Mostly
it worked … except they coud not get StartIo to receive SRBs.

ISA MIGHT work with due diligence, but you want to use the proper sizing for
your HW_ADAPTER_(??) structure, and be sure you do not use the WDM form of
that structure, Essentialy, it will be a legacy SCSIPORT and will kill most
of the systems power managment.

Someone may call me on this, if so I welcome new information about
PnpInterface, but to my knowledge, using anything but PCI is pretty well
undocumetned, simply does not work, or will work half-assed.


The personal opinion of
Gary G. Little

wrote in message news:xxxxx@ntdev…
> We also have tried Internal interface, it did not solve the problem. We
> used WinDBG to debug the driver. Up to this point, we only get a message
> with NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We
> can trace to SCSIPORTInitPnPAdapter function. In this function, after
> SpCallHwFindAdapter is called back, a message in ErrorLog is generated.
> The message basically states that in IRP_MJ_Create function the driver can
> not be supported.
>

Dear Gary:

Sorry to send you an email directly. I found your reply to my earlier post.

Hopefully, you can help me to get out of this problem. We were in a hurry

since the test is on a customer’s server.

We did run the debugger (WinDBG). All the message we get is NOT SUPPORT from

SCSIPortInitPnPAdapter. Up to this point, we don’t have a way to move

further.

Furthermore, do you have some idea about how to set miniport to use system

DMA?

Thank you very much,

– xulu

Here is the post I sent earlier.

We have a miniport driver, which has been working under 2k/xp/2k3. The

problem

occurs when we put it on some servers with SAS disks.

There are two servers:

S1: IBM server with Xeon CPU and 1GB RAM equipped;

S2: AMD server with AMD 64 CPU and 4GB RAM equipped.

Windows we have installed is Windows 2003(32bits).

When we load our driver on both servers, the driver is unloaded immediately

after findadapter is finished.

On server S1, we modified AlignmentMask in ConfigurationInfo structure to

0x1

(0x3 was the original value), the problem on S1 is gone.

On server S2, we took off 2GB RAM from the server, the problem is gone, and

the

driver runs very happily. If we add 2GB RAM back (now 4GB RAM in total), the

problem comes back.

We also tested the driver on servers without SAS disks running 2k3, there

was no

problem at all.

We also run the driver on server S2 without using SAS disks running XP,

there

was no problem at all.

From what we have collected, could you get some idea about the source of the

problem?

Here is the information about HWInitialization and ConfigurationInfo:

HWInit:

hwInitData.HwDmaStarted = dma;

hwInitData.HwInterrupt = intrpt;

// Internal interface

hwInitData.AdapterInterfaceType = Isa;

// auto request sense

hwInitData.AutoRequestSense = TRUE;

// device extension

hwInitData.DeviceExtensionSize = sizeof(MiniportExt);

// adapter state

hwInitData.HwAdapterState = MiniportAdapterState;

// adapter control

hwInitData.HwAdapterControl = MiniportAdapterControl;

// find adapter

hwInitData.HwFindAdapter = MiniportFindAdapter;

// sizeof this struct

hwInitData.HwInitializationDataSize =

sizeof(HW_INITIALIZATION_DATA);

// initialize

hwInitData.HwInitialize = MiniportInitialize;

// reset bus

hwInitData.HwResetBus = MiniportResetBus;

// start io

hwInitData.HwStartIo = MiniportStartIo;

// hwInitData.HwInterrupt = intr;

// need virtual address

hwInitData.MapBuffers = TRUE;

hwInitData.MultipleRequestPerLu = TRUE;

hwInitData.TaggedQueuing = TRUE;

hwInitData.NeedPhysicalAddresses = FALSE;

hwInitData.NumberOfAccessRanges = 1;

hwInitData.ReceiveEvent = FALSE;

hwInitData.SpecificLuExtensionSize = 0;

hwInitData.SrbExtensionSize = sizeof(St_SRB_EXT);

ConfiguationInfo:

pConfigInfo->AlignmentMask = 0x00000003;

pConfigInfo->AutoRequestSense = TRUE;

pConfigInfo->BufferAccessScsiPortControlled = FALSE;

pConfigInfo->BusInterruptLevel = 0;

pConfigInfo->BusInterruptVector = 0;

pConfigInfo->Dma32BitAddresses = TRUE;

pConfigInfo->Master = FALSE;

pConfigInfo->CachesData = TRUE;

pConfigInfo->NumberOfBuses = 1;

pConfigInfo->MaximumNumberOfTargets = 4;

pConfigInfo->MaximumNumberOfLogicalUnits = 1;

pConfigInfo->MaximumTransferLength = 0x100000;

pConfigInfo->MultipleRequestPerLu = TRUE;

pConfigInfo->NumberOfPhysicalBreaks = SP_UNINITIALIZED_VALUE;

pConfigInfo->ScatterGather = TRUE;

pConfigInfo->TaggedQueuing = TRUE;

We also have tried Internal interface, it did not solve the problem. We used

WinDBG to debug the driver. Up to this point, we only get a message with

NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We can

trace to

SCSIPORTInitPnPAdapter function. In this function, after SpCallHwFindAdapter

is

called back, a message in ErrorLog is generated. The message basically

states

that in IRP_MJ_Create function the driver can not be supported.

One issue I do know you will have to address if you decide to continue down
the WDM path using the ISA interface, is that you will have to define a
LOGCONFIG section in your INF file and assign your resources there.

Hmmm one other point I need to query, concerning “virtual SCSI miniport”.
Are you attempting to overlay this miniport ontop of another driver that
basically owns the hardware? If so … I can uncatagorically say that will
not work, unless you can live with a throughput of 10 msecs for every IO.
SCSIPORT owns the ISA and the DPC. That gives your virtual miniport two ways
to get an IO request into your DPC … either an ISR handled by SCSIPORT, or
a timer request, with a quantum of 10 msecs.

I think most virtual SCSI miniports in the last few years have gone the
iSCSI route, which you might explore if this is what you are trying to do.

My god, but how ghosts do creep back and haunt you at times … :slight_smile:


The personal opinion of
Gary G. Little

“Gary G. Little” wrote in message
news:xxxxx@ntdev…
> Xulu,
>
> I appended your post to my work address at the bottom …
>
> Mostly it seems like we have at least two threads by independent posters
> working much the same problem.
>
> What did you set PnpInterface to in the registry? Check
> HKLM..\Services<yourdriver>\Parameters\PnpInterface? Alhough there are
> several settings possible, the ONLY one that I know of that works is PCI
> or 5. You should also set hwInitData.AdapterInterfaceType to the PCI value
> as well. There was an exchange with Mark Roddy, in a thread a few years
> ago discussing what interfaces could be used, and the final result was
> that though others are enumerated, only PCI works. I’ve seen nothing in
> the SCSI/STORPORT API to change that and have seen at least one other
> thread on this forum reporting the same thing; only they were using
> Internal. Mostly it worked … except they coud not get StartIo to receive
> SRBs.
>
> ISA MIGHT work with due diligence, but you want to use the proper sizing
> for your HW_ADAPTER_(??) structure, and be sure you do not use the WDM
> form of that structure, Essentialy, it will be a legacy SCSIPORT and will
> kill most of the systems power managment.
>
> Someone may call me on this, if so I welcome new information about
> PnpInterface, but to my knowledge, using anything but PCI is pretty well
> undocumetned, simply does not work, or will work half-assed.
>
> –
> The personal opinion of
> Gary G. Little
>
>
>
> wrote in message news:xxxxx@ntdev…
>> We also have tried Internal interface, it did not solve the problem. We
>> used WinDBG to debug the driver. Up to this point, we only get a message
>> with NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We
>> can trace to SCSIPORTInitPnPAdapter function. In this function, after
>> SpCallHwFindAdapter is called back, a message in ErrorLog is generated.
>> The message basically states that in IRP_MJ_Create function the driver
>> can not be supported.
>>
>
> Dear Gary:
>
> Sorry to send you an email directly. I found your reply to my earlier
> post.
>
> Hopefully, you can help me to get out of this problem. We were in a hurry
>
> since the test is on a customer’s server.
>
> We did run the debugger (WinDBG). All the message we get is NOT SUPPORT
> from
>
> SCSIPortInitPnPAdapter. Up to this point, we don’t have a way to move
>
> further.
>
> Furthermore, do you have some idea about how to set miniport to use system
>
> DMA?
>
> Thank you very much,
>
> – xulu
>
> Here is the post I sent earlier.
>
> We have a miniport driver, which has been working under 2k/xp/2k3. The
>
> problem
>
> occurs when we put it on some servers with SAS disks.
>
> There are two servers:
>
> S1: IBM server with Xeon CPU and 1GB RAM equipped;
>
> S2: AMD server with AMD 64 CPU and 4GB RAM equipped.
>
> Windows we have installed is Windows 2003(32bits).
>
> When we load our driver on both servers, the driver is unloaded
> immediately
>
> after findadapter is finished.
>
> On server S1, we modified AlignmentMask in ConfigurationInfo structure to
>
> 0x1
>
> (0x3 was the original value), the problem on S1 is gone.
>
> On server S2, we took off 2GB RAM from the server, the problem is gone,
> and
>
> the
>
> driver runs very happily. If we add 2GB RAM back (now 4GB RAM in total),
> the
>
> problem comes back.
>
> We also tested the driver on servers without SAS disks running 2k3, there
>
> was no
>
> problem at all.
>
> We also run the driver on server S2 without using SAS disks running XP,
>
> there
>
> was no problem at all.
>
> From what we have collected, could you get some idea about the source of
> the
>
> problem?
>
> Here is the information about HWInitialization and ConfigurationInfo:
>
> HWInit:
>
> hwInitData.HwDmaStarted = dma;
>
> hwInitData.HwInterrupt = intrpt;
>
> // Internal interface
>
> hwInitData.AdapterInterfaceType = Isa;
>
> // auto request sense
>
> hwInitData.AutoRequestSense = TRUE;
>
> // device extension
>
> hwInitData.DeviceExtensionSize = sizeof(MiniportExt);
>
> // adapter state
>
> hwInitData.HwAdapterState = MiniportAdapterState;
>
> // adapter control
>
> hwInitData.HwAdapterControl = MiniportAdapterControl;
>
> // find adapter
>
> hwInitData.HwFindAdapter = MiniportFindAdapter;
>
> // sizeof this struct
>
> hwInitData.HwInitializationDataSize =
>
> sizeof(HW_INITIALIZATION_DATA);
>
> // initialize
>
> hwInitData.HwInitialize = MiniportInitialize;
>
> // reset bus
>
> hwInitData.HwResetBus = MiniportResetBus;
>
> // start io
>
> hwInitData.HwStartIo = MiniportStartIo;
>
> // hwInitData.HwInterrupt = intr;
>
> // need virtual address
>
> hwInitData.MapBuffers = TRUE;
>
> hwInitData.MultipleRequestPerLu = TRUE;
>
> hwInitData.TaggedQueuing = TRUE;
>
>
> hwInitData.NeedPhysicalAddresses = FALSE;
>
> hwInitData.NumberOfAccessRanges = 1;
>
> hwInitData.ReceiveEvent = FALSE;
>
> hwInitData.SpecificLuExtensionSize = 0;
>
> hwInitData.SrbExtensionSize = sizeof(St_SRB_EXT);
>
>
>
> ConfiguationInfo:
>
> pConfigInfo->AlignmentMask = 0x00000003;
>
> pConfigInfo->AutoRequestSense = TRUE;
>
> pConfigInfo->BufferAccessScsiPortControlled = FALSE;
>
> pConfigInfo->BusInterruptLevel = 0;
>
> pConfigInfo->BusInterruptVector = 0;
>
> pConfigInfo->Dma32BitAddresses = TRUE;
>
> pConfigInfo->Master = FALSE;
>
> pConfigInfo->CachesData = TRUE;
>
> pConfigInfo->NumberOfBuses = 1;
>
> pConfigInfo->MaximumNumberOfTargets = 4;
>
> pConfigInfo->MaximumNumberOfLogicalUnits = 1;
>
> pConfigInfo->MaximumTransferLength = 0x100000;
>
> pConfigInfo->MultipleRequestPerLu = TRUE;
>
> pConfigInfo->NumberOfPhysicalBreaks = SP_UNINITIALIZED_VALUE;
>
> pConfigInfo->ScatterGather = TRUE;
>
> pConfigInfo->TaggedQueuing = TRUE;
>
> We also have tried Internal interface, it did not solve the problem. We
> used
>
> WinDBG to debug the driver. Up to this point, we only get a message with
>
> NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We can
>
> trace to
>
> SCSIPORTInitPnPAdapter function. In this function, after
> SpCallHwFindAdapter
>
> is
>
> called back, a message in ErrorLog is generated. The message basically
>
> states
>
> that in IRP_MJ_Create function the driver can not be supported.
>
>
>
>
>
>
>

" Someone may call me on this, if so I welcome new information about
PnpInterface, but to my knowledge, using anything but PCI is pretty well
undocumetned, simply does not work, or will work half-assed."

No that is about exactly right. ISA will only work if the platform has an
actual ISA bus - most new systems don’t. Internal can be made to work but it
requires a sad hack that I will not bother describing beyond noting that the
components required are a bus driver for a software only virtual bus and a
filter driver to provide some bogus resources for that bus before scsiport
gets its hands on IRP_MJ_START_DEVICE.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-297039-
xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Friday, August 10, 2007 10:45 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Question about Virtual SCSI Miniport

Xulu,

I appended your post to my work address at the bottom …

Mostly it seems like we have at least two threads by independent
posters
working much the same problem.

What did you set PnpInterface to in the registry? Check
HKLM..\Services<yourdriver>\Parameters\PnpInterface? Alhough there
> are
> several settings possible, the ONLY one that I know of that works is
> PCI or
> 5. You should also set hwInitData.AdapterInterfaceType to the PCI value
> as
> well. There was an exchange with Mark Roddy, in a thread a few years
> ago
> discussing what interfaces could be used, and the final result was that
> though others are enumerated, only PCI works. I’ve seen nothing in the
> SCSI/STORPORT API to change that and have seen at least one other
> thread on
> this forum reporting the same thing; only they were using Internal.
> Mostly
> it worked … except they coud not get StartIo to receive SRBs.
>
> ISA MIGHT work with due diligence, but you want to use the proper
> sizing for
> your HW_ADAPTER_(??) structure, and be sure you do not use the WDM form
> of
> that structure, Essentialy, it will be a legacy SCSIPORT and will kill
> most
> of the systems power managment.
>
> Someone may call me on this, if so I welcome new information about
> PnpInterface, but to my knowledge, using anything but PCI is pretty
> well
> undocumetned, simply does not work, or will work half-assed.
>
> –
> The personal opinion of
> Gary G. Little
>
>
>
> wrote in message news:xxxxx@ntdev…
> > We also have tried Internal interface, it did not solve the problem.
> We
> > used WinDBG to debug the driver. Up to this point, we only get a
> message
> > with NOT_SUPPORT. We tried checked build. It doesn’t offer much help.
> We
> > can trace to SCSIPORTInitPnPAdapter function. In this function, after
> > SpCallHwFindAdapter is called back, a message in ErrorLog is
> generated.
> > The message basically states that in IRP_MJ_Create function the
> driver can
> > not be supported.
> >
>
> Dear Gary:
>
> Sorry to send you an email directly. I found your reply to my earlier
> post.
>
> Hopefully, you can help me to get out of this problem. We were in a
> hurry
>
> since the test is on a customer’s server.
>
> We did run the debugger (WinDBG). All the message we get is NOT SUPPORT
> from
>
> SCSIPortInitPnPAdapter. Up to this point, we don’t have a way to move
>
> further.
>
> Furthermore, do you have some idea about how to set miniport to use
> system
>
> DMA?
>
> Thank you very much,
>
> – xulu
>
> Here is the post I sent earlier.
>
> We have a miniport driver, which has been working under 2k/xp/2k3. The
>
> problem
>
> occurs when we put it on some servers with SAS disks.
>
> There are two servers:
>
> S1: IBM server with Xeon CPU and 1GB RAM equipped;
>
> S2: AMD server with AMD 64 CPU and 4GB RAM equipped.
>
> Windows we have installed is Windows 2003(32bits).
>
> When we load our driver on both servers, the driver is unloaded
> immediately
>
> after findadapter is finished.
>
> On server S1, we modified AlignmentMask in ConfigurationInfo structure
> to
>
> 0x1
>
> (0x3 was the original value), the problem on S1 is gone.
>
> On server S2, we took off 2GB RAM from the server, the problem is gone,
> and
>
> the
>
> driver runs very happily. If we add 2GB RAM back (now 4GB RAM in
> total), the
>
> problem comes back.
>
> We also tested the driver on servers without SAS disks running 2k3,
> there
>
> was no
>
> problem at all.
>
> We also run the driver on server S2 without using SAS disks running XP,
>
> there
>
> was no problem at all.
>
> From what we have collected, could you get some idea about the source
> of the
>
> problem?
>
> Here is the information about HWInitialization and ConfigurationInfo:
>
> HWInit:
>
> hwInitData.HwDmaStarted = dma;
>
> hwInitData.HwInterrupt = intrpt;
>
> // Internal interface
>
> hwInitData.AdapterInterfaceType = Isa;
>
> // auto request sense
>
> hwInitData.AutoRequestSense = TRUE;
>
> // device extension
>
> hwInitData.DeviceExtensionSize = sizeof(MiniportExt);
>
> // adapter state
>
> hwInitData.HwAdapterState = MiniportAdapterState;
>
> // adapter control
>
> hwInitData.HwAdapterControl = MiniportAdapterControl;
>
> // find adapter
>
> hwInitData.HwFindAdapter = MiniportFindAdapter;
>
> // sizeof this struct
>
> hwInitData.HwInitializationDataSize =
>
> sizeof(HW_INITIALIZATION_DATA);
>
> // initialize
>
> hwInitData.HwInitialize = MiniportInitialize;
>
> // reset bus
>
> hwInitData.HwResetBus = MiniportResetBus;
>
> // start io
>
> hwInitData.HwStartIo = MiniportStartIo;
>
> // hwInitData.HwInterrupt = intr;
>
> // need virtual address
>
> hwInitData.MapBuffers = TRUE;
>
> hwInitData.MultipleRequestPerLu = TRUE;
>
> hwInitData.TaggedQueuing = TRUE;
>
>
> hwInitData.NeedPhysicalAddresses = FALSE;
>
> hwInitData.NumberOfAccessRanges = 1;
>
> hwInitData.ReceiveEvent = FALSE;
>
> hwInitData.SpecificLuExtensionSize = 0;
>
> hwInitData.SrbExtensionSize = sizeof(St_SRB_EXT);
>
>
>
> ConfiguationInfo:
>
> pConfigInfo->AlignmentMask = 0x00000003;
>
> pConfigInfo->AutoRequestSense = TRUE;
>
> pConfigInfo->BufferAccessScsiPortControlled = FALSE;
>
> pConfigInfo->BusInterruptLevel = 0;
>
> pConfigInfo->BusInterruptVector = 0;
>
> pConfigInfo->Dma32BitAddresses = TRUE;
>
> pConfigInfo->Master = FALSE;
>
> pConfigInfo->CachesData = TRUE;
>
> pConfigInfo->NumberOfBuses = 1;
>
> pConfigInfo->MaximumNumberOfTargets = 4;
>
> pConfigInfo->MaximumNumberOfLogicalUnits = 1;
>
> pConfigInfo->MaximumTransferLength = 0x100000;
>
> pConfigInfo->MultipleRequestPerLu = TRUE;
>
> pConfigInfo->NumberOfPhysicalBreaks = SP_UNINITIALIZED_VALUE;
>
> pConfigInfo->ScatterGather = TRUE;
>
> pConfigInfo->TaggedQueuing = TRUE;
>
> We also have tried Internal interface, it did not solve the problem. We
> used
>
> WinDBG to debug the driver. Up to this point, we only get a message
> with
>
> NOT_SUPPORT. We tried checked build. It doesn’t offer much help. We can
>
> trace to
>
> SCSIPORTInitPnPAdapter function. In this function, after
> SpCallHwFindAdapter
>
> is
>
> called back, a message in ErrorLog is generated. The message basically
>
> states
>
> that in IRP_MJ_Create function the driver can not be supported.
>
>
>
>
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer