desowin / usbpcap

USB packet capture for Windows
http://desowin.org/usbpcap
921 stars 173 forks source link

USBPcap does not seem to see Microsoft USB 2.0 Host Controller Simulator #7

Open dmsdms opened 10 years ago

dmsdms commented 10 years ago

Hi, I am trying to write a pseudo USB device using Microsofts WinDDK DSF Software. I am running on a multi core AMD system using Windows XP 64 bit. I have the Host Controller Simulator installed and loaded. When I run USBPcap, (1.0.0.6) it does not seem to see the Controller. I can run the test programs supplied by microsoft and I have written code that creates the soft hubs and eventually a USB device. My problem is my input/output does not work - hence I am trying to use USBPcap.

As USBPcap does not see the Controller I have nothing to trace. If I start up my software and let it create a device, windows reports the newly created device and device manager sees it. Now if I try to start USBPcap, I get a few lines of text before the window goes blank. Nothing in the event log.

I have run USBPcap, started a trace, plugged in a mouse, cancelled USBPcap and displayed the trace - everything worked and I got an excellent trace.

Any suggestions ?

Regards Don

dmsdms commented 10 years ago

Hi I don't know how I closed this but I have more information.

I was wrong - the Host Controller Simulator is listed and you can trace it. As a result I have found and fixed my problem (getting the HID Simulator software to work from Java)

I still have the second problem - USBPcap crashes if I start it when I have created a pseudo hid device. This is not very serious as USBPcap works fine if it is set up first.

Thanks for a great product.

Regards Don

desowin commented 10 years ago

Does it crash or keeps printing empty lines?

Could you please write down step-by-step guide how to reproduce this issue? Please include the information about required software and version numbers.

dmsdms commented 10 years ago

I am running Windows XP 64bit. I have installed WinDDK 7600.16385.1 which includes Windows DSF (Device simulation Framework) This supplied the software I needed to develop Pseudo HID devices. I found in WinDDK tools\DeviceSimulation\Framework and ran DSFx86Runtime.msi. This installs samples in program files\dsf. You also need to run softehcicfg.exe /INSTALL to install the Soft Hub

You now cd c:\program files\dsf\generichid\ and run cscript TestGenericHid.wsf Press enter until Windows reports a new HID device

Run usbpcap It will start and print several lines on the screen. These then disappear leaving a blank window.

If you enter cntl C, the prompt comes back so it looks like USBPcap might be printing black lines.

I am sorry this is so complicated but not as hard as getting the software to work with Java.

Hope this helps - I am happy to run tests etc.

Regards Don

desowin commented 10 years ago

I followed these instructions and it works on my setup.

Are you sure it's caused by the simulated HID devices and not any of your USB peripherals? Could you please try identify the device causing this issue?

dmsdms commented 10 years ago

Hi,

I have just installed USBPcap on a XP 32bit system. I have a different problem on this system -

Following filter control devices are available: 1 .\USBPcap1 Couldn't open device - 5 2 .\USBPcap2 Couldn't open device - 5 3 .\USBPcap3 Couldn't open device - 5 4 .\USBPcap4 Couldn't open device - 5 5 .\USBPcap5 Couldn't open device - 5 Select filter to monitor (q to quit):

If I enter q, USBPcap hangs and can't be cancelled.

But - if I run TestGenericHID.wsf up to the point the system says a new HID device is available and then start USBPcap it runs (but with the above problem)

So - to answer your question - On my Windows XP 64bit system - USBPcap runs fine, with the Host Controller Simulator running, and I can trace devices including pseudo devices. But - if I run TestGenericHid.wsf up to the point where the system reports the new HID device and then try to run USBPcap, I get a blank window.

The problem looks like XP 64bit is causing USBPcap problems in this very specific example.

Many regards

Don

On 21/11/2013 16:57, Tomasz Moń wrote:

I followed these instructions and it works on my setup.

Are you sure it's caused by the simulated HID devices and not any of your USB peripherals? Could you please try identify the device causing this issue?

— Reply to this email directly or view it on GitHub https://github.com/desowin/usbpcap/issues/7#issuecomment-29001712.

desowin commented 10 years ago

Code 5 is ERROR_ACCESS_DENIED.

For me, on 64 bit Windows XP the TestGenericHID.wsf works fine (I ran USBPcapCMD after every single "press enter").

