-
If no device is attached to my system and i want that host controller should start enumerating the USB device, how can i say to host controller to start enumerating device? Who says that yes device is attached to the port?
-
Suppose there isnt any USB device attached to the port, now i want that host controller should start enumerating devices, and i want host controllers should feel that device is present in system(actually there is no device attached in system). For doing these what exactly i have to do? can anyone help me in this?
Thanks in advance
Chandrakant
USB detects the presence of a device in the USB hardware (I forget whether this is mechanical or electrical, but it isn’t software).
If you want to simulate a USB device in this fashion, I’d suggest familiarizing yourself with the Device Simulation Framework for USB devices in the RC1 Windows Driver Kit. It’s there to support the scenarios you’re describing.
xxxxx@yahoo.co.in wrote:
- If no device is attached to my system and i want that host controller should start enumerating the USB device, how can i say to host controller to start enumerating device? Who says that yes device is attached to the port?
The hardware in the host controller will notice this. It detects a
change in the state of the bus wiring for that port. It eventually
interrupts the host controller driver, which begins the enumeration process.
- Suppose there isnt any USB device attached to the port, now i want that host controller should start enumerating devices, and i want host controllers should feel that device is present in system(actually there is no device attached in system). For doing these what exactly i have to do? can anyone help me in this?
Nope, impossible. You can’t “fool” the host controller.
Now, there are ways to get your driver loaded without having the device
present. One of the easier ways is to “hijack” another device. For
example, go find a USB camera that has never been installed on your
computer. Insert it just long enough to find out the USB VID and PID,
but don’t load drivers for it. Now, change your INF file to match that
VID and PID, and insert it again. None of the USB transactions will
work, since you probably have a different set of endpoints, but it will
at least get your driver loaded.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Check out some books on USB. One by Mindshare, Inc, Don Anderson. Another
USB Explained by Steven McDowell, Martin Seyer. Here you some ideas to
answer.
(1) If no device is attached to my system and i want that host controller
should start enumerating the USB device, how can i say to host controller to
start enumerating device? In USB Explained page 86 you see that Bus
Enumeration occurs from the root hub to the host using the status-change
pipe. What this message is I do not know.
Who says that yes device is attached to the port? The root hub will know on
page 60 in the Mindshare book. And this is done electrically. Note the
speed is know too.
(2) Suppose there isnt any USB device attached to the port, now i want that
host controller should start enumerating devices, and i want host
controllers should feel that device is present in system(actually there is
no device attached in system). For doing these what exactly i have to do?
can anyone help me in this?
Here you have the virtual environment to look as was previously noted. Just
to add you may what to add some filter drivers to between the host
controller driver and root hub to see what is happening. I would image IRPs
are being sent of course. To simulate a device you will have to send the
Bus Enumeration message from the root hub to the host controller I would
think and then respond to all IRPS with your device “virtural” miniport
driver. These are all only ideas.
Next you may wish to look at linux source code to see how this is done.
Then too you may wish to look at the CE source code to see how it is done.
I you have a USB sniffer that would of cource only help.
-William Michael Jones
wrote in message news:xxxxx@ntdev…
> 1) If no device is attached to my system and i want that host controller
> should start enumerating the USB device, how can i say to host controller
> to start enumerating device? Who says that yes device is attached to the
> port?
>
> 2) Suppose there isnt any USB device attached to the port, now i want that
> host controller should start enumerating devices, and i want host
> controllers should feel that device is present in system(actually there is
> no device attached in system). For doing these what exactly i have to do?
> can anyone help me in this?
>
> Thanks in advance
> Chandrakant
>
> 1) If no device is attached to my system and i want that host controller
should
start enumerating the USB device, how can i say to host controller to start
enumerating device?
You cannot.
Who says that yes device is attached to the port?
The USBHUB driver receives a notification via hub’s interrupt pipe and does
this.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com