RE: NDIS IM driver DriverEntry called repeatedly with Window 2003

From: Steve (swoodberry_at_foursticks.com)
Date: 02/09/05


Date: Tue, 8 Feb 2005 18:44:43 -0800

I suspect that when you create a vlan on an adapter some
kind of vlan virtual adapter is being created (by a lower
level IM) and is then bound to your virtual adapter -
this should result in an unbind/bind, i.e. your virtual
adapter is unbound from nic and then bound to vlan
virtual adapter. Does this sound right?

I have seen this behaviour with vp clients that are IM
drivers and when you install them they sit below (or
above) your IM driver ... this has the effect of changing
all of your drivers bindings because now you bind to the
vpn client and it binds to the nic(s). Have a look in
device manager\network adapters to see what is happening
(dont forget to do view\show hidden devices. However,
this should still only result in your drivers bind/unbind
adapter functions being called ... not DriverEntry/unload.

I have told you all I know on this subject - hopefully
one of the MS boys can help you more.

Steve.

>-----Original Message-----
>Steve,
>
>Thanks for the quick response.
>I have installed clean system. Installed latest DDK that
comes along with
>RC1 from beta.microsoft.com to compile with the latest
binaries, but still
>the driver entry is called with every vlan that is
created on the adapter.
>I understand the driver has to be loaded only once, I am
unable to under why
>it is getting unloaded and reloaded each time a new VLAN
is being created.
>
>This happens in X-86, IA-64 and X-64 (AMD) builds.
>
>I am downloading build 1433 (RC-2) from microsoft site
hoping that it will
>solve the issue.
>
>Please advice what I need to do to avoid this problem.
>
>- Sriram
>"Steve" wrote:
>
>> I have seen this strange behaviour before ... when
>> installing IM driver you get the popups saying that
>> driver is unsigned (if your system is configured to
show
>> popups). Popup prompts you to continue installing
driver
>> or not. There is one popup for each adapter that the
IM
>> will bind to. If you say yes to some popups and no to
>> others, DriverEntry is called more than once.
>>
>> I am convinced that this type of behaviour is a bug in
>> the OS/setup API. Regardless of how many adapters an
IM
>> will bind to (i.e. how many virtual adapters the IM
will
>> have), there is only one IM driver that is being
>> installed so DriverEntry should only be called
once!!!
>> So, DriverEntry SHOULD only be called once and your IM
>> drivers bind adapter function should be called once
for
>> each adapter that the IM binds to.
>>
>> Perhaps someone at MS can explain this strange
behaviour.
>>
>> Sriram, perhaps you should try installing your IM on a
>> clean machine ... I have found that after several
months
>> of development (installs/uninstalls/crashes, etc.)
that
>> my machine gets into a big mess and I reach a point
where
>> the IM wont install anymore! Also, make sure you use
>> netcfg.exe (ddk example) to install and uninstall - it
>> seems to be the only reliable thing that does it
>> correctly!
>>
>> Steve.
>>
>> >-----Original Message-----
>> >We have developed an NDIS intermedoate driver and
also
>> notify object to
>> >support our driver.
>> >
>> >In build prior to 1289
>> >==============
>> >When the first virtual adapter is created the Driver
>> Entry is called.
>> >Thereafter the Driver Entry is not called even if
more
>> vritual adapter are
>> >created.
>> >
>> >Build 1289 and 1421
>> >=============
>> >The driver entry is being called when each virtual
>> component is being created.
>> >
>> >With reference to notify object
>> after 'ApplyRegistryChanges' and before
>> >'ApplyPnpChanges' the IM driver gets triggered.
>> >
>> >For some reason with build 1289 and 1421 the halt
>> routine is being called
>> >which triggers the driver being unloaded even though
>> there are some VLAN
>> >already on the adapter. Thereafter DriverEntry is
being
>> called once again.
>> >
>> >This behaviour is not seen in earlier builds of
Windows
>> 2003
>> >
>> >MUX behaviour
>> >==========
>> >I observed the same behaviour even with the mux
sample
>> in DDK.
>> >
>> >Please advice as what is the change due to which the
>> halt is being called in
>> >1289 and above causing the driver Entry being called
>> with each VLAN creation.
>> >
>> >- Sriram.
>> >.
>> >
>>
>.
>



Relevant Pages

  • PATCH: docs for updated sk98 from vendor
    ... +Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX ... the driver is integrated in the linux kernel source. ... both link partners are allowed to send PAUSE frames ...
    (Linux-Kernel)
  • Re: [RFC][PATCH] SPI subsystem
    ... Are you expecting the adapter ... > driver to handle the fact that its transfer routine could be called ... > a message or another CS line which is really a GPO pin used for register ... For example a char LCD with SPI interface ...
    (Linux-Kernel)
  • Re: NDIS IM driver DriverEntry called repeatedly with Window 2003
    ... Whenever the first VLAN is created the physical adapter is unbound from all ... ProtocolBindAdapter function in the IM driver is called. ... > the bind paths from protocols directly to underlying adapter. ...
    (microsoft.public.development.device.drivers)
  • Re: Ataptec SCSI card problem
    ... I tried to install this card debian 4.0, ubuntu 7.10, Fedora Core 8, ... Slackware 12 and I have always the same message from scsi card. ... what it looks like to me, the problem is to be found in the driver, rather ... SCSI adapter family, which means that they can be used in two modes, i.e. ...
    (comp.os.linux.hardware)
  • [PATCH 1/5] call i2c_probe from i2c core
    ... If you want to write a `sensors' driver, ... Whenever a new adapter is inserted, or for all adapters if the driver is ... the callback attach_adapteris called. ... -contains -1 for a probed detection, 0 for a forced detection, or a positive ...
    (Linux-Kernel)