IOCTL_SCSI_MINIPORT problem

Hello,

I am experiencing a problem sending private IOCTL_SCSI_MINIPORT when no
drives are attached. This interface is for our management software to
create/delete arrays. At one point there won’t be any arrays at all. It
seems like the scsiport driver is blocking the IOCTL_SCSI_MINIPORT. Is there
a work around for such a situation?

Thanks for your help,
Shakeel.

Check the Archives, this question was asked sometime back …

If you are on Win2k3, this link should help (check out
CreateInitiatorLU)
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/storag
e/hh/storage/02mnport_8tgn.asp)

I guess this is not supported on Win2k, and you will probably need to
create a virtual disk (pseudo-LUN) in your miniport and handle all
inquiry and other SCSI commands to it.

-g

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of shakeel
Sent: Tuesday, June 15, 2004 6:32 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] IOCTL_SCSI_MINIPORT problem

Hello,

I am experiencing a problem sending private IOCTL_SCSI_MINIPORT when no
drives are attached. This interface is for our management software to
create/delete arrays. At one point there won’t be any arrays at all. It
seems like the scsiport driver is blocking the IOCTL_SCSI_MINIPORT. Is
there a work around for such a situation?

Thanks for your help,
Shakeel.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@cisco.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

No, this is a known SCSIPORT issue. Create a fake LUN on your adapter to
work it around.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “shakeel”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Tuesday, June 15, 2004 5:01 AM
Subject: [ntdev] IOCTL_SCSI_MINIPORT problem

> Hello,
>
> I am experiencing a problem sending private IOCTL_SCSI_MINIPORT when no
> drives are attached. This interface is for our management software to
> create/delete arrays. At one point there won’t be any arrays at all. It
> seems like the scsiport driver is blocking the IOCTL_SCSI_MINIPORT. Is there
> a work around for such a situation?
>
> Thanks for your help,
> Shakeel.
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Thanks Max and Girish,

The fake LUN created would appear in the Device Manager. correct? I don’t
want the user to see it, how to hide the fake LUN created from the user?

Thank you,
Shakeel.
“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> No, this is a known SCSIPORT issue. Create a fake LUN on your adapter
to
> work it around.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> ----- Original Message -----
> From: “shakeel”
> Newsgroups: ntdev
> To: “Windows System Software Devs Interest List”
> Sent: Tuesday, June 15, 2004 5:01 AM
> Subject: [ntdev] IOCTL_SCSI_MINIPORT problem
>
>
> > Hello,
> >
> > I am experiencing a problem sending private IOCTL_SCSI_MINIPORT when no
> > drives are attached. This interface is for our management software to
> > create/delete arrays. At one point there won’t be any arrays at all. It
> > seems like the scsiport driver is blocking the IOCTL_SCSI_MINIPORT. Is
there
> > a work around for such a situation?
> >
> > Thanks for your help,
> > Shakeel.
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>

> The fake LUN created would appear in the Device Manager. correct?

Yes.

I don’t want the user to see it

Why not? Name it like “MyAdapter Control Device” and this will be OK. To do
this, invent the proper INQUIRY for it, and list the PnP ID (based on INQUIRY)
in your INF file.

HighPoint does this for years.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

And please, please, please, don’t make the virtual lun a disk type
device. Use processor or a vendor-specific type code, but not one of
the known codes.

-p

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S. Shatskih
Sent: Tuesday, June 15, 2004 10:01 AM
To: Windows System Software Devs Interest List
Subject: Re: Re:[ntdev] IOCTL_SCSI_MINIPORT problem

The fake LUN created would appear in the Device Manager. correct?

Yes.

I don’t want the user to see it

Why not? Name it like “MyAdapter Control Device” and this will be OK. To
do this, invent the proper INQUIRY for it, and list the PnP ID (based on
INQUIRY) in your INF file.

HighPoint does this for years.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Max,

Actually mine is miniport for a IDE controller. So, currently I set the

PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;

If I change the NumberOfTargets = 5, and invent the INQUIRY data for the 5th
one. Is that all I need to do? Should I need to handle other SRB requests
for this fake Target?if not, what status I should return SRB_STATUS_ERROR
for all other requests?

Max, I didn’t understand the second part, listing of PnP ID in INF file.
Presently, I am listing the PCI VENDER/DEVICE ID for the controller. Do I
need to list one for the Disk also? Sorry! for my ignorance here.

