Hello.
I’m currently developing an NDIS Intermediate Driver. Everything works fine
with normal LAN adapters.
However, making it work with NDISWAN has been somewhat problematic. I am
successfully binding to the lower adapter and receiving the line up
indication. When packets are to be sent on the modem MiniportSend() is
being called. When I call NdisSend() to forward the packet to the modem, it
returns NDIS_STATUS_PENDING and then NDIS_STATUS_SUCCESS in
ProtocolSendComplete(). However, even though the operation seems to have
been successful, no data is actually sent on the modem. Does anyone have
any hints as to what I’m doing wrong?
Thanks in advance,
Daniel Cini
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
It is hard to say without more info; for example you didn’t specify OS
version where your driver run. Things are different for NT4 and w2k or even
NT 3.51.
Wild guess: are you correctly setting sent packet RemoteAddress as described
in NDIS_WAN_LINE_UP documentation (see Comments)?
Best regards,
Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]
From: Daniel Cini[SMTP:xxxxx@hobsoft.com.mt]
Reply To: NT Developers Interest List
Sent: Wednesday, January 03, 2001 1:22 PM
To: NT Developers Interest List
Subject: [ntdev] Intermediate Driver with NDISWAN
Hello.
I’m currently developing an NDIS Intermediate Driver. Everything works
fine
with normal LAN adapters.
However, making it work with NDISWAN has been somewhat problematic. I am
successfully binding to the lower adapter and receiving the line up
indication. When packets are to be sent on the modem MiniportSend() is
being called. When I call NdisSend() to forward the packet to the modem,
it
returns NDIS_STATUS_PENDING and then NDIS_STATUS_SUCCESS in
ProtocolSendComplete(). However, even though the operation seems to have
been successful, no data is actually sent on the modem. Does anyone have
any hints as to what I’m doing wrong?
Thanks in advance,
Daniel Cini
You are currently subscribed to ntdev as: xxxxx@rkk.cz
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
Hello.
Thanks for your reply.
I’m running on Windows NT 4 SP 5.
As regards to the NDIS_WAN_LINE_UP indication, I’m just forwarding it to
the overlying protocol driver. I’m not modifying any data in it. Should I
do some modifications before forwaring the driver?
Thanks in advance,
Daniel Cini
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
It depends on your needs. NdisWan interface is connection oriented i.e. one
adapter can be used for multiple connections/lines. Some system versions use
one line per adapter (up to SP3 or SP4), newer versions and SteelHead use
one adapter for all lines. If you want to distinguish lines, the best way is
to use RemoteAddress part as you per-line context structure address (as
descrived in doc). However, above protocol uses the same approach so you
have to save its context and exchange it during packet indications. NdisWan
uses LocalAddress for the same purpose so you have to ensure it gets proper
data. Beware, if you make any bug and give above protocol or NdisWan invalid
data, it usually causes system crash. They don’t bother to test if data are
valid any way. Checked build drivers (ndiswan.sys, wanarp.sys…) would
probably call RtlAssert() to alert you that someting is wrong.
If you don’t modify anything in NDIS_WAN_LINE_UP and use deserialized IM
driver, packet addresses should contain correct contexts and things should
work. However, creating functional IM driver layered above NdisWan for NT4
is very complicated task and there are many things which can break. It is
always hard to say why it doesn’t work, the only way how to solve problems
is to trace through system code which doesn’t work as expected or
disassemble it and trying to understand how it works. NdisWan is mostly
undocumented and interacts with some user mode services (RasMan) using
completely undocumented IOCTLs.
Everything is much earier for w2k, NDIS filter driver based on passthru
example can be used there.
Best regards,
Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]
From: xxxxx@hobsoft.com.mt[SMTP:xxxxx@hobsoft.com.mt]
Reply To: NT Developers Interest List
Sent: Thursday, January 04, 2001 1:00 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Intermediate Driver with NDISWAN
Hello.
Thanks for your reply.
I’m running on Windows NT 4 SP 5.
As regards to the NDIS_WAN_LINE_UP indication, I’m just forwarding it to
the overlying protocol driver. I’m not modifying any data in it. Should
I
do some modifications before forwaring the driver?
Thanks in advance,
Daniel Cini
You are currently subscribed to ntdev as: xxxxx@rkk.cz
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
Hello.
I’ve downloaded the IMSAMP sample from the PCAUSA website, so I could take a
look at what’s being done to make it work with NDISWAN. However, the sample
doesn’t work with my LAN or my modem. Has anyone made the sample work?
Also, I’ve implemented the tips mentioned in the same website to make my
driver work with NDISWAN but with no success. Has anyone been successful?
I’m running Windows NT 4 with Service Pack 5.
Regards,
Daniel Cini
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
Hello again.
I’ve made some further checking as regards to my problems in interfacing
with NDISWAN. I’ve noticed that when I forward the NDIS_WAN_LINE_UP
indication (by means of NdisMIndicateStatus), my ProtocolStatusComplete()
is never called.
Anyone has any hints?
Regards,
Daniel
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
This is correct and expected. Your ProtocolStatusComplete() is called only
as a result of an action of underlying driver. Read the docs for complete
description (ProtocolStatusComplete() itself and Status Indications in an
Intermediate Driver chapter).
Best regards,
Michal Vodicka
Veridicom
(RKK - Skytale)
[WWW: http://www.veridicom.com , http://www.skytale.com]
From: xxxxx@hobsoft.com.mt[SMTP:xxxxx@hobsoft.com.mt]
Reply To: NT Developers Interest List
Sent: Monday, January 15, 2001 1:00 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Intermediate Driver with NDISWAN
Hello again.
I’ve made some further checking as regards to my problems in interfacing
with NDISWAN. I’ve noticed that when I forward the NDIS_WAN_LINE_UP
indication (by means of NdisMIndicateStatus), my ProtocolStatusComplete()
is never called.
Anyone has any hints?
Regards,
Daniel
You are currently subscribed to ntdev as: xxxxx@rkk.cz
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