!usbkd.usbhcdpow
The !usbkd.usbhcdpow command displays the power state history for a USB host controller or root hub.
!usbkd.usbhcdpow DeviceExtension
Parameters
DeviceExtension
Address of one of the following:
- The device extension for the functional device object (FDO) of a USB host controller.
- The device extension for the physical device object (PDO) a USB root hub.
DLL
Usbkd.dll
Examples
Here is one way to find the address of the device extension for the FDO of an EHCI host controller. First enter !usbkd.usb2tree.
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
In the preceding output, the address of the device extension of the FDO is displayed as the argument of the DML command !ehci_info ffffe00001ca11a0.
Now pass the address of the device extension to the !usbhcdpow command.
0: kd> !usbkd.usbhcdpow ffffe00001ca11a0
dt USBPORT!_FDO_EXTENSION ffffe00001ca15a0
## State History (latest at bottom)
## EVENT STATE NEXT
[00] FdoPwrEv_D0_DoSetD0_2 FdoPwr_D0_WaitWorker2 FdoPwr_D0_WaitSyncUsb2 dt:0 ms
[01] FdoPwrEv_SyncUsb2_DoChirp FdoPwr_D0_WaitSyncUsb2 FdoPwr_D0_WaitSyncUsb2 dt:0 ms
[02] FdoPwrEv_Rh_SetPowerSys FdoPwr_D0_WaitSyncUsb2 FdoPwr_D0_WaitSyncUsb2 dt:0 ms
[03] FdoPwrEv_Rh_SetD0 FdoPwr_D0_WaitSyncUsb2 FdoPwr_D0_WaitSyncUsb2 dt:0 ms
[04] FdoPwrEv_SyncUsb2_Complete FdoPwr_D0_WaitSyncUsb2 FdoPwr_WaitSx dt:50 ms
[05] FdoPwrEv_Rh_Wake FdoPwr_WaitSx FdoPwr_WaitSx dt:3412 ms
[06] FdoPwrEv_Rh_Wake FdoPwr_WaitSx FdoPwr_WaitSx dt:283872 ms
[07] FdoPwrEv_Rh_Wake FdoPwr_WaitSx FdoPwr_WaitSx dt:25481267 ms
Here is one way to find the address of the device extension for the PDO of a root hub. First enter !usbkd.usb2tree.
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
RootHub !hub2_info ffffe000023201a0 !devstack ffffe00002320050
...
In the preceding output, you can see the address of the FDO of the root hub displayed as the argument to the command !devstack ffffe00002320050. Use the !devstack command to find the address of the PDO and the PDO device extension.
0: kd> !kdexts.devstack ffffe00002320050
!DevObj !DrvObj !DevExt ObjectName
> ffffe00002320050 \Driver\usbhub ffffe000023201a0 0000002d
ffffe0000213c050 \Driver\usbehci ffffe0000213c1a0 USBPDO-3
...
In the preceding output, you can see that the address of the device extension for the PDO of the root hub is ffffe0000213c1a0
.
Now pass the address of the device extension to the !usbhcdpow command.
0: kd> !usbkd.usbhcdpow ffffe0000213c1a0
dt USBPORT!_FDO_EXTENSION ffffe0000213c5a0
## State History (latest at bottom)
## EVENT STATE NEXT
...