Thanks,
Shakeel.
“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> > The fake LUN created would appear in the Device Manager. correct?
>
> Yes.
>
> >I don’t want the user to see it
>
> Why not? Name it like “MyAdapter Control Device” and this will be OK. To
do
> this, invent the proper INQUIRY for it, and list the PnP ID (based on
INQUIRY)
> in your INF file.
>
> HighPoint does this for years.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>

For a fake LUN, create the driver-less INF file section (details are
documented).

The PnP ID for all SCSI devices - your fake LUN included - is built from
the INQUIRY data, and the details are documented again - the PnP docs section
about how PnP IDs are formed for well-known busses.

So - respond to INQUIRY in your fake LUN, do NOT use the disk/CD/tape
device type - use Processor - and fill INQUIRY data with some strings of yours.
Then use the same strings in the PnP ID in the INF file.

This will lead to a sane display of the fake LUN in the Device Manager. You
can use the INF file for HighPoint 370 as a reference - they use the same
approach.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “shakeel”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Tuesday, June 15, 2004 10:56 PM
Subject: Re:[ntdev] Re:IOCTL_SCSI_MINIPORT problem

> Max,
>
> Actually mine is miniport for a IDE controller. So, currently I set the
>
> PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
> PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;
>
> If I change the NumberOfTargets = 5, and invent the INQUIRY data for the 5th
> one. Is that all I need to do? Should I need to handle other SRB requests
> for this fake Target?if not, what status I should return SRB_STATUS_ERROR
> for all other requests?
>
> Max, I didn’t understand the second part, listing of PnP ID in INF file.
> Presently, I am listing the PCI VENDER/DEVICE ID for the controller. Do I
> need to list one for the Disk also? Sorry! for my ignorance here.
>
> Thanks,
> Shakeel.
> “Maxim S. Shatskih” wrote in message
> news:xxxxx@ntdev…
> > > The fake LUN created would appear in the Device Manager. correct?
> >
> > Yes.
> >
> > >I don’t want the user to see it
> >
> > Why not? Name it like “MyAdapter Control Device” and this will be OK. To
> do
> > this, invent the proper INQUIRY for it, and list the PnP ID (based on
> INQUIRY)
> > in your INF file.
> >
> > HighPoint does this for years.
> >
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > xxxxx@storagecraft.com
> > http://www.storagecraft.com
> >
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

And as pointed out here by Girish, please do NOT do this for Server
2003. Instead, use the CreateInitiatorLU entry in your INF. Also, set a
BusType value (default is SCSI for scsiport, Fibre for Storport).

Check the Archives, this question was asked sometime back …

If you are on Win2k3, this link should help (check out
CreateInitiatorLU)
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/storag
e/hh/storage/02mnport_8tgn.asp)

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Tuesday, June 15, 2004 12:28 PM
Subject: Re: Re:Re:IOCTL_SCSI_MINIPORT problem

For a fake LUN, create the driver-less INF file section (details are
documented).

The PnP ID for all SCSI devices - your fake LUN included - is built
from
the INQUIRY data, and the details are documented again - the PnP docs
section
about how PnP IDs are formed for well-known busses.

So - respond to INQUIRY in your fake LUN, do NOT use the
disk/CD/tape
device type - use Processor - and fill INQUIRY data with some strings of
yours.
Then use the same strings in the PnP ID in the INF file.

This will lead to a sane display of the fake LUN in the Device
Manager. You
can use the INF file for HighPoint 370 as a reference - they use the
same
approach.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “shakeel”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Tuesday, June 15, 2004 10:56 PM
Subject: Re:[ntdev] Re:IOCTL_SCSI_MINIPORT problem

> Max,
>
> Actually mine is miniport for a IDE controller. So, currently I set
the
>
> PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
> PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;
>
> If I change the NumberOfTargets = 5, and invent the INQUIRY data for
the 5th
> one. Is that all I need to do? Should I need to handle other SRB
requests
> for this fake Target?if not, what status I should return
SRB_STATUS_ERROR
> for all other requests?
>
> Max, I didn’t understand the second part, listing of PnP ID in INF
file.
> Presently, I am listing the PCI VENDER/DEVICE ID for the controller.
Do I
> need to list one for the Disk also? Sorry! for my ignorance here.
>
> Thanks,
> Shakeel.
> “Maxim S. Shatskih” wrote in message
> news:xxxxx@ntdev…
> > > The fake LUN created would appear in the Device Manager. correct?
> >
> > Yes.
> >
> > >I don’t want the user to see it
> >
> > Why not? Name it like “MyAdapter Control Device” and this will be
OK. To
> do
> > this, invent the proper INQUIRY for it, and list the PnP ID (based
on
> INQUIRY)
> > in your INF file.
> >
> > HighPoint does this for years.
> >
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > xxxxx@storagecraft.com
> > http://www.storagecraft.com
> >
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

