Skip to content

WiFiCx: NDIS never binds protocols after successful adapter creation (MiniportInit never fires) #28

Description

@cosmichut

WiFiCx: NDIS never binds protocols after successful adapter creation

Problem

We are developing a WiFiCx client driver. All initialization succeeds:

  • WifiDeviceInitialize -> success
  • WifiDeviceSetDeviceCapabilities, SetPhyCapabilities, SetBandCapabilities, SetStationCapabilities -> all success
  • NetAdapterCreate -> success
  • WifiAdapterInitialize -> success
  • NetAdapterStart -> success
  • WiFiCx sends SET_ADAPTER_CONFIGURATION and TASK_SET_RADIO_STATE, driver handles both correctly

The adapter appears in Get-NetAdapter with correct MAC, MediaType=Native 802.11, InterfaceType=71.

However, NDIS never binds any protocols. UpperBind is empty, no Linkage key, no TCPIP interface. netsh wlan show interfaces reports no wireless interfaces.

ETW Evidence

NDIS ETW trace shows:

  • Event 10600 (MiniportAdd): fires for our adapter
  • Event 10601 (MiniportInit): never fires for our adapter
  • Only OID seen: OID_PNP_SET_POWER, completed by NDIS on behalf of miniport

INF

Characteristics = 0x84
BusType = 5
*IfType = 71
*MediaType = 16
*PhysicalMediaType = 9
NumberOfNetworkInterfaces = 5
UpperRange = ndis6_wifi
LowerRange = wlan
KmdfLibraryVersion = 1.33

Code Pattern

Following the documentation exactly:
NetDeviceInitConfig -> WifiDeviceInitConfig -> WdfDeviceCreate -> WifiDeviceInitialize (with WDI_VERSION_LATEST, send command callback, create adapter callback, create WFD device callback)

In EvtWifiDeviceCreateAdapter:
NetAdapterCreate -> WifiAdapterInitialize -> set link layer caps/MAC/MTU -> NetAdapterStart

In EvtWifiDeviceSendCommand:

  • SET commands: WifiRequestComplete() with bytesWritten=16
  • TASK commands: WifiRequestComplete() + WifiDeviceReceiveIndication(Device, messageId, ...)

Question

What triggers WiFiCx to signal NDIS miniport initialization complete? Our adapter is registered (10600) but MiniportInit (10601) never fires. We complete all commands from the framework. Is there a missing step?

Environment: Windows 11 25H2 Build 26200, WDK 10.0.26100.0, KMDF 1.33, WiFiCx 1.2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions