NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about what
happens when you install an NDIS miniport. Here’s the problem I face.
I am writing this miniport for a new card and it installs okay. I was
debugging my SendPackets routine, but for some reason decided to move to
a new machine.
This essentially took me back to the point where the miniport comes up,
I see some OIDs but no “Network Connections” icon and consequently no
OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and other
components of the stack after I indicate that this is a new device and
it is of type 802_3?
Clearly this driver was working on the previous machine. I simply moved
my card to this newly installed windows XP machine and I am back to
where I was a week ago!

Would really like to get to know why this is so peculiar or if I am just
plain missing something stupid.

thanks
Ravi

Hi Ravi.

There are a couple of websites that might give you information if the
DDK isn’t enough.

www.ndis.com http:</http:> && www.wd-3.com
http:</http:> .

I don’t know if they address your specific problem but you might find
related information there.

I am assuming that you installed your miniport using a .inf file on the
second machine. When you register your

Driver as a miniport, the NDIS wrapper calls the ProtocolBindAdapter
function of all protocol drivers to ask them

if they want to bind themselves to your adapter. It seems to me that
none of the protocols want to bind to your

adapter. Compare your inf file with the miniport samples and see if
there a flag is incorrectly specified or something like that.

Good luck.

Amitabh Mathrawala | Senior Software Engineer | Server Group |
xxxxx@viack.com | 425 605 7483

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Murty, Ravi
Sent: Tuesday, March 15, 2005 4:06 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about what
happens when you install an NDIS miniport. Here’s the problem I face.

I am writing this miniport for a new card and it installs okay. I was
debugging my SendPackets routine, but for some reason decided to move to
a new machine.

This essentially took me back to the point where the miniport comes up,
I see some OIDs but no “Network Connections” icon and consequently no
OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and other
components of the stack after I indicate that this is a new device and
it is of type 802_3?

Clearly this driver was working on the previous machine. I simply moved
my card to this newly installed windows XP machine and I am back to
where I was a week ago!

Would really like to get to know why this is so peculiar or if I am just
plain missing something stupid.

thanks

Ravi


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

Hello,

Yes, I use an INF file to install my driver. I support all the required
OIDs and I checked my INF file against a standard example in the DDK.

I can’t seem to figure out why TCP/IP wouldn’t want to bind to my
miniport / adapter?

Ravi


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Amitabh
Mathrawala
Sent: Tuesday, March 15, 2005 5:29 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] NDIS and how it works?

Hi Ravi.

There are a couple of websites that might give you information if the
DDK isn’t enough.

www.ndis.com http:</http:> && www.wd-3.com
http:</http:> .

I don’t know if they address your specific problem but you might find
related information there.

I am assuming that you installed your miniport using a .inf file on the
second machine. When you register your

Driver as a miniport, the NDIS wrapper calls the ProtocolBindAdapter
function of all protocol drivers to ask them

if they want to bind themselves to your adapter. It seems to me that
none of the protocols want to bind to your

adapter. Compare your inf file with the miniport samples and see if
there a flag is incorrectly specified or something like that.

Good luck.

Amitabh Mathrawala | Senior Software Engineer | Server Group |
xxxxx@viack.com | 425 605 7483

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Murty, Ravi
Sent: Tuesday, March 15, 2005 4:06 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about what
happens when you install an NDIS miniport. Here’s the problem I face.

I am writing this miniport for a new card and it installs okay. I was
debugging my SendPackets routine, but for some reason decided to move to
a new machine.

This essentially took me back to the point where the miniport comes up,
I see some OIDs but no “Network Connections” icon and consequently no
OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and other
components of the stack after I indicate that this is a new device and
it is of type 802_3?

Clearly this driver was working on the previous machine. I simply moved
my card to this newly installed windows XP machine and I am back to
where I was a week ago!

Would really like to get to know why this is so peculiar or if I am just
plain missing something stupid.

thanks

Ravi


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


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

The decision of what binds to your miniport is first established when you install it via your INF and the network class installer’s binding engine. It looks for a match between your INF’s UpperRange and all the known protocol’s LowerRange - and if it finds a string match, then it will establish a binding (usually, an UpperRange of “ndis4,ndis5” should be all you need).

