Hi All,
When I install (virtual) scsi miniport driver using add_new_harware from
control panel, device manager shows 2 entries.
Under scsi and raid controllers
SCSI/RAID Host Controller
Virtual scsi adapter ( my driver)
The virtual scsi entries has yellow bang (code 10: device cannot start).
Unfortunately, both are using the same driver file which I have installed.
Why it is creating 2 entries pointing to same driver file?.
How to solve the problem of yellow bang (code 10) for virtual scsi driver?
Thanks
Kas
I’ve seen that, even thought about using it a time or two. In my case what
had happend was that I was messing around with the names of my drivers and
did an install with the new names in the registry but the old binary names.
I then had two entries in the registry with the same ImagePath. Along comes
a spider and boom … two calls to the driver entry and multiple calls to
AddDevice as well. Of course since the driver was really not set up to
handle that situation the second instantiation tended to get sick a die.
It’s amazing the things you can learn by making mistakes.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
“kas” wrote in message news:xxxxx@ntdev…
>
> Hi All,
>
> When I install (virtual) scsi miniport driver using add_new_harware from
> control panel, device manager shows 2 entries.
>
> Under scsi and raid controllers
> SCSI/RAID Host Controller
> Virtual scsi adapter ( my driver)
>
> The virtual scsi entries has yellow bang (code 10: device cannot start).
> Unfortunately, both are using the same driver file which I have installed.
>
> Why it is creating 2 entries pointing to same driver file?.
>
> How to solve the problem of yellow bang (code 10) for virtual scsi driver?
>
> Thanks
> Kas
>
>
> When I install (virtual) scsi miniport driver using add_new_harware
from
control panel, device manager shows 2 entries.
Under scsi and raid controllers
SCSI/RAID Host Controller
Virtual scsi adapter ( my driver)
The virtual scsi entries has yellow bang (code 10: device cannot
start).
SCSIPORT is not intended for hardware-less virtual miniports, period.
You will have lots of problems - with the miniport context, with
hardware resources etc.
Implementing your own SCSI port with IRP queues and bus driver
functionality is a correct way.
Max
Hi,
Thanks for reply.
Actually, we have to develop an iscsi environment for windows 2000.
So I am working on creating the initiator which has no real h/w and connect with target and map the disk in taget to the initiator.
This put me on creating a virtual miniport driver.
Do I really need to write a new scsiport driver for this?. Is there any other way to implement the initiator?.( with bus driver and virtual miniport driver ?)
If not , how to write a scsiport driver?. Pls give me some pointer where I can get info on writing the scsiport driver.
How to create a virtual drive in windows?. so that all request to this drive will be forwarded to the miniport driver. Give me the section to refer in ddk doc.
Surely , this is more no. of quetions. But i expecting to get answer for all questions.
Thanks for your time
Kas
“Maxim S. Shatskih” wrote: > When I install (virtual) scsi miniport driver using add_new_harware
from
> control panel, device manager shows 2 entries.
>
> Under scsi and raid controllers
> SCSI/RAID Host Controller
> Virtual scsi adapter ( my driver)
>
> The virtual scsi entries has yellow bang (code 10: device cannot
start).
SCSIPORT is not intended for hardware-less virtual miniports, period.
You will have lots of problems - with the miniport context, with
hardware resources etc.
Implementing your own SCSI port with IRP queues and bus driver
functionality is a correct way.
Max
—
You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to %%email.unsub%%
---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
Hi,
Thanks for the reply.
I removed all entries from the registry. Then I installed it again.
This time also I got the same problem. 2 entries showed by device manager.
What could I have missed out still?.
Thanks
Kas
“Gary G. Little” wrote:I’ve seen that, even thought about using it a time or two. In my case what
had happend was that I was messing around with the names of my drivers and
did an install with the new names in the registry but the old binary names.
I then had two entries in the registry with the same ImagePath. Along comes
a spider and boom … two calls to the driver entry and multiple calls to
AddDevice as well. Of course since the driver was really not set up to
handle that situation the second instantiation tended to get sick a die.
It’s amazing the things you can learn by making mistakes.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
“kas” wrote in message news:xxxxx@ntdev…
>
> Hi All,
>
> When I install (virtual) scsi miniport driver using add_new_harware from
> control panel, device manager shows 2 entries.
>
> Under scsi and raid controllers
> SCSI/RAID Host Controller
> Virtual scsi adapter ( my driver)
>
> The virtual scsi entries has yellow bang (code 10: device cannot start).
> Unfortunately, both are using the same driver file which I have installed.
>
> Why it is creating 2 entries pointing to same driver file?.
>
> How to solve the problem of yellow bang (code 10) for virtual scsi driver?
>
> Thanks
> Kas
>
>
—
You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to %%email.unsub%%
---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
Hi !
Yes, you are right. If you dont talk to the hardware below,
you will have a scsi miniport which will connect to the target.
You need not implement a scsiport driver. A miniport will be enough …
Check out the sample in the DDK.
-G
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of kas s
Sent: Wednesday, December 04, 2002 12:54 PM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
Hi,
Thanks for reply.
Actually, we have to develop an iscsi environment for windows 2000.
So I am working on creating the initiator which has no real h/w and
connect with target and map the disk in taget to the initiator.
This put me on creating a virtual miniport driver.
Do I really need to write a new scsiport driver for this?. Is there any
other way to implement the initiator?.( with bus driver and virtual
miniport driver ?)
If not , how to write a scsiport driver?. Pls give me some pointer where
I can get info on writing the scsiport driver.
How to create a virtual drive in windows?. so that all request to this
drive will be forwarded to the miniport driver. Give me the section to
refer in ddk doc.
Surely , this is more no. of quetions. But i expecting to get answer
for all questions.
Thanks for your time
Kas
“Maxim S. Shatskih” wrote:
> When I install (virtual) scsi miniport driver using add_new_harware
from
> control panel, device manager shows 2 entries.
>
> Under scsi and raid controllers
> SCSI/RAID Host Controller
> Virtual scsi adapter ( my driver)
>
> The virtual scsi entries has yellow bang (code 10: device cannot
start).
SCSIPORT is not intended for hardware-less virtual miniports, period.
You will have lots of problems - with the miniport context, with
hardware resources etc.
Implementing your own SCSI port with IRP queues and bus driver
functionality is a correct way.
Max
—
You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to %%email.unsub%%
_____
Do you Yahoo!?
Yahoo! Mail
http: Plus -
Powerful. Affordable. Sign up
http: now —
You are currently subscribed to ntdev as: xxxxx@cisco.com To
unsubscribe send a blank email to %%email.unsub%%</http:></http:>
I doubt if that approach will work in 2K, coz of PnP issues.
Girish could u please give some pointers how to implement a virtual scsi
miniport in 2K, in absence of real hardware.
I think one needs to have a virtual scsi bus driver that would enumerate a
fake HBA, and then SCSIPORT would call HwScsiFindAdapter routine of ur
virtual miniport.
It would be much nice if u can throw some light as how ur scsi miniport’s
FindAdapter function would get called in case of 2K?
Regards
Anurag
On Wednesday 04 December 2002 01:55 pm, you wrote:
Hi !
Yes, you are right. If you dont talk to the hardware below,
you will have a scsi miniport which will connect to the target.
You need not implement a scsiport driver. A miniport will be enough …
Check out the sample in the DDK.
-G
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of kas s
Sent: Wednesday, December 04, 2002 12:54 PM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
Hi,
Thanks for reply.
Actually, we have to develop an iscsi environment for windows 2000.
So I am working on creating the initiator which has no real h/w and
connect with target and map the disk in taget to the initiator.
This put me on creating a virtual miniport driver.
Do I really need to write a new scsiport driver for this?. Is there any
other way to implement the initiator?.( with bus driver and virtual
miniport driver ?)
If not , how to write a scsiport driver?. Pls give me some pointer where
I can get info on writing the scsiport driver.
How to create a virtual drive in windows?. so that all request to this
drive will be forwarded to the miniport driver. Give me the section to
refer in ddk doc.
Surely , this is more no. of quetions. But i expecting to get answer
for all questions.
Thanks for your time
Kas
“Maxim S. Shatskih” wrote:
> > When I install (virtual) scsi miniport driver using add_new_harware
>
> from
>
> > control panel, device manager shows 2 entries.
> >
> > Under scsi and raid controllers
> > SCSI/RAID Host Controller
> > Virtual scsi adapter ( my driver)
> >
> > The virtual scsi entries has yellow bang (code 10: device cannot
>
> start).
>
> SCSIPORT is not intended for hardware-less virtual miniports, period.
> You will have lots of problems - with the miniport context, with
> hardware resources etc.
>
> Implementing your own SCSI port with IRP queues and bus driver
> functionality is a correct way.
>
> Max
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yahoo.com
> To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>
> _____
>
> Do you Yahoo!?
> Yahoo! Mail
> http: Plus -
> Powerful. Affordable. Sign up
> http: now —
> You are currently subscribed to ntdev as: xxxxx@cisco.com To
> unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@dcmtech.co.in
> To unsubscribe send a blank email to %%email.unsub%%
----------------------------------------
Content-Type: text/html; charset=“us-ascii”; name=“Attachment: 1”
Content-Transfer-Encoding: quoted-printable
Content-Description:
----------------------------------------</http:></http:>
Also remember that if you do write your own SCSIPORT, you will not be able
to hibernate a system, or write to a crash dump file. Unless, you have MS
source code to guide you on your journey. If I am wrong about this, then
please argue your point with source code. I would love to see it.
Joe
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Tuesday, December 03, 2002 3:39 PM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
> When I install (virtual) scsi miniport driver using add_new_harware
from
> control panel, device manager shows 2 entries.
>
> Under scsi and raid controllers
> SCSI/RAID Host Controller
> Virtual scsi adapter ( my driver)
>
> The virtual scsi entries has yellow bang (code 10: device cannot
start).
SCSIPORT is not intended for hardware-less virtual miniports, period.
You will have lots of problems - with the miniport context, with
hardware resources etc.
Implementing your own SCSI port with IRP queues and bus driver
functionality is a correct way.
Max
You are currently subscribed to ntdev as: xxxxx@east.sun.com
To unsubscribe send a blank email to %%email.unsub%%
Message>You need not implement a scsiport driver. A miniport will be
enough …
Not so.
SCSIPORT allows only the hardware miniports which have interrupts.
Hardware-less virtual miniport will hit a bunch of problems, namely:
- faking the hardware resources for SCSIPORT in some dirty way - just
to be loaded.
- miniport’s functions are called by SCSIPORT from inside
KeSynchronizeExecution callback. You cannot do anything good - like
calling TDI - from such a context.
- request completion (ScsiPortNotification) must be called from the
same “miniport context” (KeSynchronizeExecution callback). To get into
this context, you must have some dirty tricks like timers (slows down
a lot) or some additional IOCTL_SCSI_MINIPORT calls from some above
code.
NDIS has deserialized miniports for this kind of things. SCSIPORT has
none.
Max
Are you really serious about hibernating to iSCSI?
Hibernate and crash dump files are for SystemRoot only, and
SystemRoot from iSCSI is surely a kind of “advanced” functionality,
many customers will feel OK with “unbootable” iSCSI support.
Source code is not necessary, you can do many things with
disassembler 
Max
----- Original Message -----
From: “Joe Moriarty”
To: “NT Developers Interest List”
Sent: Wednesday, December 04, 2002 5:03 PM
Subject: [ntdev] Re: scsi miniport installation problem
> Also remember that if you do write your own SCSIPORT, you will not
be able
> to hibernate a system, or write to a crash dump file. Unless, you
have MS
> source code to guide you on your journey. If I am wrong about this,
then
> please argue your point with source code. I would love to see it.
>
> Joe
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S.
Shatskih
> > Sent: Tuesday, December 03, 2002 3:39 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: scsi miniport installation problem
> >
> >
> > > When I install (virtual) scsi miniport driver using
add_new_harware
> > from
> > > control panel, device manager shows 2 entries.
> > >
> > > Under scsi and raid controllers
> > > SCSI/RAID Host Controller
> > > Virtual scsi adapter ( my driver)
> > >
> > > The virtual scsi entries has yellow bang (code 10: device cannot
> > start).
> >
> > SCSIPORT is not intended for hardware-less virtual miniports,
period.
> > You will have lots of problems - with the miniport context, with
> > hardware resources etc.
> >
> > Implementing your own SCSI port with IRP queues and bus driver
> > functionality is a correct way.
> >
> > Max
> >
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as:
xxxxx@east.sun.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>
Are you really serious in believing that iSCSI is the only thing you write
SCSIPORT drivers for?
Funny thing is, I already knew what your response would be 
Joe
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Wednesday, December 04, 2002 9:47 AM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
Are you really serious about hibernating to iSCSI?
Hibernate and crash dump files are for SystemRoot only, and
SystemRoot from iSCSI is surely a kind of “advanced” functionality,
many customers will feel OK with “unbootable” iSCSI support.
Source code is not necessary, you can do many things with
disassembler 
Max
----- Original Message -----
From: “Joe Moriarty”
> To: “NT Developers Interest List”
> Sent: Wednesday, December 04, 2002 5:03 PM
> Subject: [ntdev] Re: scsi miniport installation problem
>
>
> > Also remember that if you do write your own SCSIPORT, you will not
> be able
> > to hibernate a system, or write to a crash dump file. Unless, you
> have MS
> > source code to guide you on your journey. If I am wrong about this,
> then
> > please argue your point with source code. I would love to see it.
> >
> > Joe
> >
> > > -----Original Message-----
> > > From: xxxxx@lists.osr.com
> > > [mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S.
> Shatskih
> > > Sent: Tuesday, December 03, 2002 3:39 PM
> > > To: NT Developers Interest List
> > > Subject: [ntdev] Re: scsi miniport installation problem
> > >
> > >
> > > > When I install (virtual) scsi miniport driver using
> add_new_harware
> > > from
> > > > control panel, device manager shows 2 entries.
> > > >
> > > > Under scsi and raid controllers
> > > > SCSI/RAID Host Controller
> > > > Virtual scsi adapter ( my driver)
> > > >
> > > > The virtual scsi entries has yellow bang (code 10: device cannot
> > > start).
> > >
> > > SCSIPORT is not intended for hardware-less virtual miniports,
> period.
> > > You will have lots of problems - with the miniport context, with
> > > hardware resources etc.
> > >
> > > Implementing your own SCSI port with IRP queues and bus driver
> > > functionality is a correct way.
> > >
> > > Max
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
> xxxxx@east.sun.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@east.sun.com
> To unsubscribe send a blank email to %%email.unsub%%
You can solve many of the PnP issues in a virtual SCSI miniport by ignoring
WDM and writting a legacy miniport. Once you do that you needn’t worry about
whom or what is going to enumerate your bus widget that will then cause a
call to SCSIPORTS AddDevice and hope you get a call to FindAdapter.
Overall that is realtively simple. From that point on however, virtual
miniports SUCK, big time. Becasue you have no hardware in the miniprt, you
have no interrupt. Because you have no interrupt, you have no real time
method of getting to the SCSIPORT DPC, other than a timer, and by definition
a system timer is going give you a 10 ms (yes that is MILLISECONDS) lump of
time before your DPC will trigger. Remember that the DPC is what calls your
CallEnableInterrupts callback function at DISPATCH_LEVEL where alot of your
SRB terminal processing will be done. Yes, there are HACKS that can be used
to circumvent this, but next release of windows or a SP could very well kill
all that pretty haquery.
An alternate solution is to go to a third party SCSIPORT support package and
let them worry about all that normally sits above SCSIPORT.
Your dual instantiation probelms is a simple, and relatively minor mistake
that have made. Look at how you define and use class and or GUIDS.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
>>Are you really serious in believing that iSCSI is the only thing you
write
SCSIPORT drivers for?<<
Did I miss something?
Jamey
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Joe Moriarty
Sent: Wednesday, December 04, 2002 7:14 AM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
Are you really serious in believing that iSCSI is the only thing you
write
SCSIPORT drivers for?
Funny thing is, I already knew what your response would be 
Joe
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Wednesday, December 04, 2002 9:47 AM
To: NT Developers Interest List
Subject: [ntdev] Re: scsi miniport installation problem
Are you really serious about hibernating to iSCSI?
Hibernate and crash dump files are for SystemRoot only, and
SystemRoot from iSCSI is surely a kind of “advanced” functionality,
many customers will feel OK with “unbootable” iSCSI support.
Source code is not necessary, you can do many things with
disassembler 
Max
----- Original Message -----
From: “Joe Moriarty”
> To: “NT Developers Interest List”
> Sent: Wednesday, December 04, 2002 5:03 PM
> Subject: [ntdev] Re: scsi miniport installation problem
>
>
> > Also remember that if you do write your own SCSIPORT, you will not
> be able
> > to hibernate a system, or write to a crash dump file. Unless, you
> have MS
> > source code to guide you on your journey. If I am wrong about this,
> then
> > please argue your point with source code. I would love to see it.
> >
> > Joe
> >
> > > -----Original Message-----
> > > From: xxxxx@lists.osr.com
> > > [mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S.
> Shatskih
> > > Sent: Tuesday, December 03, 2002 3:39 PM
> > > To: NT Developers Interest List
> > > Subject: [ntdev] Re: scsi miniport installation problem
> > >
> > >
> > > > When I install (virtual) scsi miniport driver using
> add_new_harware
> > > from
> > > > control panel, device manager shows 2 entries.
> > > >
> > > > Under scsi and raid controllers
> > > > SCSI/RAID Host Controller
> > > > Virtual scsi adapter ( my driver)
> > > >
> > > > The virtual scsi entries has yellow bang (code 10: device cannot
> > > start).
> > >
> > > SCSIPORT is not intended for hardware-less virtual miniports,
> period.
> > > You will have lots of problems - with the miniport context, with
> > > hardware resources etc.
> > >
> > > Implementing your own SCSI port with IRP queues and bus driver
> > > functionality is a correct way.
> > >
> > > Max
> > >
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
> xxxxx@east.sun.com
> > > To unsubscribe send a blank email to %%email.unsub%%
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@east.sun.com
> To unsubscribe send a blank email to %%email.unsub%%
—
You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%
> You can solve many of the PnP issues in a virtual SCSI miniport by
ignoring
WDM and writting a legacy miniport.
Any differences in WDM and pre-WDM SCSI miniports?
Max
Hi Gary,
A lot of discussion is going on for and against writing a scsiport. As a beginner , it makes sense to start with using the OS-specific scsiport driver.
Once you do that you needn’t worry about
whom or what is going to enumerate your bus widget that will then cause a
call to SCSIPORTS AddDevice and hope you get a call to FindAdapter
Is there any thing like AddDevice in scsiport/miniport?.
I thought only PNP drivers need to have add-device routine.
Your mail says some one will call scsiport CallEnableInterrupts. It is related with HwScsiInterrupt. When we set HwScsiInterrupt= NULL, we need not bother about CallEnableInterrupts. If I am wrong, pls correct me.
Thanks to all replied to my query
Kas
“Gary G. Little” wrote:You can solve many of the PnP issues in a virtual SCSI miniport by ignoring
WDM and writting a legacy miniport. Once you do that you needn’t worry about
whom or what is going to enumerate your bus widget that will then cause a
call to SCSIPORTS AddDevice and hope you get a call to FindAdapter.
Overall that is realtively simple. From that point on however, virtual
miniports SUCK, big time. Becasue you have no hardware in the miniprt, you
have no interrupt. Because you have no interrupt, you have no real time
method of getting to the SCSIPORT DPC, other than a timer, and by definition
a system timer is going give you a 10 ms (yes that is MILLISECONDS) lump of
time before your DPC will trigger. Remember that the DPC is what calls your
CallEnableInterrupts callback function at DISPATCH_LEVEL where alot of your
SRB terminal processing will be done. Yes, there are HACKS that can be used
to circumvent this, but next release of windows or a SP could very well kill
all that pretty haquery.
An alternate solution is to go to a third party SCSIPORT support package and
let them worry about all that normally sits above SCSIPORT.
Your dual instantiation probelms is a simple, and relatively minor mistake
that have made. Look at how you define and use class and or GUIDS.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
—
You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to %%email.unsub%%
---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
Yes there are. The data structure initialized in the DriverEntry routine has
changed with new routines added for WDM and PnP. Plus you also have have set
the PnPInterface key correctly in the registry. There are other diferrences
discussed in the docs as well.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
>
> > You can solve many of the PnP issues in a virtual SCSI miniport by
> ignoring
> > WDM and writting a legacy miniport.
>
> Any differences in WDM and pre-WDM SCSI miniports?
>
> Max
>
>
>
>
>
Typically you call ScsiPortNotification for CallEnableInterrupts in the
miniports interrupt handling function. All that does is tell SCSIPORT to
schedule a DPC on its device object. Critical here is whether or not you
have hardware and an interrupt. If youj have no interrupt then you wind up
using a timer at 10 milliseconds to driver things and your data rate gets
fluhed dowqn the toilette.
If you have any inkling that this is going to be a “virtual” SCSI miniport
then you must avoid SCSIPORT, unless you can live with polling and a timer.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
“kas s” wrote in message news:xxxxx@ntdev…
Hi Gary,
A lot of discussion is going on for and against writing a scsiport. As a
beginner , it makes sense to start with using the OS-specific scsiport
driver.
>Once you do that you needn’t worry about
>whom or what is going to enumerate your bus widget that will then cause a
>call to SCSIPORTS AddDevice and hope you get a call to FindAdapter
Is there any thing like AddDevice in scsiport/miniport?.
I thought only PNP drivers need to have add-device routine.
Your mail says some one will call scsiport CallEnableInterrupts. It is
related with HwScsiInterrupt. When we set HwScsiInterrupt= NULL, we need
not bother about CallEnableInterrupts. If I am wrong, pls correct me.
Thanks to all replied to my query
Kas
“Gary G. Little” wrote:
You can solve many of the PnP issues in a virtual SCSI miniport by ignoring
WDM and writting a legacy miniport. Once you do that you needn’t worry about
whom or what is going to enumerate your bus widget that will then cause a
call to SCSIPORTS AddDevice and hope you get a call to FindAdapter.
Overall that is realtively simple. From that point on however, virtual
miniports SUCK, big time. Becasue you have no hardware in the miniprt, you
have no interrupt. Because you have no interrupt, you have no real time
method of getting to the SCSIPORT DPC, other than a timer, and by definition
a system timer is going give you a 10 ms (yes that is MILLISECONDS) lump of
time before your DPC will trigger. Remember that the DPC is what calls your
CallEnableInterrupts callback function at DISPATCH_LEVEL where alot of your
SRB terminal processing will be done. Yes, there are HACKS that can be used
o circumvent this, but next release of windows or a SP could very well kill
all that pretty haquery.
An alternate solution is to go to a third party SCSIPORT support package and
let them worry about all that normally sits above SCSIPORT.
Your dual instantiation probelms is a simple, and relatively minor mistake
that have made. Look at how you define and use class and or GUIDS.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
—
You are currently subscribed to ntdev as: xxxxx@yahoo.com
To unsubscribe send a blank email to %%email.unsub%%
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
Any final verdict, what approach one should take for developing iScsi
Initiator in windows 2K in absence of real hardware other then writing one’s
own SCSIPORT as a last resort…?
-Anurag
On Wednesday 04 December 2002 09:18 pm, you wrote:
You can solve many of the PnP issues in a virtual SCSI miniport by ignoring
WDM and writting a legacy miniport. Once you do that you needn’t worry
about whom or what is going to enumerate your bus widget that will then
cause a call to SCSIPORTS AddDevice and hope you get a call to FindAdapter.
Overall that is realtively simple. From that point on however, virtual
miniports SUCK, big time. Becasue you have no hardware in the miniprt, you
have no interrupt. Because you have no interrupt, you have no real time
method of getting to the SCSIPORT DPC, other than a timer, and by
definition a system timer is going give you a 10 ms (yes that is
MILLISECONDS) lump of time before your DPC will trigger. Remember that the
DPC is what calls your CallEnableInterrupts callback function at
DISPATCH_LEVEL where alot of your SRB terminal processing will be done.
Yes, there are HACKS that can be used to circumvent this, but next release
of windows or a SP could very well kill all that pretty haquery.
An alternate solution is to go to a third party SCSIPORT support package
and let them worry about all that normally sits above SCSIPORT.
Your dual instantiation probelms is a simple, and relatively minor mistake
that have made. Look at how you define and use class and or GUIDS.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
You are currently subscribed to ntdev as: xxxxx@dcmtech.co.in
To unsubscribe send a blank email to %%email.unsub%%
I would say that if you have to do a virtual SCSI device then you are going
top have to go to 3rd party SCSIPORT support, either write your own — MANY
months, LOTS of bucks — or some one elses — LOTS less months and
probably l;ess bucks in the long run.
The iSCSI drivers that I have seen typically use a SCSI miniport as the
lower layer, with an internet or ethernet edge or a filter, but the SCSI
minport was controlling the hardware.
I have used VSPORT from Storage Craft, www.storagecraft.com, and can
recommend it.I had wrritten a fibre channel bus driver that enumerated a FC
bus that supported several uses of the fibre channel device, one use being a
virtual SCSI miniport. VSPORT provided the SCSIPORT functionality.
–
Gary G. Little
Have Computer, will travel …
909-698-3191
909-551-2105
“Anurag” wrote in message news:xxxxx@ntdev…
>
> Any final verdict, what approach one should take for developing iScsi
> Initiator in windows 2K in absence of real hardware other then writing
one’s
> own SCSIPORT as a last resort…?
>
> -Anurag
>
>
> On Wednesday 04 December 2002 09:18 pm, you wrote:
> > You can solve many of the PnP issues in a virtual SCSI miniport by
ignoring
> > WDM and writting a legacy miniport. Once you do that you needn’t worry
> > about whom or what is going to enumerate your bus widget that will then
> > cause a call to SCSIPORTS AddDevice and hope you get a call to
FindAdapter.
> >
> > Overall that is realtively simple. From that point on however, virtual
> > miniports SUCK, big time. Becasue you have no hardware in the miniprt,
you
> > have no interrupt. Because you have no interrupt, you have no real time
> > method of getting to the SCSIPORT DPC, other than a timer, and by
> > definition a system timer is going give you a 10 ms (yes that is
> > MILLISECONDS) lump of time before your DPC will trigger. Remember that
the
> > DPC is what calls your CallEnableInterrupts callback function at
> > DISPATCH_LEVEL where alot of your SRB terminal processing will be done.
> > Yes, there are HACKS that can be used to circumvent this, but next
release
> > of windows or a SP could very well kill all that pretty haquery.
> >
> > An alternate solution is to go to a third party SCSIPORT support package
> > and let them worry about all that normally sits above SCSIPORT.
> >
> > Your dual instantiation probelms is a simple, and relatively minor
mistake
> > that have made. Look at how you define and use class and or GUIDS.
> >
> > –
> > Gary G. Little
> > Have Computer, will travel …
> > 909-698-3191
> > 909-551-2105
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@dcmtech.co.in
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
Purchasing the third-party SCSIPORT library 
----- Original Message -----
From: “Anurag”
To: “NT Developers Interest List”
Sent: Friday, December 06, 2002 8:01 AM
Subject: [ntdev] Re: scsi miniport installation problem
> Any final verdict, what approach one should take for developing
iScsi
> Initiator in windows 2K in absence of real hardware other then
writing one’s
> own SCSIPORT as a last resort…?
>
> -Anurag
>
>
> On Wednesday 04 December 2002 09:18 pm, you wrote:
> > You can solve many of the PnP issues in a virtual SCSI miniport by
ignoring
> > WDM and writting a legacy miniport. Once you do that you needn’t
worry
> > about whom or what is going to enumerate your bus widget that will
then
> > cause a call to SCSIPORTS AddDevice and hope you get a call to
FindAdapter.
> >
> > Overall that is realtively simple. From that point on however,
virtual
> > miniports SUCK, big time. Becasue you have no hardware in the
miniprt, you
> > have no interrupt. Because you have no interrupt, you have no real
time
> > method of getting to the SCSIPORT DPC, other than a timer, and by
> > definition a system timer is going give you a 10 ms (yes that is
> > MILLISECONDS) lump of time before your DPC will trigger. Remember
that the
> > DPC is what calls your CallEnableInterrupts callback function at
> > DISPATCH_LEVEL where alot of your SRB terminal processing will be
done.
> > Yes, there are HACKS that can be used to circumvent this, but next
release
> > of windows or a SP could very well kill all that pretty haquery.
> >
> > An alternate solution is to go to a third party SCSIPORT support
package
> > and let them worry about all that normally sits above SCSIPORT.
> >
> > Your dual instantiation probelms is a simple, and relatively minor
mistake
> > that have made. Look at how you define and use class and or GUIDS.
> >
> > –
> > Gary G. Little
> > Have Computer, will travel …
> > 909-698-3191
> > 909-551-2105
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as:
xxxxx@dcmtech.co.in
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>