Dear all,

I write a Virtual COM Driver, it can transfers data from COM port to
USB port. It's lower driver is USB driver (USBHID.sys) developed by
Microsoft. But when CPU Load increase to 100%, a "Surprise Removal"
event happens. Though it is not removed from Device Manager, it doesn't
work normally. Anyone knows the reason? Any help will be appreciate!

Best Regards,
David

Re: Virtual COM Driver Occurs Surprise Removal Event When CPU Loading is High by Doron

Doron
Thu Jul 27 23:28:06 CDT 2006

a driver in the stack could have invalidated the pnp device state by calling
IoInvalidateDeviceState() and then returning either PNP_DEVICE_FAILED or
NP_DEVICE_REMOVED in the subsequent IRP_MN_QUERY_PNP_DEVICE_STATE irp. It
could also be that your device is flakey and if the usb host is not sending
packets the device in a timely manner, your device falls off the bus.

is the device !'ed out in device manager?

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


<davidma@ingrasys.com.cn> wrote in message
news:1154057864.635741.29170@i42g2000cwa.googlegroups.com...
> Dear all,
>
> I write a Virtual COM Driver, it can transfers data from COM port to
> USB port. It's lower driver is USB driver (USBHID.sys) developed by
> Microsoft. But when CPU Load increase to 100%, a "Surprise Removal"
> event happens. Though it is not removed from Device Manager, it doesn't
> work normally. Anyone knows the reason? Any help will be appreciate!
>
> Best Regards,
> David
>



Re: Virtual COM Driver Occurs Surprise Removal Event When CPU Loading is High by davidma

davidma
Fri Jul 28 00:15:12 CDT 2006

Dear Doron,

Thank you very much! But my driver doesn't call
IoInvalidateDeviceState(), and my device is also not removed from
device manager, it is still in Device Manager. When "Surprise Removal"
occurs, the top application can't communicate with our Device via
Virtual COM Driver. But if top application re-connect, it can
communicate with my Device via Virtual COM Driver.

Best Regards,
David


Re: Virtual COM Driver Occurs Surprise Removal Event When CPU Loading is High by Pavel

Pavel
Fri Jul 28 08:30:09 CDT 2006

Your device is COM port, so how it is related to USBHID?

--PA

<davidma@ingrasys.com.cn> wrote in message news:1154057864.635741.29170@i42g2000cwa.googlegroups.com...
> Dear all,
>
> I write a Virtual COM Driver, it can transfers data from COM port to
> USB port. It's lower driver is USB driver (USBHID.sys) developed by
> Microsoft. But when CPU Load increase to 100%, a "Surprise Removal"
> event happens. Though it is not removed from Device Manager, it doesn't
> work normally. Anyone knows the reason? Any help will be appreciate!
>
> Best Regards,
> David
>



Re: Virtual COM Driver Occurs Surprise Removal Event When CPU Loading is High by davidma

davidma
Sun Jul 30 21:16:42 CDT 2006

Sorry, my description is not clear. My Virtual COM Driver simulates a
USB port as a COM port, so it's lower driver is USB driver.

Pavel A. wrote:
> Your device is COM port, so how it is related to USBHID?
>
> --PA