Does your Initialize Handler get called? Does it complete normally?

Bryan S. Burgin
xxxxx@online.microsoft.com

This posting is provided “AS IS” with no warranties, and confers no rights.


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Murty, Ravi
Sent: Tuesday, March 15, 2005 6:19 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] NDIS and how it works?

Hello,
?
Yes, I use an INF file to install my driver. I support all the required OIDs and I checked my INF file against a standard example in the DDK.
I can’t seem to figure out why TCP/IP wouldn’t want to bind to my miniport / adapter?
?
Ravi
?
?


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Amitabh Mathrawala
Sent: Tuesday, March 15, 2005 5:29 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] NDIS and how it works?
?
Hi Ravi.
?
There are a couple of websites that might give you information if the DDK isn’t enough.
?
www.ndis.com && www.wd-3.com.
?
I don’t know if they address your specific problem but you might find related information there.
?
I am assuming that you installed your miniport using a .inf file on the second machine. When you register your
Driver as a miniport, the NDIS wrapper calls the ProtocolBindAdapter function of all protocol drivers to ask them
if they want to bind themselves to your adapter. It seems to me that none of the protocols want to bind to your
adapter. Compare your inf file with the miniport samples and see if there a flag is incorrectly specified or something like that.
?
Good luck.
?
Amitabh Mathrawala | Senior Software Engineer | Server Group | xxxxx@viack.com | 425 605 7483
?
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Murty, Ravi
Sent: Tuesday, March 15, 2005 4:06 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] NDIS and how it works?
?
Hello All,
Is there a web-site/documentation out there that talks about what happens when you install an NDIS miniport. Here’s the problem I face.
I am writing this miniport for a new card and it installs okay. I was debugging my SendPackets routine, but for some reason decided to move to a new machine.
This essentially took me back to the point where the miniport comes up, I see some OIDs but no “Network Connections” icon and consequently no OIDs like GEN_LINK_SPEED etc. Why is this so difficult?
Should NDIS or some Microsoft automatically install TCP/IP and other components of the stack after I indicate that this is a new device and it is of type 802_3?
Clearly this driver was working on the previous machine. I simply moved my card to this newly installed windows XP machine and I am back to where I was a week ago!
Would really like to get to know why this is so peculiar or if I am just plain missing something stupid.
thanks
Ravi
?

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

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

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

Murty, Ravi wrote:

Hello All,

Is there a web-site/documentation out there that talks about what
happens when you install an NDIS miniport. Here’s the problem I face.
I am writing this miniport for a new card and it installs okay. I was
debugging my SendPackets routine, but for some reason decided to move to
a new machine.
This essentially took me back to the point where the miniport comes up,
I see some OIDs but no “Network Connections” icon and consequently no
OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

How long does miniport initialise take to run. I’ve had strange
behaviour like this in the past when I had a device which needed large
delay loops (> 10secs) in total to work around broken hardware. This
caused something like the behaviour you describe but it was very random
and didn’t occur on all systems.

Should NDIS or some Microsoft automatically install TCP/IP and other
components of the stack after I indicate that this is a new device and
it is of type 802_3?
In my experience when you install a new miniport of this type Windows
automatically binds it to all the protocol drivers that are currently
installed on the system so if you have at least one existing adapter in
the machine bound to TCP/IP the new one should be as well.

Mike

NDIS and how it works? Maybe you have forgotten to support some mandatory OIDs?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: Murty, Ravi
To: Windows System Software Devs Interest List
Sent: Wednesday, March 16, 2005 3:05 AM
Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about what happens when you install an NDIS miniport. Here’s the problem I face.

I am writing this miniport for a new card and it installs okay. I was debugging my SendPackets routine, but for some reason decided to move to a new machine.

This essentially took me back to the point where the miniport comes up, I see some OIDs but no “Network Connections” icon and consequently no OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and other components of the stack after I indicate that this is a new device and it is of type 802_3?

Clearly this driver was working on the previous machine. I simply moved my card to this newly installed windows XP machine and I am back to where I was a week ago!

Would really like to get to know why this is so peculiar or if I am just plain missing something stupid.

