From: winddklearner on
Dear Sir, For detecting over-current condition on USB External hub ports, I'm
using DeviceIOControl IOCTL_USB_GET_NODE_CONNECTION_INFORMATION (from
NTDDK\usbioctl.h). This IOCTL returns a called
USB_NODE_CONNECTION_INFORMATION, having an element USB_CONNECTION_STATUS.
This is an enum. One thing it reports is DeviceCausedOvercurrent &
DeviceNotEnoughPower values.
I'm creating over-current condition on USB hub by connecting multiple
devices (around 20) on 3 levels of hub.
When I connect this setup to a server having EHCI controller & Win2k SP4
installed, this IOCTL correctly reports that at certains ports of the USB
hub, value of USB_CONECTION_STATUS is DeviceCausedOvercurrent.
But, when I connect this same setup to a server having chipset with OHCI
controller & Win2k SP4, the same IOCTL gives USB_CONECTION_STATUS of
NoDeviceConnected.
Why is it that on Win2k3 with OHCI controller, the IOCTL reports correct
status of the port, but on Win2kSP4 with OHCI controller, it is not giving
correct results?
Is this the known fact? Is this with OHCI controller's driver on Win2k SP4?
How to work around this problem and get the correct status of the port?
Please guide me.
Thanks and Best Regards,
Ganesh Borse