From: Manfred Wilner on
I have the following problem and need some help with solving it.
I have an USB printer connected to a PC and due to ESD the PC is unable to
communicate with the printer. I am checking for status from the Language
Monitor with Vendor Command calls and get an error 31 executing the IOCTL.
This is a generic error and tells me that the device is not functioning.

Now the printer is still functioning and the PC is sending SOF packages but
the upper layer can't communicate with the lower layer. When the printer USB
cable gets re-seated the communictation is back. My idea is to simulate a
re-seating of the cable via a USB stack reset or similar.
1. Is this possible?
2. Which IOCTL call can I use for this purpose.

Any help is appreciated.

\Manfred


From: chris.aseltine on
Manfred Wilner wrote:

> Now the printer is still functioning and the PC is sending SOF packages but
> the upper layer can't communicate with the lower layer. When the printer USB
> cable gets re-seated the communictation is back. My idea is to simulate a
> re-seating of the cable via a USB stack reset or similar.
> 1. Is this possible?
> 2. Which IOCTL call can I use for this purpose.

You might look at IOCTL_USB_HUB_CYCLE_PORT, or developing a small
filter driver and issuing IOCTL_INTERNAL_USB_CYCLE_PORT.

From: Robert Marquardt on
chris.aseltine(a)gmail.com wrote:

> You might look at IOCTL_USB_HUB_CYCLE_PORT, or developing a small
> filter driver and issuing IOCTL_INTERNAL_USB_CYCLE_PORT.

It would be better though to solve your problem.
USB devices are expected to not need such tricks.
From: Manfred Wilner on
Thanks guys, for the suggestions I will take a look at this.

Robert, I agree with you but as it seems the problem is ESD related and with
some low end Motherboards the printer is just disappearing and doesn't come
back.
I did some analysis on USB mouse traffic and saw that the mouse resurects
itself and continues to work.


"Robert Marquardt" <marquardt(a)codemercs.com> wrote in message
news:%23OZ6E3sOHHA.2312(a)TK2MSFTNGP04.phx.gbl...
> chris.aseltine(a)gmail.com wrote:
>
>> You might look at IOCTL_USB_HUB_CYCLE_PORT, or developing a small
>> filter driver and issuing IOCTL_INTERNAL_USB_CYCLE_PORT.
>
> It would be better though to solve your problem.
> USB devices are expected to not need such tricks.