thanks

Ravi


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

Mike,

Hmmm… Actually I’ve simplified my Initialize routine to basically
identify the adapter and do some very basic stuff before returning, so
it shouldn’t take that long. I don’t think I have any other adapters on
my system. But shouldn’t TCP/IP and other protocols get layered on top
if I am the first net adapter?

thanks
ravi

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mike Pumford
Sent: Wednesday, March 16, 2005 2:19 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] NDIS and how it works?

Murty, Ravi wrote:

Hello All,

Is there a web-site/documentation out there that talks about what
happens when you install an NDIS miniport. Here’s the problem I face.
I am writing this miniport for a new card and it installs okay. I was
debugging my SendPackets routine, but for some reason decided to move
to
a new machine.
This essentially took me back to the point where the miniport comes
up,
I see some OIDs but no “Network Connections” icon and consequently no
OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

How long does miniport initialise take to run. I’ve had strange
behaviour like this in the past when I had a device which needed large
delay loops (> 10secs) in total to work around broken hardware. This
caused something like the behaviour you describe but it was very random
and didn’t occur on all systems.

Should NDIS or some Microsoft automatically install TCP/IP and other
components of the stack after I indicate that this is a new device and
it is of type 802_3?
In my experience when you install a new miniport of this type Windows
automatically binds it to all the protocol drivers that are currently
installed on the system so if you have at least one existing adapter in
the machine bound to TCP/IP the new one should be as well.

Mike


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Maxim,

No, this was something someone suggested early on. I double checked and
I think I support the required mandatory OIDs.

ravi


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S.
Shatskih
Sent: Wednesday, March 16, 2005 7:05 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] NDIS and how it works?

Maybe you have forgotten to support some mandatory OIDs?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----

From: Murty, Ravi mailto:xxxxx

To: Windows System Software Devs Interest List
mailto:xxxxx

Sent: Wednesday, March 16, 2005 3:05 AM

Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about
what happens when you install an NDIS miniport. Here’s the problem I
face.

I am writing this miniport for a new card and it installs okay.
I was debugging my SendPackets routine, but for some reason decided to
move to a new machine.

This essentially took me back to the point where the miniport
comes up, I see some OIDs but no “Network Connections” icon and
consequently no OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and
other components of the stack after I indicate that this is a new device
and it is of type 802_3?

Clearly this driver was working on the previous machine. I
simply moved my card to this newly installed windows XP machine and I am
back to where I was a week ago!

Would really like to get to know why this is so peculiar or if I
am just plain missing something stupid.

thanks

Ravi


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


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</mailto:xxxxx></mailto:xxxxx>

Have you run this with the checked build of the OS, or at least a checked
NDIS.sys? The use the techniques in
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/network/hh/network/ndisdbg_c5eab170-7932-4e0b-98df-e81747221ca9.xml.asp.
This will provide a bunch of debugging output that can help you find your
problem.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply

“Murty, Ravi” wrote in message news:xxxxx@ntdev…
Maxim,

No, this was something someone suggested early on. I double checked and
I think I support the required mandatory OIDs.

ravi

________________________________

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S.
Shatskih
Sent: Wednesday, March 16, 2005 7:05 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] NDIS and how it works?

Maybe you have forgotten to support some mandatory OIDs?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----

From: Murty, Ravi mailto:xxxxx

To: Windows System Software Devs Interest List
mailto:xxxxx

Sent: Wednesday, March 16, 2005 3:05 AM

Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about
what happens when you install an NDIS miniport. Here’s the problem I
face.

I am writing this miniport for a new card and it installs okay.
I was debugging my SendPackets routine, but for some reason decided to
move to a new machine.

This essentially took me back to the point where the miniport
comes up, I see some OIDs but no “Network Connections” icon and
consequently no OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and
other components of the stack after I indicate that this is a new device
and it is of type 802_3?

Clearly this driver was working on the previous machine. I
simply moved my card to this newly installed windows XP machine and I am
back to where I was a week ago!

Would really like to get to know why this is so peculiar or if I
am just plain missing something stupid.

thanks

Ravi


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


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</mailto:xxxxx></mailto:xxxxx>

