none
Ndis 6.0 driver for Windows Embedded Compact 7 RRS feed

  • Question

  • I am trying to port miniport NDIS 5.1 driver to NDIS 6.0 driver for SDIO WLAN card.

    I already built the WinCE7 image and ported to IMAX51 board.

    While inserting the sdio wlan card I am getting

    SDNDISLDR: +NDL_Init

    SDNDISLDR: -NDL_Init

    After checking the code I found out that this is written in NDISLoder.cpp file.

    where  if (pInstance == NULL) is true.

    Can any one tell me what is the problem and solution?


    Tuesday, March 18, 2014 12:28 PM

All replies

  • You need to customize this driver to NDIS 6

    Look at below link:

    http://social.msdn.microsoft.com/Forums/en-US/1e906392-4cfd-4875-bd6b-8aaefb45e0ed/wec7-ndis-60-driver-question?forum=winembplatdev

    --- Misbah


    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India) www.tes-dst.com email-misbah.khan@tes-dst.com

    Tuesday, March 18, 2014 2:44 PM
  • I did the changes in .reg file but still it is not working.

    I don't know why it is failing inside NDISLoader.cpp file.

    If I insert the Wlan card it display

                  SDNDISLDR: +NDL_Init

                  SDNDISLDR: -NDL_Init

    and If I remove it.

                  SDNDISLDR: +NDL_Deinit

                  SDNDISLDR: -NDL_Deinit

    Please help me to resolve this problem.

    Thursday, March 20, 2014 6:33 AM
  • Hi every one,

    I got little progress in developing ndis 6.0 miniport driver.

    Now I am getting error in the DriverEntry function while calling NdisMRegisterMiniportDriver()

    status value is NDIS_STATUS_BAD_CHARACTERISTICS

    In document it is written:

    NDIS_STATUS_BAD_CHARACTERISTICS

        The CharacteristicsLength parameter is incorrect for the NDIS version that is specified at the MajorNdisVersion member in the structure at MiniportDriverCharacteristics.

    My code sample:

     NDIS_MINIPORT_DRIVER_CHARACTERISTICS DeviceNMC;

     DeviceNMC.Header.Type           = NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;//%_WINCEROOT%\Public\Common\Sdk\Inc\Ntddndis.h
        DeviceNMC.Header.Size           = sizeof(NDIS_MINIPORT_DRIVER_CHARACTERISTICS);     //%_WINCEROOT%\Public\Common\Sdk\Inc\Ndis.h
        DeviceNMC.Header.Revision           = NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1;    //%_WINCEROOT%\Public\Common\Sdk\Inc\Ndis.h

        DeviceNMC.MajorNdisVersion         = MRVDRV_NDIS_MAJOR_VERSION;
        DeviceNMC.MinorNdisVersion         = MRVDRV_NDIS_MINOR_VERSION;
        DeviceNMC.MajorDriverVersion       = MRVDRV_DRIVER_MAJOR_VERSION;
        DeviceNMC.MinorDriverVersion       = MRVDRV_DRIVER_MINOR_VERSION;

       .

       .

       .

      Status = NdisMRegisterMiniportDriver (    // edited by subodh
                    DriverObject,
                RegistryPath,
                (PNDIS_HANDLE)MiniportDriverContext,
                    &DeviceNMC,
                    &NdisMiniportDriverHandle);

    Can any one help me out...

    Wednesday, March 26, 2014 5:53 AM
  • I got the reason why NdisMRegisterMiniportDriver() was returning NDIS_STATUS_BAD_CHARACTERISTICS as a status.

    Actually in NDIS 6.0 we have to assign all the member of NDIS_MINIPORT_DRIVER_CHARACTERISTICS structure

    with a actual / dummy function address.

    Friday, March 28, 2014 8:49 AM