Loading two drivers for the same driver.

Hi all,

This is a dumb question I am asking to the
group here. Is it possible to load two drivers for
a same hardware. To be more clear I will illustrate
this with the problem I am facing now. And sorry for
this long mail.

This is on Windows 98/ME

I have a PCMCIA hardware that has an internal PCMCIA
-UART bridge. When I Plug in the card, we load serial
driver (Serial.vxd) for the internal UART and hence
the card loads a communication port say COM5. I have a
WDM driver (Function driver) that interacts to the
card via COM5.

Now the when card is plugged out, the COM5 is deleted
but there is no way my Function driver comes to know
about this.

So My idea to get pnp notifications was, if I load a
COM driver and My function driver for the given
hardware, then there is a chance for the OS to call
the PNP handler of my WDM function driver. and so on

Is this idea stupid and is it possible ?

On Win2k I register for Pnp notification with the
serial.sys and no problems.

Please can any one come up with a suggestion for the
problem.

Can I hook for shell notifications in WDM driver. This
is because Windows will broadcast a shell notification
about the removal of the card (COM5).

( Infact I had used the Shell notification in one of
the *.vxd driver written earlier to get the
notification)

All ideas and comments are welcomed.

Thanks a lot.

Regards,
Jay


Do You Yahoo!?
NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Having 2 drivers to the same piece of hardware is bad idea.
Write a bus driver (which will do all of the hardware work) and 2 functional drivers for 2 devices.
Look at w2k’s floppy architecture - it does exactly this.

Max

----- Original Message -----
From: “jayadev m n”
To: “NT Developers Interest List”
Sent: Thursday, October 04, 2001 8:30 PM
Subject: [ntdev] Loading two drivers for the same driver.

> Hi all,
>
> This is a dumb question I am asking to the
> group here. Is it possible to load two drivers for
> a same hardware. To be more clear I will illustrate
> this with the problem I am facing now. And sorry for
> this long mail.
>
> This is on Windows 98/ME
>
> I have a PCMCIA hardware that has an internal PCMCIA
> -UART bridge. When I Plug in the card, we load serial
> driver (Serial.vxd) for the internal UART and hence
> the card loads a communication port say COM5. I have a
> WDM driver (Function driver) that interacts to the
> card via COM5.
>
> Now the when card is plugged out, the COM5 is deleted
> but there is no way my Function driver comes to know
> about this.
>
> So My idea to get pnp notifications was, if I load a
> COM driver and My function driver for the given
> hardware, then there is a chance for the OS to call
> the PNP handler of my WDM function driver. and so on
> …
>
> Is this idea stupid and is it possible ?
>
> On Win2k I register for Pnp notification with the
> serial.sys and no problems.
>
> Please can any one come up with a suggestion for the
> problem.
>
> Can I hook for shell notifications in WDM driver. This
> is because Windows will broadcast a shell notification
> about the removal of the card (COM5).
>
> ( Infact I had used the Shell notification in one of
> the *.vxd driver written earlier to get the
> notification)
>
> All ideas and comments are welcomed.
>
> Thanks a lot.
>
> Regards,
> Jay
>
>
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
> http://geocities.yahoo.com/ps/info1
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Max,

Any estimates how long it would take for someone not familiar with plug and
play to develop this sort of bus driver? Plug and play has a pretty steep
learning curve.

-Evan Hillman

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
Sent: Friday, October 05, 2001 10:31 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Loading two drivers for the same driver.

Having 2 drivers to the same piece of hardware is bad idea.
Write a bus driver (which will do all of the hardware work) and 2
functional drivers for 2 devices.
Look at w2k’s floppy architecture - it does exactly this.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

After all, one can copy-paste from Toaster.

----- Original Message -----
From: “Evan Hillman”
To: “NT Developers Interest List”
Sent: Saturday, October 06, 2001 12:33 AM
Subject: [ntdev] Re: Loading two drivers for the same driver.

