Hi,
I have a upper filter driver for serial ports that works fine on winxp.
Yesterday I tried testing it on win2k and discovered that I get a bugcheck
inside the serial driver in the first IRP_MJ_WRITE I forward to the lower
driver. After some more investigation I discovered that:
- Every upper filter I attach causes the problem (even the sample filter
from oney’s book, that does nothing but dbgprints).
- The problem only happens if the upper filter attaches the device stack
after serenum.sys does.
- The problem happens not only with serial.sys, but also with my USB serial
port adapter (which uses a 3rd party driver - ser2pl.sys).
Those discoveries led me to the conclusion that serenum.sys on win2k has
some problem with drivers attaching him and this somehow messes up things
down the stack. For now my solution is putting the filter between the serial
device and serenum.sys and not above serenum.sys, but I’d really like to
know what is causing this problem. Can anyone suggest a reason for this?
Thanks,
Shahar
(1) I agree.
(2) I used the filter.sys driver sample from Oney’s book and indeed. filter
serenum works with the 2K serenum.sys but sereum filter fails. Looks like
the DeviceObject Flags for DO_BUFFERED_IO is not be being propaged up the
stack.
(3) I replace the Windows 2K serenum.sys with the Windows XP version and
both filter serenum and serenum filter work. Also filter serenum filter
too.
So I think you are correct. Serenum.sys is broke in the Windows 2K even
with service pack 4.
(4) Good work!
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Hi,
> I have a upper filter driver for serial ports that works fine on winxp.
> Yesterday I tried testing it on win2k and discovered that I get a bugcheck
> inside the serial driver in the first IRP_MJ_WRITE I forward to the lower
> driver. After some more investigation I discovered that:
>
> 1) Every upper filter I attach causes the problem (even the sample filter
> from oney’s book, that does nothing but dbgprints).
> 2) The problem only happens if the upper filter attaches the device stack
> after serenum.sys does.
> 3) The problem happens not only with serial.sys, but also with my USB
serial
> port adapter (which uses a 3rd party driver - ser2pl.sys).
>
> Those discoveries led me to the conclusion that serenum.sys on win2k has
> some problem with drivers attaching him and this somehow messes up things
> down the stack. For now my solution is putting the filter between the
serial
> device and serenum.sys and not above serenum.sys, but I’d really like to
> know what is causing this problem. Can anyone suggest a reason for this?
>
> Thanks,
> Shahar
>
>
If you can still get ahold of a win2k DDK, the sources for serenum are
included. On win2k, serenum propagates the DO_BUFFERED_IO and DIRECT_IO
flags during START_DEVICE processing. If you are filtering on top of
serenum, you can special case win2k and propagate the bits in your
devobj during start device processing (on the way back up the stack) as
well.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Michael Jones
Sent: Monday, June 27, 2005 1:01 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Serial port upper filter
(1) I agree.
(2) I used the filter.sys driver sample from Oney’s book and indeed.
filter
serenum works with the 2K serenum.sys but sereum filter fails. Looks
like
the DeviceObject Flags for DO_BUFFERED_IO is not be being propaged up
the
stack.
(3) I replace the Windows 2K serenum.sys with the Windows XP version and
both filter serenum and serenum filter work. Also filter serenum filter
too.
So I think you are correct. Serenum.sys is broke in the Windows 2K even
with service pack 4.
(4) Good work!
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Hi,
> I have a upper filter driver for serial ports that works fine on
winxp.
> Yesterday I tried testing it on win2k and discovered that I get a
bugcheck
> inside the serial driver in the first IRP_MJ_WRITE I forward to the
lower
> driver. After some more investigation I discovered that:
>
> 1) Every upper filter I attach causes the problem (even the sample
filter
> from oney’s book, that does nothing but dbgprints).
> 2) The problem only happens if the upper filter attaches the device
stack
> after serenum.sys does.
> 3) The problem happens not only with serial.sys, but also with my USB
serial
> port adapter (which uses a 3rd party driver - ser2pl.sys).
>
> Those discoveries led me to the conclusion that serenum.sys on win2k
has
> some problem with drivers attaching him and this somehow messes up
things
> down the stack. For now my solution is putting the filter between the
serial
> device and serenum.sys and not above serenum.sys, but I’d really like
to
> know what is causing this problem. Can anyone suggest a reason for
this?
>
> Thanks,
> Shahar
>
>
—
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
May I add:
(1) I would use the serenum source in the DDK after the Windows 2000 DDK
because when you build it and use it, it works.
(2) If you do a WinDiff of the source there has been work in serenum after
Windows 2000 DDK.
(3) I would use either (a) The Windows XP SP1 DDK or (b) Windows Server 2003
DDK for the source of serenum.
(4) If you wish to debug the Windows 2000 DDK go ahead but I find the DDKs
after 2000 have a corrected serenum.sys.
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Hi,
> I have a upper filter driver for serial ports that works fine on winxp.
> Yesterday I tried testing it on win2k and discovered that I get a bugcheck
> inside the serial driver in the first IRP_MJ_WRITE I forward to the lower
> driver. After some more investigation I discovered that:
>
> 1) Every upper filter I attach causes the problem (even the sample filter
> from oney’s book, that does nothing but dbgprints).
> 2) The problem only happens if the upper filter attaches the device stack
> after serenum.sys does.
> 3) The problem happens not only with serial.sys, but also with my USB
serial
> port adapter (which uses a 3rd party driver - ser2pl.sys).
>
> Those discoveries led me to the conclusion that serenum.sys on win2k has
> some problem with drivers attaching him and this somehow messes up things
> down the stack. For now my solution is putting the filter between the
serial
> device and serenum.sys and not above serenum.sys, but I’d really like to
> know what is causing this problem. Can anyone suggest a reason for this?
>
> Thanks,
> Shahar
>
>
Define “use” here. You can’t replace the OS component with something
you built as serenum itself. Certainly you could install a new service
(myserenum.sys) and then install it on the device you want to filter,
but the src in the DDK is for reference only, it is not for use to
redistribute as is for downlevel OSs
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Michael Jones
Sent: Tuesday, June 28, 2005 6:50 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Serial port upper filter
May I add:
(1) I would use the serenum source in the DDK after the Windows 2000 DDK
because when you build it and use it, it works.
(2) If you do a WinDiff of the source there has been work in serenum
after
Windows 2000 DDK.
(3) I would use either (a) The Windows XP SP1 DDK or (b) Windows Server
2003
DDK for the source of serenum.
(4) If you wish to debug the Windows 2000 DDK go ahead but I find the
DDKs
after 2000 have a corrected serenum.sys.
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Hi,
> I have a upper filter driver for serial ports that works fine on
winxp.
> Yesterday I tried testing it on win2k and discovered that I get a
bugcheck
> inside the serial driver in the first IRP_MJ_WRITE I forward to the
lower
> driver. After some more investigation I discovered that:
>
> 1) Every upper filter I attach causes the problem (even the sample
filter
> from oney’s book, that does nothing but dbgprints).
> 2) The problem only happens if the upper filter attaches the device
stack
> after serenum.sys does.
> 3) The problem happens not only with serial.sys, but also with my USB
serial
> port adapter (which uses a 3rd party driver - ser2pl.sys).
>
> Those discoveries led me to the conclusion that serenum.sys on win2k
has
> some problem with drivers attaching him and this somehow messes up
things
> down the stack. For now my solution is putting the filter between the
serial
> device and serenum.sys and not above serenum.sys, but I’d really like
to
> know what is causing this problem. Can anyone suggest a reason for
this?
>
> Thanks,
> Shahar
>
>
—
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
Thanks Michael and Doron,
I changed my start device handler and moved back to being top-most upper
filter.
Everything works fine now.
Shahar
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Tuesday, June 28, 2005 1:20 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Serial port upper filter
If you can still get ahold of a win2k DDK, the sources for serenum are
included. On win2k, serenum propagates the DO_BUFFERED_IO and DIRECT_IO
flags during START_DEVICE processing. If you are filtering on top of
serenum, you can special case win2k and propagate the bits in your devobj
during start device processing (on the way back up the stack) as well.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Michael Jones
Sent: Monday, June 27, 2005 1:01 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Serial port upper filter
(1) I agree.
(2) I used the filter.sys driver sample from Oney’s book and indeed.
filter
serenum works with the 2K serenum.sys but sereum filter fails. Looks like
the DeviceObject Flags for DO_BUFFERED_IO is not be being propaged up the
stack.
(3) I replace the Windows 2K serenum.sys with the Windows XP version and
both filter serenum and serenum filter work. Also filter serenum filter
too.
So I think you are correct. Serenum.sys is broke in the Windows 2K even
with service pack 4.
(4) Good work!
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Hi,
> I have a upper filter driver for serial ports that works fine on
winxp.
> Yesterday I tried testing it on win2k and discovered that I get a
bugcheck
> inside the serial driver in the first IRP_MJ_WRITE I forward to the
lower
> driver. After some more investigation I discovered that:
>
> 1) Every upper filter I attach causes the problem (even the sample
filter
> from oney’s book, that does nothing but dbgprints).
> 2) The problem only happens if the upper filter attaches the device
stack
> after serenum.sys does.
> 3) The problem happens not only with serial.sys, but also with my USB
serial
> port adapter (which uses a 3rd party driver - ser2pl.sys).
>
> Those discoveries led me to the conclusion that serenum.sys on win2k
has
> some problem with drivers attaching him and this somehow messes up
things
> down the stack. For now my solution is putting the filter between the
serial
> device and serenum.sys and not above serenum.sys, but I’d really like
to
> know what is causing this problem. Can anyone suggest a reason for
this?
>
> Thanks,
> Shahar
>
>
—
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
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
(1) You are correct Doron. The user will have to do what you say. Thanks!
Sincerely;
Mike Jones
“Shahar Talmi” wrote in message news:xxxxx@ntdev…
> Thanks Michael and Doron,
> I changed my start device handler and moved back to being top-most upper
> filter.
> Everything works fine now.
>
> Shahar
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
> Sent: Tuesday, June 28, 2005 1:20 AM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] Serial port upper filter
>
> If you can still get ahold of a win2k DDK, the sources for serenum are
> included. On win2k, serenum propagates the DO_BUFFERED_IO and DIRECT_IO
> flags during START_DEVICE processing. If you are filtering on top of
> serenum, you can special case win2k and propagate the bits in your devobj
> during start device processing (on the way back up the stack) as well.
>
> d
>
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Michael Jones
> Sent: Monday, June 27, 2005 1:01 PM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] Serial port upper filter
>
> (1) I agree.
> (2) I used the filter.sys driver sample from Oney’s book and indeed.
> filter
> serenum works with the 2K serenum.sys but sereum filter fails. Looks like
> the DeviceObject Flags for DO_BUFFERED_IO is not be being propaged up the
> stack.
> (3) I replace the Windows 2K serenum.sys with the Windows XP version and
> both filter serenum and serenum filter work. Also filter serenum filter
> too.
> So I think you are correct. Serenum.sys is broke in the Windows 2K even
> with service pack 4.
> (4) Good work!
>
> Sincerely;
> Mike Jones
>
>
> “Shahar Talmi” wrote in message news:xxxxx@ntdev…
> > Hi,
> > I have a upper filter driver for serial ports that works fine on
> winxp.
> > Yesterday I tried testing it on win2k and discovered that I get a
> bugcheck
> > inside the serial driver in the first IRP_MJ_WRITE I forward to the
> lower
> > driver. After some more investigation I discovered that:
> >
> > 1) Every upper filter I attach causes the problem (even the sample
> filter
> > from oney’s book, that does nothing but dbgprints).
> > 2) The problem only happens if the upper filter attaches the device
> stack
> > after serenum.sys does.
> > 3) The problem happens not only with serial.sys, but also with my USB
> serial
> > port adapter (which uses a 3rd party driver - ser2pl.sys).
> >
> > Those discoveries led me to the conclusion that serenum.sys on win2k
> has
> > some problem with drivers attaching him and this somehow messes up
> things
> > down the stack. For now my solution is putting the filter between the
> serial
> > device and serenum.sys and not above serenum.sys, but I’d really like
> to
> > know what is causing this problem. Can anyone suggest a reason for
> this?
> >
> > Thanks,
> > Shahar
> >
> >
>
>
>
> —
> 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
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>