There is one problem still. If you create a ‘Processor’ type device, it
throws up ‘New Hardware Found’ box for the psuedo processor type device. Is
there a way to avoid that?

-Bandeep

“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> For a fake LUN, create the driver-less INF file section (details are
> documented).
>
> The PnP ID for all SCSI devices - your fake LUN included - is built
from
> the INQUIRY data, and the details are documented again - the PnP docs
section
> about how PnP IDs are formed for well-known busses.
>
> So - respond to INQUIRY in your fake LUN, do NOT use the disk/CD/tape
> device type - use Processor - and fill INQUIRY data with some strings of
yours.
> Then use the same strings in the PnP ID in the INF file.
>
> This will lead to a sane display of the fake LUN in the Device
Manager. You
> can use the INF file for HighPoint 370 as a reference - they use the same
> approach.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From: “shakeel”
> Newsgroups: ntdev
> To: “Windows System Software Devs Interest List”
> Sent: Tuesday, June 15, 2004 10:56 PM
> Subject: Re:[ntdev] Re:IOCTL_SCSI_MINIPORT problem
>
>
> > Max,
> >
> > Actually mine is miniport for a IDE controller. So, currently I set the
> >
> > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
> > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;
> >
> > If I change the NumberOfTargets = 5, and invent the INQUIRY data for the
5th
> > one. Is that all I need to do? Should I need to handle other SRB
requests
> > for this fake Target?if not, what status I should return
SRB_STATUS_ERROR
> > for all other requests?
> >
> > Max, I didn’t understand the second part, listing of PnP ID in INF file.
> > Presently, I am listing the PCI VENDER/DEVICE ID for the controller. Do
I
> > need to list one for the Disk also? Sorry! for my ignorance here.
> >
> > Thanks,
> > Shakeel.
> > “Maxim S. Shatskih” wrote in message
> > news:xxxxx@ntdev…
> > > > The fake LUN created would appear in the Device Manager. correct?
> > >
> > > Yes.
> > >
> > > >I don’t want the user to see it
> > >
> > > Why not? Name it like “MyAdapter Control Device” and this will be OK.
To
> > do
> > > this, invent the proper INQUIRY for it, and list the PnP ID (based on
> > INQUIRY)
> > > in your INF file.
> > >
> > > HighPoint does this for years.
> > >
> > > Maxim Shatskih, Windows DDK MVP
> > > StorageCraft Corporation
> > > xxxxx@storagecraft.com
> > > http://www.storagecraft.com
> > >
> > >
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>

Is your INF entry really driver-less?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Bandeep Singh”
Newsgroups: ntdev
To: “Windows System Software Devs Interest List”
Sent: Wednesday, June 16, 2004 10:10 AM
Subject: Re:[ntdev] Re:Re:IOCTL_SCSI_MINIPORT problem

