please reply Miniport Initialize not called by NDIS?

Hi All,

We are implementing an NDIS driver for a device.The problem here is as follows:
1.DriverEntry is called, and NdisMregisterMiniport is returning success.
2.Even After it returns success,NDIS doesn’t call MiniportInitialize function.

So what may be the problem in the DriverEntry,the code is as follows:

NDIS_STATUS Status;
NDIS_HANDLE WrapperHandle;
NDIS_MINIPORT_CHARACTERISTICS Mchars;

NdisMInitializeWrapper(
&WrapperHandle,
DriverObject,
RegistryPath,
NULL
);

NdisZeroMemory(&Mchars,sizeof(NDIS_MINIPORT_CHARACTERISTICS));

Mchars.MajorNdisVersion = 4;
Mchars.MinorNdisVersion = 0;
Mchars.InitializeHandler = MServer_Initialize;
Mchars.QueryInformationHandler = MServer_IPQueryInformation;
Mchars.SetInformationHandler = MServer_IPSetInformation;
Mchars.ResetHandler = MServer_IPReset;
Mchars.HaltHandler = MServer_IPHalt;
Mchars.SendHandler = MServer_IPSend;
Mchars.ReturnPacketHandler = MServer_IPReturnPacket;

Mchars.CheckForHangHandler = NULL;
Mchars.TransferDataHandler = NULL;
Mchars.DisableInterruptHandler = NULL;
Mchars.EnableInterruptHandler = NULL;
Mchars.SendPacketsHandler = NULL;
Mchars.AllocateCompleteHandler = NULL;

Status = NdisMRegisterMiniport(
WrapperHandle,
&Mchars,
sizeof(NDIS_MINIPORT_CHARACTERISTICS));

if (Status == NDIS_STATUS_SUCCESS)
return STATUS_SUCCESS;

After this the system gets hung & even sometimes softice doesn’t comeup to debug this.

Any suggestion is appreciated.

With Regards,
Vishwanath M.

What OS? Is it a new HW? What PC are U using? Is it
custom assembled or a standard one?

-Daniel

— vishwanath wrote:
> Hi All,
>
> We are implementing an NDIS driver for a device.The
> problem here is as follows:
> 1.DriverEntry is called, and NdisMregisterMiniport
> is returning success.
> 2.Even After it returns success,NDIS doesn’t call
> MiniportInitialize function.
>
> So what may be the problem in the DriverEntry,the
> code is as follows:
>
> NDIS_STATUS Status;
> NDIS_HANDLE WrapperHandle;
> NDIS_MINIPORT_CHARACTERISTICS Mchars;
>
> NdisMInitializeWrapper(
> &WrapperHandle,
> DriverObject,
> RegistryPath,
> NULL
> );
>
>
>
NdisZeroMemory(&Mchars,sizeof(NDIS_MINIPORT_CHARACTERISTICS));
>
> Mchars.MajorNdisVersion = 4;
> Mchars.MinorNdisVersion = 0;
> Mchars.InitializeHandler = MServer_Initialize;
> Mchars.QueryInformationHandler =
> MServer_IPQueryInformation;
> Mchars.SetInformationHandler =
> MServer_IPSetInformation;
> Mchars.ResetHandler = MServer_IPReset;
> Mchars.HaltHandler = MServer_IPHalt;
> Mchars.SendHandler = MServer_IPSend;
> Mchars.ReturnPacketHandler =
> MServer_IPReturnPacket;
>
> Mchars.CheckForHangHandler = NULL;
> Mchars.TransferDataHandler = NULL;
> Mchars.DisableInterruptHandler = NULL;
> Mchars.EnableInterruptHandler = NULL;
> Mchars.SendPacketsHandler = NULL;
> Mchars.AllocateCompleteHandler = NULL;
>
>
> Status = NdisMRegisterMiniport(
> WrapperHandle,
> &Mchars,
> sizeof(NDIS_MINIPORT_CHARACTERISTICS));
>
> if (Status == NDIS_STATUS_SUCCESS)
> return STATUS_SUCCESS;
>
> After this the system gets hung & even sometimes
> softice doesn’t comeup to debug this.
>
> Any suggestion is appreciated.
>
> With Regards,
> Vishwanath M.
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
> %%email.unsub%%
>

__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Mother’s Day is May 12th!
http://shopping.yahoo.com

Hi,

Did u try moving NDIS_MINIPORT_CHARACTERISTICS Mchars outside driver
entry, i.e., make it global?

I’am not sure whether there will be any effect, but u can give a try.

Rajiv.

I am surprised that the BIOS does not spit out some
error messages. U can try on a different vendor PC to
try and get some info from their BIOS.

