Here is a small example of USB devices enumeration I ended up putting together last nigh while browsing the ddk documentation. Perhaps it could be useful to someone.

p.s. tested on win xp sp2. with two double-port usb hubs. suggestions, comments are very welcomed?  :)
Attachments:
Posted on 2006-04-19 05:46:26 by arafel
It crashes right after displaying some info about the mouse (USB). I have 3 USB 1.1 hubs and 2 USB 2.0 hubs. 2 (of 3) USB 1.1 hubs are disabled.

The attached file is drwatson's crash dump and console's output.
Attachments:
Posted on 2006-04-19 06:33:52 by ti_mo_n
Crashes here too, after this output:

Host Controler: \\.\HCD0
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0001
HC ID: PCI\VEN_10DE&DEV_005A&SUBSYS_815A1043&REV_A2\3&2411E6FE&0&10
HC Description: Standard OpenHCD USB Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&35297846&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8
No Device Connected
No Device Connected
No Device Connected
Driver Key: {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0003
          Device Description: USB Human Interface Device


nForce4 chipset (in case intel-vs-amd USB host controller standard matters), whole bunch of USB ports, etc.

Crash is somewhere in user32 (perhaps some string buffer overflow?)
Posted on 2006-04-19 07:03:14 by f0dder
ok, wasn't handling correctly devices with null control class code.
reattached fixed version.
Posted on 2006-04-19 07:28:40 by arafel
Works now, cheers :)
Posted on 2006-04-19 08:01:22 by f0dder
I could be interpreting the data incorrectly but it looks like it cannot see the devices that are past the hub.  It sees the hub okay, though.

Paul
Posted on 2006-04-19 12:42:22 by PBrennick
rifleman, do you mean it doesn't sees any devices at all? or just a particular device connected to an external\integral hub?

a console dump + list of devices that you have would be helpful.
Posted on 2006-04-19 16:24:31 by arafel
works fine here, xp sp2.. doesnt list units connected to the usb mass storage device though (ide->usb connector)..
Posted on 2006-04-19 16:43:35 by evlncrn8
arefel,
Here is the output.

D:\Downloads\ASMCommunity\usbenum>usbenum
Host Controler: \\.\HCD0
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0000
HC ID: PCI\VEN_1106&DEV_3038&SUBSYS_80F6104D&REV_1A\3&61AAA01&0&3A
HC Description: VIA Rev 5 or later USB Universal Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&1f96bc4b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
No Device Connected
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0004
          Device Description: Generic USB Hub
          Class Code Triplet: 0x9,0x0,0x0 (Full speed Hub)
          Maximum Packet Size: 8
          Vendor ID: 0x451
          Product ID: 0x2046
          Device Release #: 0x125
          Manufacturer Index: 0x0
          Product Index: 0x0
          Serial Number Index: 0x0
          Possible Configurations #: 1
Host Controler: \\.\HCD1
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0001
HC ID: PCI\VEN_1106&DEV_3038&SUBSYS_80F6104D&REV_1A\3&61AAA01&0&3B
HC Description: VIA Rev 5 or later USB Universal Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&cdd0ba6&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
No Device Connected
No Device Connected

D:\Downloads\ASMCommunity\usbenum>


If I am just reading it wrong, I am sorry.  One Port is empty.  The other port has a hub with a mouse and a memeory stick.

Paul
Posted on 2006-04-19 17:15:03 by PBrennick
Paul,
Here is updated version which should enumerate external hub devices as well. I haven't tested it much, since I don't have an external hub.

evlncrn8,
Is it an IDE harddrive connected trough USB adapter? If it is, than it should be listed as a mass storage device (info regarding internal drive stuff, size, geometry, etc, wont be displayed).
Posted on 2006-04-19 19:22:10 by arafel
Arafel, would you mind putting a version number in the filename when attaching? Makes it easier to spot new versions :)
Posted on 2006-04-19 20:30:18 by f0dder
Arafel,
Did you forget the attachment?

Paul
Posted on 2006-04-19 21:38:12 by PBrennick
Paul I have updated the attachment in the first message. Sorry for all the confusion... From now on I'll just add new attachments in subsequent messages.

f0dder, ok, ver. info has been added.
Attachments:
Posted on 2006-04-19 22:28:25 by arafel
Arafel,
Works like a charm, would you like to see a dump?
Paul
Posted on 2006-04-19 23:36:01 by PBrennick
yes, yes, please post it :)
Posted on 2006-04-19 23:55:50 by arafel
My dump isn't extremely exciting, considering I don't have much stuff attached right now, but here goes :)


E:\temp>usbenum.exe
USB devices enumerator v1.0      (arafel, tsech@mail.ru)