> There is one problem still. If you create a ‘Processor’ type device, it
> throws up ‘New Hardware Found’ box for the psuedo processor type device. Is
> there a way to avoid that?
>
> -Bandeep
>
>
> “Maxim S. Shatskih” wrote in message
> news:xxxxx@ntdev…
> > For a fake LUN, create the driver-less INF file section (details are
> > documented).
> >
> > The PnP ID for all SCSI devices - your fake LUN included - is built
> from
> > the INQUIRY data, and the details are documented again - the PnP docs
> section
> > about how PnP IDs are formed for well-known busses.
> >
> > So - respond to INQUIRY in your fake LUN, do NOT use the disk/CD/tape
> > device type - use Processor - and fill INQUIRY data with some strings of
> yours.
> > Then use the same strings in the PnP ID in the INF file.
> >
> > This will lead to a sane display of the fake LUN in the Device
> Manager. You
> > can use the INF file for HighPoint 370 as a reference - they use the same
> > approach.
> >
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > xxxxx@storagecraft.com
> > http://www.storagecraft.com
> >
> > ----- Original Message -----
> > From: “shakeel”
> > Newsgroups: ntdev
> > To: “Windows System Software Devs Interest List”
> > Sent: Tuesday, June 15, 2004 10:56 PM
> > Subject: Re:[ntdev] Re:IOCTL_SCSI_MINIPORT problem
> >
> >
> > > Max,
> > >
> > > Actually mine is miniport for a IDE controller. So, currently I set the
> > >
> > > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
> > > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;
> > >
> > > If I change the NumberOfTargets = 5, and invent the INQUIRY data for the
> 5th
> > > one. Is that all I need to do? Should I need to handle other SRB
> requests
> > > for this fake Target?if not, what status I should return
> SRB_STATUS_ERROR
> > > for all other requests?
> > >
> > > Max, I didn’t understand the second part, listing of PnP ID in INF file.
> > > Presently, I am listing the PCI VENDER/DEVICE ID for the controller. Do
> I
> > > need to list one for the Disk also? Sorry! for my ignorance here.
> > >
> > > Thanks,
> > > Shakeel.
> > > “Maxim S. Shatskih” wrote in message
> > > news:xxxxx@ntdev…
> > > > > The fake LUN created would appear in the Device Manager. correct?
> > > >
> > > > Yes.
> > > >
> > > > >I don’t want the user to see it
> > > >
> > > > Why not? Name it like “MyAdapter Control Device” and this will be OK.
> To
> > > do
> > > > this, invent the proper INQUIRY for it, and list the PnP ID (based on
> > > INQUIRY)
> > > > in your INF file.
> > > >
> > > > HighPoint does this for years.
> > > >
> > > > Maxim Shatskih, Windows DDK MVP
> > > > StorageCraft Corporation
> > > > xxxxx@storagecraft.com
> > > > http://www.storagecraft.com
> > > >
> > > >
> > >
> > >
> > >
> > > —
> > > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> > >
> > > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Create an INF with an entry for that device which installs nothing.

-p

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bandeep Singh
Sent: Tuesday, June 15, 2004 11:11 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Re:Re:IOCTL_SCSI_MINIPORT problem

There is one problem still. If you create a ‘Processor’ type device, it
throws up ‘New Hardware Found’ box for the psuedo processor type device.
Is there a way to avoid that?

-Bandeep

“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> For a fake LUN, create the driver-less INF file section (details
> are documented).
>
> The PnP ID for all SCSI devices - your fake LUN included - is
> built
from
> the INQUIRY data, and the details are documented again - the PnP docs
section
> about how PnP IDs are formed for well-known busses.
>
> So - respond to INQUIRY in your fake LUN, do NOT use the
> disk/CD/tape device type - use Processor - and fill INQUIRY data with
> some strings of
yours.
> Then use the same strings in the PnP ID in the INF file.
>
> This will lead to a sane display of the fake LUN in the Device
Manager. You
> can use the INF file for HighPoint 370 as a reference - they use the
> same approach.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From: “shakeel”
> Newsgroups: ntdev
> To: “Windows System Software Devs Interest List”
> Sent: Tuesday, June 15, 2004 10:56 PM
> Subject: Re:[ntdev] Re:IOCTL_SCSI_MINIPORT problem
>
>
> > Max,
> >
> > Actually mine is miniport for a IDE controller. So, currently I set
> > the
> >
> > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfTargets = 4;
> > PORT_CONFIGURATION_INFORMATION->MaximumNumberOfLogicalUnits = 1;
> >
> > If I change the NumberOfTargets = 5, and invent the INQUIRY data for

> > the
5th
> > one. Is that all I need to do? Should I need to handle other SRB
requests
> > for this fake Target?if not, what status I should return
SRB_STATUS_ERROR
> > for all other requests?
> >
> > Max, I didn’t understand the second part, listing of PnP ID in INF
file.
> > Presently, I am listing the PCI VENDER/DEVICE ID for the controller.

> > Do
I
> > need to list one for the Disk also? Sorry! for my ignorance here.
> >
> > Thanks,
> > Shakeel.
> > “Maxim S. Shatskih” wrote in message
> > news:xxxxx@ntdev…
> > > > The fake LUN created would appear in the Device Manager.
correct?
> > >
> > > Yes.
> > >
> > > >I don’t want the user to see it
> > >
> > > Why not? Name it like “MyAdapter Control Device” and this will be
OK.
To
> > do
> > > this, invent the proper INQUIRY for it, and list the PnP ID (based

> > > on
> > INQUIRY)
> > > in your INF file.
> > >
> > > HighPoint does this for years.
> > >
> > > Maxim Shatskih, Windows DDK MVP
> > > StorageCraft Corporation
> > > xxxxx@storagecraft.com
> > > http://www.storagecraft.com
> > >
> > >
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com To
> > unsubscribe send a blank email to xxxxx@lists.osr.com
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com