How to fix the issue Code 10 (The device cannot start) which is occurring during the installation of the WLAN driver ?

Nithish Karthik Thangaraj 0 Reputation points
2026-09-02T09:58:06.5033333+00:00

Analyzed three instances :

 

  1. Fresh install : code 10
  2. After reboot , we can able to see the device is enumerated properly
  3. If I disable-enable the device, it goes to the code 10 state again 

Instance 1 (Fresh install : code 10):

 

Observation :

 

When I install the driver using 

pnputil /add-driver ifxwificx.inf /install

In this instance, Windows host detects the PCI device , but device failed to start

 

How we can confirm the Windows host detects the PCI device :

Logs from windbg:

 

!devnode 0 1 ifxwificx

 

DevNode 0xffffe605b1e91ba0 for PDO 0xffffe605b1e90060

InstancePath is "PCI\VEN_12BE&DEV_BD31..."

ServiceName is "ifxwificx"

State = DeviceNodeRemoved

Previous State = DeviceNodeStartCompletion

Problem = CM_PROB_FAILED_START

Problem Status = 0xc00000c0

 

Meaning of the above windbg log :

Device reached the windows host start-completion state , but start is failed with the status 0xc00000c0 (STATUS_DEVICE_DOES_NOT_EXIST)

 

!devstack ffffe605b1e90060

 

ffffe605b1e90060  \Driver\pci

 

At this time, the driver stack contains only PCI

 

Later PCI config space become inaccessible

Rd offset 0x0000 = 0xffff

Rd offset 0x0244 = 0xffffffff

Rd offset 0x0248 = 0xffffffff

 

Analysis :

WLAN PCIe endpoint initially enumerates, but later the PCI config space become inaccessible that leads to code 10

 

Instance 2 (When we reboot the device is enumerated properly):

 

After reboot/powercycle, the same device starts successfully

 

Windbg logs

 

!devnode 0 1 ifxwificx

 

State = DeviceNodeStarted

Previous State = DeviceNodeEnumerateCompletion

 

DeviceNodeResourcesAssigned

DeviceNodeStartPending

DeviceNodeStartCompletion

DeviceNodeStartPostWork

DeviceNodeStarted

 

!devstack <PDO>

 

\Driver\ifxwificx

\Driver\pci

 

The above log indicates that the driver stack is in working state

 

PCI endpoint also is in working condition

Device State = PciStarted

Logical Device Power State: D0

 

BAR0 Mem: 0x638f0000 length 0x10000

BAR2 Mem: 0x63000000 length 0x800000

 

Interrupt Resource: MSI, 1 message granted

 

Analysis:

In clean boot, PCIe power/reset/link sequencing succeeds. Windows assigns BARs and MSI, ifxwificx attaches, and the driver reaches normal runtime

 

 

PCIe power/reset/link sequencing:

 

Shutdown     ↓ platform powers PCIe/WLAN domain down     ↓ endpoint loses old internal state     ↓ root port / endpoint reset state is re-established     ↓ REFCLK becomes valid     ↓ PERST# is asserted and later released     ↓ PCIe link trains again from scratch     ↓ endpoint config space becomes readable     ↓ Vendor ID = 12BE     ↓ Windows assigns BAR/MSI     ↓ ifxwificx starts

 

 

 

 

Instance 3 (on disable and enable the device the same issue is repeated):

 

Observation :

 

After the device is working, disabling and enabling it causes the same failure pattern as fresh install.

 

Windbg logs

 

!devnode 0 1 ifxwificx

 

State = DeviceNodeRemoved

Previous State = DeviceNodeStartCompletion

Problem = CM_PROB_FAILED_START

Problem Status = 0xc00000c0

 

Driver stack only contains PCI

 

!devstack <PDO>

 

\Driver\pci

 

PCI extension state

 

Device State = PciNotStarted

Logical Device Power State: D3

 

PCI config space

Wr offset 0x004c = 0x200b

Rd offset 0x004c = 0xffff

Rd offset 0x0000 = 0xffff

 

PCI start worker

pci!PciDeviceStartWorker Rd offset 0x0000 = 0xffff

For the production ready wlan driver, the device should be up when i give ,
pnputil /add-driver ifxwificx.inf /install (during installation itself) right .?
but in our case , it is in the code 10 .?

How to resolve this code 10 issue so that during the installation itself, the driver and it's functionalities should be visible?

Windows development | Windows Driver Kit (WDK)
0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.