USB Host Controler: \\.\HCD0
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0001
ID: PCI\VEN_10DE&DEV_005A&SUBSYS_815A1043&REV_A2\3&2411E6FE&0&10
Description: Standard OpenHCD USB Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&35297846&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
No Device Connected
No Device Connected
No Device Connected
Driver Key: {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0003
          Device Description: USB Human Interface Device
          Class Code Triplet: 0x0,0x0,0x0 ( )
          Maximum Packet Size: 8
          Vendor ID: 0x46d
          Product ID: 0xc024
          Device Release #: 0x9802
          Manufacturer: B16_b_02
          Product: USB-PS/2 Optical Mouse
          Serial Number: ?
          Possible Configurations #: 1
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
USB Host Controler: \\.\HCD1
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0000
ID: PCI\VEN_10DE&DEV_005B&SUBSYS_815A1043&REV_A3\3&2411E6FE&0&11
Description: Standard Enhanced PCI to USB Host Controller
Root Hub: \\.\USB#ROOT_HUB20#4&1e67b15b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8
}
No Device Connected
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0011
          Device Description: Generic USB Hub
          Class Code Triplet: 0x9,0x0,0x1 (Hi-speed hub with single TT)
          Maximum Packet Size: 64
          Vendor ID: 0x5e3
          Product ID: 0x605
          Device Release #: 0x60b
          Manufacturer: ?
          Product: USB2.0 Hub
          Serial Number: ?
          Possible Configurations #: 1
          External Hub: \\.\USB#Vid_05e3&Pid_0605#5&3a8ffae1&0&2#{f18a0e88-c30c
-11d0-8815-00a0c906bed8}
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0005
            Device Description: USB Mass Storage Device
            Class Code Triplet: 0x0,0x0,0x0 ( )
            Maximum Packet Size: 64
            Vendor ID: 0xaec
            Product ID: 0x3260
            Device Release #: 0x100
            Manufacturer: Generic
            Product: USB Storage Device
            Serial Number: 0AEC326000001A000
            Possible Configurations #: 1
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected
No Device Connected

Posted on 2006-04-20 04:27:33 by f0dder
Here is my dump...

Microsoft Windows XP
(C) Copyright 1985-2001 Microsoft Corp.

D:\Downloads\ASMCommunity\usbenum>usbenum
USB devices enumerator v1.0      (arafel, tsech@mail.ru)

USB Host Controler: \\.\HCD0
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0000
ID: PCI\VEN_1106&DEV_3038&SUBSYS_80F6104D&REV_1A\3&61AAA01&0&3A
Description: VIA Rev 5 or later USB Universal Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&1f96bc4b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
No Device Connected
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0004
          Device Description: Generic USB Hub
          Class Code Triplet: 0x9,0x0,0x0 (Full speed Hub)
          Maximum Packet Size: 8
          Vendor ID: 0x451
          Product ID: 0x2046
          Device Release #: 0x125
          Manufacturer Index: 0x0
          Product Index: 0x0
          Serial Number Index: 0x0
          Possible Configurations #: 1
          External Hub: \\.\USB#Vid_0451&Pid_2046#5&32fc2209&0&2#{f18a0e88-c30c-
11d0-8815-00a0c906bed8}
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0005
          Device Description: USB Mass Storage Device
          Class Code Triplet: 0x0,0x0,0x0 ( )
          Maximum Packet Size: 64
          Vendor ID: 0xea0
          Product ID: 0x6828
          Device Release #: 0x110
          Manufacturer: USB
          Product: Flash Disk
          Serial Number: 230760A440459430
          Possible Configurations #: 1
No Device Connected
No Device Connected
Driver Key: {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}\0001
          Device Description: USB Human Interface Device
          Class Code Triplet: 0x0,0x0,0x0 ( )
          Maximum Packet Size: 8
          Vendor ID: 0x45e
          Product ID: 0x7d
          Device Release #: 0x0
          Manufacturer: Microsoft
          Product: Microsoft 3-Button Mouse with IntelliEyeÖ
          Serial Number: ?
          Possible Configurations #: 1
USB Host Controler: \\.\HCD1
Driver Key: {36FC9E60-C465-11CF-8056-444553540000}\0001
ID: PCI\VEN_1106&DEV_3038&SUBSYS_80F6104D&REV_1A\3&61AAA01&0&3B
Description: VIA Rev 5 or later USB Universal Host Controller
Root Hub: \\.\USB#ROOT_HUB#4&cdd0ba6&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
No Device Connected
No Device Connected

D:\Downloads\ASMCommunity\usbenum>


Paul
Posted on 2006-04-20 05:16:08 by PBrennick
Holly bananas! f0dder, is there anything else on your system besides usb ports ? :mrgreen:

P.S. Seems like the text formatting got screwed up for nested hubs... Doesn't matter much though, because I am thinking about converting it into gui version anyway (..sometime in near future, when the damn middle-term exams will over and I'll have some more free time)
Posted on 2006-04-20 05:55:41 by arafel
Well, what can I say? nForce4 boards already has a *lot* of USB ports, and I've hooked a 3-port hub / 16-in-1 card reader up as well...
Posted on 2006-04-20 06:01:12 by f0dder