dmsdms commented 10 years ago

Hi,

You seemed to know about USBPcap producing blank lines, is this a known problem ?

What would cause an ERROR_ACCESS_DENIED, I am running as administrator ?

Regards

Don

On 21/11/2013 17:43, Tomasz Moń wrote:

Code 5 is ERROR_ACCESS_DENIED.

For me, on 64 bit Windows XP the TestGenericHID.wsf works fine (I ran USBPcapCMD after every single "press enter").

— Reply to this email directly or view it on GitHub https://github.com/desowin/usbpcap/issues/7#issuecomment-29005735.

desowin commented 10 years ago

Yes, the blank lines problem happened to me but I fixed it then. Unfortunately there are still some cases when this happens.

Please try the 64-bit test binary: http://code.google.com/p/usbpcap/downloads/detail?name=USBPcapCMD_x64_test1.exe

Please forward the console output to file and send me (can be by email) zipped output text file.

I have no clue about the ERROR_ACCESS_DENIED yet. Please concentrate on the blank lines issue first.

dmsdms commented 10 years ago

Hi,

I have run your test binary and captured the output. I have run it with TestGenericHid.wsf running and also without it running. With it running, the program seems stuck in a loop printing level-- It produced so much output, I had to truncate it to email it.

Hope this helps Best wishes Don

On 21/11/2013 18:34, Tomasz Moń wrote:

Yes, the blank lines problem happened to me but I fixed it then. Unfortunately there are still some cases when this happens.

Please try the 64-bit test binary: http://code.google.com/p/usbpcap/downloads/detail?name=USBPcapCMD_x64_test1.exe

Please forward the console output to file and send me (can be by email) zipped output text file.

I have no clue about the ERROR_ACCESS_DENIED yet. Please concentrate on the blank lines issue first.

— Reply to this email directly or view it on GitHub https://github.com/desowin/usbpcap/issues/7#issuecomment-29010549.

Following filter control devices are available: 1 .\USBPcap8 \??\USB#ROOT_HUB20#4&7eeaf3b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 6, 2) 2 .\USBPcap4 \??\USB#ROOT_HUB#4&36ac09d0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 3, 2) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 2) driverKeyName is valid PrintDeviceDesc(DriverName, 2, 2, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 2] USB Composite Device PrintDevinstChildren(parent, 2) level++ (value after: 3) level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Human Interface Device CM_Get_Child() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID Keyboard Device CM_Get_Parent() success CM_Get_Sibling() success level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Human Interface Device CM_Get_Child() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant mouse CM_Get_Sibling() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant consumer control device CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Sibling() success connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 3) driverKeyName is valid PrintDeviceDesc(DriverName, 3, 2, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 3] USB Composite Device PrintDevinstChildren(parent, 2) level++ (value after: 3) level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Audio Device CM_Get_Parent() success CM_Get_Sibling() success 3 .\USBPcap5 \??\USB#ROOT_HUB20#4&20d008e6&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 6, 2) 4 .\USBPcap1 \??\USB#ROOT_HUB20#2&2bc00b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 15, 2) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 1) driverKeyName is valid PrintDeviceDesc(DriverName, 1, 2, 0) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 1] Generic USB Hub Device is hub GetExternalHubName(Hub, 1) GetExternalHubName succeeded EnumerateHub(hub, connection_info, 3) EnumerateHubPorts(hHubDevice, 4, 3) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 1) driverKeyName is valid PrintDeviceDesc(DriverName, 1, 3, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(3) level-- level-- level-- [Port 1] USB Human Interface Device PrintDevinstChildren(parent, 3) level++ (value after: 4) level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant consumer control device CM_Get_Sibling() success level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant device CM_Get_Sibling() success level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant device CM_Get_Sibling() success level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID Keyboard Device CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Sibling() success level: -1 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(-1) level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level-- level--

