!usbkd.usbhuberr
The !usbkd.usbhuberr command displays a USB hub error record.
!usbkd.usbhuberr StructAddr
Parameters
StructAddr
Address of a usbhub!_HUB_EXCEPTION_RECORD structure.
DLL
Usbkd.dll
Examples
Here is one way to find the address of a usbhub!_HUB_EXCEPTION_RECORD. 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 suggested command !devstack ffffe00002320050. Enter this command.
0: kd> !kdexts.devstack ffffe000011f7050
!DevObj !DrvObj !DevExt ObjectName
> ffffe000011f7050 \Driver\usbhub ffffe000011f71a0 0000006f
ffffe00000a21050 \Driver\usbehci ffffe00000a211a0 USBPDO-8
...
In the preceding output, ffffe000011f71a0
is the address of the device extension for the functional device object (FDO) of the hub. Pass the address of the device extension to !usbkd.usbhubext.
0: kd> !usbkd.usbhubext ffffe000011f71a0
FDO ffffe000011f7050 PDO ffffe00000a21050 HubNumber# 7
dt USBHUB!_DEVICE_EXTENSION_HUB ffffe000011f71a0
!usbhublog ffffe000011f71a0
RemoveLock ffffe000011f7668
FdoFlags ffffe000011f7ba0
CurrentPowerIrp: System (0000000000000000) Device (0000000000000000)
ObjReferenceList: !usblist ffffe000011f7b70, RL
ExceptionList: !usblist ffffe000011f8498, EL [Empty]
...
In the preceding output, ffffe000011f8498
is the address of the exception list. If the exception list is not empty, it will contain addresses of _HUB_EXCEPTION_RECORD structures.