> Max,
>
> Any estimates how long it would take for someone not familiar with plug and
> play to develop this sort of bus driver? Plug and play has a pretty steep
> learning curve.
>
> -Evan Hillman
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
> > Sent: Friday, October 05, 2001 10:31 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: Loading two drivers for the same driver.
> >
> >
> > Having 2 drivers to the same piece of hardware is bad idea.
> > Write a bus driver (which will do all of the hardware work) and 2
> > functional drivers for 2 devices.
> > Look at w2k’s floppy architecture - it does exactly this.
> >
> > Max
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Max,

You’re right laddie, one can copy and paste from toaster … Elyas and his
cohorts did a marvelous job with that piece of code. However … it is not
an end-all, and doing a bus driver is most definitely a test of man-hood, or
woman-hood, which ever the case may be. Toaster’s strength is in it’s
illustration of the FDO/PDO relationship, or that you most likely will have
a lower edge FDO on top of a PCI PDO, and then present more than one PDO for
your “proprietary” bus.

For a neophyte to get a bus driver to the point that it can present it’s
hardware ID’s to the PnP manager requires overcoming an almost vertical
learning curve. It isn’t impossible, just some of the more intensive design
and coding that needs to be done.

But Evan wants one of those “magic” metrics. If you take a metric such as 40
lines of C a week for the duration of a project, I would estimate that using
1/3 of that would be about right. So, for an individual that has never done
a PnP driver to write a bus driver, I think you can figure on about 13 lines
of code a week.

(By the way … Honeywell introduced me to that number. It was based on the
total lines of code for aero-space and military projects, and the number of
man-weeks involved. When I was working for Honeywell, we used 40 lines of
Fortran and 60 lines of assembly per week. That metric included ALL of the
design, coding, and debugging required for a project to be conceived,
delivered and accepted.)

Gary G. Little
Staff Engineer
Broadband Storage, Inc.
xxxxx@broadstor.com

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Friday, October 05, 2001 7:36 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Loading two drivers for the same driver.

After all, one can copy-paste from Toaster.

----- Original Message -----
From: “Evan Hillman”
To: “NT Developers Interest List”
Sent: Saturday, October 06, 2001 12:33 AM
Subject: [ntdev] Re: Loading two drivers for the same driver.

> Max,
>
> Any estimates how long it would take for someone not familiar with plug
and
> play to develop this sort of bus driver? Plug and play has a pretty steep
> learning curve.
>
> -Evan Hillman
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com]On Behalf Of Maxim S. Shatskih
> > Sent: Friday, October 05, 2001 10:31 AM
> > To: NT Developers Interest List
> > Subject: [ntdev] Re: Loading two drivers for the same driver.
> >
> >
> > Having 2 drivers to the same piece of hardware is bad idea.
> > Write a bus driver (which will do all of the hardware work) and 2
> > functional drivers for 2 devices.
> > Look at w2k’s floppy architecture - it does exactly this.
> >
> > Max
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: xxxxx@broadstor.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> You’re right laddie, one can copy and paste from toaster … Elyas and his

cohorts did a marvelous job with that piece of code. However … it is not
an end-all, and doing a bus driver is most definitely a test of man-hood, or
woman-hood

:-)))
The Real Woman is the one capable of writing a bus driver :slight_smile:
Well, “test of personality strength” can be the right name.

man-weeks involved. When I was working for Honeywell, we used 40 lines of
Fortran and 60 lines of assembly per week. That metric included ALL of the

Looks like this is due to extraordinary high quality requirements in military, am I wrong?
In USSR military (some 1980 systems used CPUs and firmware) memory was allocated… by written general’s order :slight_smile:

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Well, yeah … the general thinking was that fire and forget missiles should
go where they were supposed to, and fire direction centers should really
direct fire. Not duck.

Gary G. Little
Staff Engineer
Broadband Storage, Inc.
xxxxx@broadstor.com

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Monday, October 08, 2001 2:02 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Loading two drivers for the same driver.

You’re right laddie, one can copy and paste from toaster … Elyas and his
cohorts did a marvelous job with that piece of code. However … it is not
an end-all, and doing a bus driver is most definitely a test of man-hood,
or
woman-hood

:-)))
The Real Woman is the one capable of writing a bus driver :slight_smile:
Well, “test of personality strength” can be the right name.

man-weeks involved. When I was working for Honeywell, we used 40 lines of
Fortran and 60 lines of assembly per week. That metric included ALL of the

