Win ME IM NDIS driver and Dial-Up Adapters

I am in the process of porting a Win NT/2000 IM NDIS driver, based loosely
on the IMSAMP example, to Windows ME. Everything works fine when it is
bound to Ethernet adapters, however, there seems to be problems when bound
to Dial-Up Adapters. The bindings, as displayed in the network control
panel applet and the registry, show the Dial-Up adapter bound to my
driver’s protocol edge, the protocol edge bound to the driver’s miniport
edge, and the miniport edge bound to an instance of TCP/IP; this is the
same manner that the ethernet adapters are bound as well.

The problem arises when attempting to start a Dial-Up Networking
connection. After authentication, the connection is dropped. Looking at the
PPP log, there is a line stating “Protocol not bound - skipping control
protocol 8021 (IPCP)”, which is the same message you’d get if TCP/IP was
not selected in the dial-up networking connection as an allowed protocol
(although in this instance it is selected). This causes a protocol reject
to be sent after authentication, and the connection fails as there are no
negotiable protocols.

I assume this is because I am either not doing something correctly with
regards to WAN-capable adapters in the driver itself, or that this is an
installation problem. It appears that the Dial-Up Adapter is not aware of
the TCP/IP binding due to the presence of the intermediate driver. Any tips
from anyone would be greatly appreciated!

Thanks in advance,

Ed Lau


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

The answer turns out to be quite simple. Thanks to Ryan for pointing me in the right direction.

In my BindAdapterHandler, all I needed to do is to call NdisRequest() (a Set, not a Query) with an OID of OID_WAN_PROTOCOL_TYPE. I had tries this earlier, but with the incorrect protocol type. I still have no idea what the correct one byte NLPID’s are, but using a SNAP OID of {0x80, 0x00, 0x00, 0x00, 0x08, 0x00} the problem is solved. The last two bytes (0x08, 0x00) are the IP ethertype, I had been using the IPCP PPP DLL type of 0x8021, which is incorrect. Making this change causes IPCP to be bound to the control protocol chain by PPP’s FSA.

Ed Lau

----- Original Message -----
From: Thomas F. Divine
To: xxxxx@midcore.com
Sent: Wednesday, February 14, 2001 2:44 PM
Subject: Re: [ntdev] Win ME IM NDIS driver and Dial-Up Adapters

Ed,

I hope you are successful. If you get a chance, let me know if you are
successful.

OTOH, PCAUSA’s NDIS Pseudo-Intermediate (PIM) driver has been modified to
support Windows Me recently does allow filtering in Dialup. See:

http:

You may already have this solution. I don’t know.

Regards,

Thomas F. Divine

PCAUSA - Toolkits & Resources For Network Software Developers
NDIS Protocol - NDIS Intermediate - TDI Client
http: - http:

----- Original Message -----
From:
To: NT Developers Interest List
Sent: Wednesday, February 14, 2001 12:00 AM
Subject: [ntdev] Win ME IM NDIS driver and Dial-Up Adapters

> I am in the process of porting a Win NT/2000 IM NDIS driver, based loosely
> on the IMSAMP example, to Windows ME. Everything works fine when it is
> bound to Ethernet adapters, however, there seems to be problems when bound
> to Dial-Up Adapters. The bindings, as displayed in the network control
> panel applet and the registry, show the Dial-Up adapter bound to my
> driver’s protocol edge, the protocol edge bound to the driver’s miniport
> edge, and the miniport edge bound to an instance of TCP/IP; this is the
> same manner that the ethernet adapters are bound as well.
>
> The problem arises when attempting to start a Dial-Up Networking
> connection. After authentication, the connection is dropped. Looking at
the
> PPP log, there is a line stating “Protocol not bound - skipping control
> protocol 8021 (IPCP)”, which is the same message you’d get if TCP/IP was
> not selected in the dial-up networking connection as an allowed protocol
> (although in this instance it is selected). This causes a protocol reject
> to be sent after authentication, and the connection fails as there are no
> negotiable protocols.
>
> I assume this is because I am either not doing something correctly with
> regards to WAN-capable adapters in the driver itself, or that this is an
> installation problem. It appears that the Dial-Up Adapter is not aware of
> the TCP/IP binding due to the presence of the intermediate driver. Any
tips
> from anyone would be greatly appreciated!
>
> Thanks in advance,
>
> Ed Lau
>
> —
> You are currently subscribed to ntdev as: xxxxx@pcausa.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</http:></http:></http:>