USB Virtual Serial Port Surprise Removal

Hi,
Using HyperTerminal as app accessing a USB Virtual Serial Port - yank the device and CPU usage goes -> 100%; problem is that UMDF is completing IOCTL_SERIAL_WAIT_ON_MASK and IRP_MJ_READ requests with STATUS_CANCELLED (my driver doesn’t even seem to see the requests); HyperTerminal then promptly issues another request and round we go (until port is closed).
Any ideas???

Thanks

> Hi,

Using HyperTerminal as app accessing a USB Virtual Serial Port - yank
the
device and CPU usage goes -> 100%; problem is that UMDF is completing
IOCTL_SERIAL_WAIT_ON_MASK and IRP_MJ_READ requests with
STATUS_CANCELLED (my
driver doesn’t even seem to see the requests); HyperTerminal then
promptly
issues another request and round we go (until port is closed).
Any ideas???

Search the archives - lots of stuff recently on UMDF and serial ports.

Also, hyperterminal is the biggest piece of crap ever written. Running
at 100% CPU is just what it does, even with real 16550 UART serial
ports.

James

Adrian Sheard wrote:

Using HyperTerminal as app accessing a USB Virtual Serial Port -
yank the device and CPU usage goes -> 100%; problem is that
UMDF is completing IOCTL_SERIAL_WAIT_ON_MASK and
IRP_MJ_READ requests with STATUS_CANCELLED (my driver
doesn’t even seem to see the requests); HyperTerminal then
promptly issues another request and round we go (until port
is closed).

As stated recently, it’s not possible to make a standards-conforming serial port in UMDF. There are other issues besides the one you’re facing, but this may be yet another. If the reflector is completing the I/O in a loop and not even passing it to you, you’re probably out of luck.

With regards to James’ comment, I don’t hit 100% CPU when I pull my USB modem device in Hyperterminal.