Looks like this is due to extraordinary high quality requirements in
military, am I wrong?
In USSR military (some 1980 systems used CPUs and firmware) memory was
allocated… by written general’s order :slight_smile:

Max


You are currently subscribed to ntdev as: xxxxx@broadstor.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Not so a bit.
2 programmer teams both wrote 2 different parts of the firmware. Their sum memory requirement was larger than the amount of memory.
Then the general (not usually military, but an engineer with military rank) acted as a “jugde” and made a decision on what team’s
requirements are more important.

Max

----- Original Message -----
From: “Gary Little”
To: “NT Developers Interest List”
Sent: Tuesday, October 09, 2001 1:49 AM
Subject: [ntdev] Re: Loading two drivers for the same driver.

> Well, yeah … the general thinking was that fire and forget missiles should
> go where they were supposed to, and fire direction centers should really
> direct fire. Not duck.
>
> Gary G. Little
> Staff Engineer
> Broadband Storage, Inc.
> xxxxx@broadstor.com
>
> -----Original Message-----
> From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
> Sent: Monday, October 08, 2001 2:02 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Loading two drivers for the same driver.
>
> > You’re right laddie, one can copy and paste from toaster … Elyas and his
> > cohorts did a marvelous job with that piece of code. However … it is not
> > an end-all, and doing a bus driver is most definitely a test of man-hood,
> or
> > woman-hood
>
> :-)))
> The Real Woman is the one capable of writing a bus driver :slight_smile:
> Well, “test of personality strength” can be the right name.
>
> > man-weeks involved. When I was working for Honeywell, we used 40 lines of
> > Fortran and 60 lines of assembly per week. That metric included ALL of the
>
> Looks like this is due to extraordinary high quality requirements in
> military, am I wrong?
> In USSR military (some 1980 systems used CPUs and firmware) memory was
> allocated… by written general’s order :slight_smile:
>
> Max
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@broadstor.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hmmmm as I recall … Apollo 11 went to t he moon and back on 8k …

Gary G. Little
Staff Engineer
Broadband Storage, Inc.
xxxxx@broadstor.com

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Monday, October 08, 2001 3:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Loading two drivers for the same driver.

Not so a bit.
2 programmer teams both wrote 2 different parts of the firmware. Their sum
memory requirement was larger than the amount of memory.
Then the general (not usually military, but an engineer with military rank)
acted as a “jugde” and made a decision on what team’s
requirements are more important.

Max

----- Original Message -----
From: “Gary Little”
To: “NT Developers Interest List”
Sent: Tuesday, October 09, 2001 1:49 AM
Subject: [ntdev] Re: Loading two drivers for the same driver.

> Well, yeah … the general thinking was that fire and forget missiles
should
> go where they were supposed to, and fire direction centers should really
> direct fire. Not duck.
>
> Gary G. Little
> Staff Engineer
> Broadband Storage, Inc.
> xxxxx@broadstor.com
>
> -----Original Message-----
> From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
> Sent: Monday, October 08, 2001 2:02 PM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Loading two drivers for the same driver.
>
> > You’re right laddie, one can copy and paste from toaster … Elyas and
his
> > cohorts did a marvelous job with that piece of code. However … it is
not
> > an end-all, and doing a bus driver is most definitely a test of
man-hood,
> or
> > woman-hood
>
> :-)))
> The Real Woman is the one capable of writing a bus driver :slight_smile:
> Well, “test of personality strength” can be the right name.
>
> > man-weeks involved. When I was working for Honeywell, we used 40 lines
of
> > Fortran and 60 lines of assembly per week. That metric included ALL of
the
>
> Looks like this is due to extraordinary high quality requirements in
> military, am I wrong?
> In USSR military (some 1980 systems used CPUs and firmware) memory was
> allocated… by written general’s order :slight_smile:
>
> Max
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@broadstor.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: xxxxx@broadstor.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> Looks like this is due to extraordinary high quality requirements in
military, am I wrong?

In USSR military (some 1980 systems used CPUs and firmware) memory was
allocated… by written general’s order :slight_smile:

I guess we’re lucky it only takes a kernel ;=)

Marc Reinig
System Solutions


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com