Anyway, does are the device capabilities. I mean, does
it support memory or IO. If U are not using IO, can U
ask the HW folks to disable it.

If a PC does not boot up due to a new HW, 90% of the
time it is a resource conflict. And since your
Initialize function is not called, it goes without
saying that the PCI bus driver was not able to
allocate free resources for you. (Resources, can
primarily be IRQ, IO, Memory addresses). In most
cases, IRQ conflict should not hang a machine from
booting up. Memory addresses have low probability of
running into conflicts due to a large range to choose
from. Its the IO that is limited and crowded…

As a NDIS driver U cannot do much. U need to debug the
PCI bus driver to get some info. Or the approach taken
for new HW bring up is to use DOS drivers and
utilities and try too see whether U’r device IO
conflicts with another in the system. My best bet
would again be to disable IO if U’r not using it.

-Daniel

— vishwanath wrote:
> Hi Daniel,
>
> I am writing drivers on Windows-2000.Yes it is new
> hardware.PC i am using is
> of IBM standard one.
>
> Regards,
> vishu.
>
>
> ----- Original Message -----
> From: “Dan .”
> To: “NT Developers Interest List”
>
> Sent: Friday, May 10, 2002 1:23 AM
> Subject: [ntdev] Re: please reply Miniport
> Initialize not called by NDIS?
>
>
> > What OS? Is it a new HW? What PC are U using? Is
> it
> > custom assembled or a standard one?
> >
> > -Daniel
> >
> > — vishwanath
> wrote:
> > > Hi All,
> > >
> > > We are implementing an NDIS driver for a
> device.The
> > > problem here is as follows:
> > > 1.DriverEntry is called, and
> NdisMregisterMiniport
> > > is returning success.
> > > 2.Even After it returns success,NDIS doesn’t
> call
> > > MiniportInitialize function.
> > >
> > > So what may be the problem in the
> DriverEntry,the
> > > code is as follows:
> > >
> > > NDIS_STATUS Status;
> > > NDIS_HANDLE WrapperHandle;
> > > NDIS_MINIPORT_CHARACTERISTICS Mchars;
> > >
> > > NdisMInitializeWrapper(
> > > &WrapperHandle,
> > > DriverObject,
> > > RegistryPath,
> > > NULL
> > > );
> > >
> > >
> > >
> >
>
NdisZeroMemory(&Mchars,sizeof(NDIS_MINIPORT_CHARACTERISTICS));
> > >
> > > Mchars.MajorNdisVersion = 4;
> > > Mchars.MinorNdisVersion = 0;
> > > Mchars.InitializeHandler = MServer_Initialize;
> > > Mchars.QueryInformationHandler =
> > > MServer_IPQueryInformation;
> > > Mchars.SetInformationHandler =
> > > MServer_IPSetInformation;
> > > Mchars.ResetHandler = MServer_IPReset;
> > > Mchars.HaltHandler = MServer_IPHalt;
> > > Mchars.SendHandler = MServer_IPSend;
> > > Mchars.ReturnPacketHandler =
> > > MServer_IPReturnPacket;
> > >
> > > Mchars.CheckForHangHandler = NULL;
> > > Mchars.TransferDataHandler = NULL;
> > > Mchars.DisableInterruptHandler = NULL;
> > > Mchars.EnableInterruptHandler = NULL;
> > > Mchars.SendPacketsHandler = NULL;
> > > Mchars.AllocateCompleteHandler = NULL;
> > >
> > >
> > > Status = NdisMRegisterMiniport(
> > > WrapperHandle,
> > > &Mchars,
> > > sizeof(NDIS_MINIPORT_CHARACTERISTICS));
> > >
> > > if (Status == NDIS_STATUS_SUCCESS)
> > > return STATUS_SUCCESS;
> > >
> > > After this the system gets hung & even sometimes
> > > softice doesn’t comeup to debug this.
> > >
> > > Any suggestion is appreciated.
> > >
> > > With Regards,
> > > Vishwanath M.
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
> > > xxxxx@yahoo.com
> > > To unsubscribe send a blank email to
> > > %%email.unsub%%
> > >
> >
> >
> >
> > Do You Yahoo!?
> > Yahoo! Shopping - Mother’s Day is May 12th!
> > http://shopping.yahoo.com
> >
> > —
> > You are currently subscribed to ntdev as:
> xxxxx@deccanetdesignstele.com
> > To unsubscribe send a blank email to
> %%email.unsub%%
> >
> >
>
>


Do You Yahoo!?
Yahoo! Shopping - Mother’s Day is May 12th!
http://shopping.yahoo.com