Bryan, Don,

Thanks for the suggestions.

But before I went off and enabled a checked build I got to reading this
webpage that talks about the GUIDs and this registry parameter under

HKLM\System\CurrentControlSet\Control\Class{Class-specific GUID}

“The first subkey under the adapter id is Linkage. It contains three
values: Export, RootDevice, and UpperBind. Export is the name of a
device object that gets exported to the object manager namespace. This
is just the GUID from the adapter subkey. RootDevice seems to always
just be the adapter GUID as well. UpperBind is the network component
name of the thing the miniport binds to at its upper edge, as specified
in the driver’s INF file”.

In my adapters case, the UpperBind value is blank and I’ve noticed that
this should be something like tcpip shouldn’t it? The paragraph above
claims that this must come from the drivers INF file, but where?

Thanks
Ravi

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Wednesday, March 16, 2005 8:05 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] NDIS and how it works?

Have you run this with the checked build of the OS, or at least a
checked
NDIS.sys? The use the techniques in
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/network
/hh/network/ndisdbg_c5eab170-7932-4e0b-98df-e81747221ca9.xml.asp.
This will provide a bunch of debugging output that can help you find
your
problem.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply

“Murty, Ravi” wrote in message
news:xxxxx@ntdev…
Maxim,

No, this was something someone suggested early on. I double checked and
I think I support the required mandatory OIDs.

ravi

________________________________

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S.
Shatskih
Sent: Wednesday, March 16, 2005 7:05 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] NDIS and how it works?

Maybe you have forgotten to support some mandatory OIDs?

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----

From: Murty, Ravi mailto:xxxxx

To: Windows System Software Devs Interest List
mailto:xxxxx

Sent: Wednesday, March 16, 2005 3:05 AM

Subject: [ntdev] NDIS and how it works?

Hello All,

Is there a web-site/documentation out there that talks about
what happens when you install an NDIS miniport. Here’s the problem I
face.

I am writing this miniport for a new card and it installs okay.
I was debugging my SendPackets routine, but for some reason decided to
move to a new machine.

This essentially took me back to the point where the miniport
comes up, I see some OIDs but no “Network Connections” icon and
consequently no OIDs like GEN_LINK_SPEED etc. Why is this so difficult?

Should NDIS or some Microsoft automatically install TCP/IP and
other components of the stack after I indicate that this is a new device
and it is of type 802_3?

Clearly this driver was working on the previous machine. I
simply moved my card to this newly installed windows XP machine and I am
back to where I was a week ago!

Would really like to get to know why this is so peculiar or if I
am just plain missing something stupid.

thanks

Ravi


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


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


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</mailto:xxxxx></mailto:xxxxx>

Ravi,

Does your inf file have interface definitions like the ones below?

; Interface definitions

HKR,Ndi\Interfaces,DefUpper,“ndis3,ndis4,ndis5”
HKR,Ndi\Interfaces,DefLower,“ethernet”
HKR,Ndi\Interfaces,UpperRange,“ndis3,ndis4,ndis5”
HKR,Ndi\Interfaces,LowerRange,“ethernet”

These seem to be all I need to make my driver get recognised as
a network driver.

Regards,

  • Harshal

Harshal

Yep, that’s what I discovered right after I sent out my previous email.
The Ndi\Interfaces is key to loading the driver, kinda like Bryan
mention. I set it up and I start seeing everything happen.

Thanks everyone.
Ravi

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Harshal Chhaya
Sent: Wednesday, March 16, 2005 1:09 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] NDIS and how it works?

Ravi,

Does your inf file have interface definitions like the ones below?

; Interface definitions

HKR,Ndi\Interfaces,DefUpper,“ndis3,ndis4,ndis5”
HKR,Ndi\Interfaces,DefLower,“ethernet”
HKR,Ndi\Interfaces,UpperRange,“ndis3,ndis4,ndis5”
HKR,Ndi\Interfaces,LowerRange,“ethernet”

These seem to be all I need to make my driver get recognised as
a network driver.

Regards,

  • Harshal

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@intel.com
To unsubscribe send a blank email to xxxxx@lists.osr.com