Following filter control devices are available: 1 .\USBPcap8 \??\USB#ROOT_HUB20#4&7eeaf3b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 6, 2) 2 .\USBPcap4 \??\USB#ROOT_HUB#4&36ac09d0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 3, 2) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 2) driverKeyName is valid PrintDeviceDesc(DriverName, 2, 2, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 2] USB Composite Device PrintDevinstChildren(parent, 2) level++ (value after: 3) level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Human Interface Device CM_Get_Child() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID Keyboard Device CM_Get_Parent() success CM_Get_Sibling() success level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Human Interface Device CM_Get_Child() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant mouse CM_Get_Sibling() success level: 4 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant consumer control device CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Parent() success CM_Get_Sibling() success connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 3) driverKeyName is valid PrintDeviceDesc(DriverName, 3, 2, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 3] USB Composite Device PrintDevinstChildren(parent, 2) level++ (value after: 3) level: 3 indent: 2 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(3) level-- level-- level-- USB Audio Device CM_Get_Parent() success CM_Get_Sibling() success 3 .\USBPcap5 \??\USB#ROOT_HUB20#4&20d008e6&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 6, 2) 4 .\USBPcap1 \??\USB#ROOT_HUB20#2&2bc00b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 15, 2) 5 .\USBPcap6 \??\USB#ROOT_HUB#4&1439a827&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 3, 2) 6 .\USBPcap2 \??\USB#ROOT_HUB#4&1b906a66&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 2, 2) 7 .\USBPcap7 \??\USB#ROOT_HUB#4&2386b151&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 3, 2) 8 .\USBPcap3 \??\USB#ROOT_HUB#4&1a5e08aa&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} EnumerateHub(hub, connection_info, 2) EnumerateHubPorts(hHubDevice, 3, 2) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 2) driverKeyName is valid PrintDeviceDesc(DriverName, 2, 2, 0) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(2) level-- level-- [Port 2] Generic USB Hub Device is hub GetExternalHubName(Hub, 2) GetExternalHubName succeeded EnumerateHub(hub, connection_info, 3) EnumerateHubPorts(hHubDevice, 3, 3) connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 1) driverKeyName is valid PrintDeviceDesc(DriverName, 1, 3, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(3) level-- level-- level-- [Port 1] USB Human Interface Device PrintDevinstChildren(parent, 3) level++ (value after: 4) level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID Keyboard Device CM_Get_Parent() success CM_Get_Sibling() success connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 2) driverKeyName is valid PrintDeviceDesc(DriverName, 2, 3, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(3) level-- level-- level-- [Port 2] USB Human Interface Device PrintDevinstChildren(parent, 3) level++ (value after: 4) level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant mouse CM_Get_Sibling() success level: 4 indent: 3 CM_DRP_FRIENDLYNAME failed. Fallback to CM_DRP_DEVICEDESC print_indent(4) level-- level-- level-- level-- HID-compliant consumer control device CM_Get_Parent() success CM_Get_Sibling() success connectionInfo.ConnectionStatus is 1 GetDriverKeyName(Hub, 3) driverKeyName is valid PrintDeviceDesc(DriverName, 3, 3, 1) Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Searching... CM_Get_Child success Get the DriverName value Can't go down any further Searching... CM_Get_Sibling() success Get the DriverName value Can't go down any further Searching... CM_Get_Parent() success Searching... CM_Get_Sibling() success Get the DriverName value Get DriverName succeeded Get DeviceDesc succeeded print_indent(3) level-- level-- level-- [Port 3] BCM2046 B1 BLUETOOTH USB + EDR ADAPTER CLASS 1 v2.1 UHE PrintDevinstChildren(parent, 3) Select filter to monitor (q to quit):

dmsdms commented 10 years ago

Hi,

Did you get my email on the 22/11/2013 with the output diagnostics ?

Don

desowin commented 10 years ago

Your logs are visible here publicly in the comment above. If you did send me anything in private then I didn't receive it.

I just briefly looked at the logs. Regarding the first log (the one with the blank line problem), could you please start device manager, display resources by connection and send me the screenshot with all items expanded for the Root Hub to which the USB Keyboard is connected to?

dmsdms commented 10 years ago

Hi,

Hope this is what you wanted.

Regards

Don

dmsdms commented 10 years ago

Hi,

With my last email I sent an attachment - a screen shot of the Device Manager.

Looking at the web site, I am not sure that worked.

The following is a hand typed copy -

DsfRoot for DSF Microsoft USB 2.0 Host controller Simulator USB Root Hub Generic Root Hub USB Human Interface Device HID Keyboard Device HID-compliant consumer control device HID-compliant device HID-compliant device Kernel Services for DSF

Regards

Don