View Single Post
Old 03-28-2005, 10:25 AM
stian's Avatar
stian stian is offline
Registered User
Join Date: Mar 2005
Location: Florida
Posts: 12
Originally Posted by MrC
This is most likely not SecureCRT/CRT's problem. Serial devices are opened and closed, and by nature, do not just disappear. So unplugging a cable (although not truely supported by hardware) from an active system is no real problem.

But a USB device when connected to a system has to create and map the device. In the USB to serial connection, the mapping is made at the OS driver level to map the USB device to the serial device. Unplugging the USB cable requires sending a device Close call, since the device is no longer in use. And this is where the problem occurs.

The driver should close the instantiation, and this leaves SecureCRT in a pickle - it probably wants to read (or write) more data from the device, but the device is gone. The fact that it works from some USB-to-Serial devices does not make it supported in general.

It is not appopriate to remove hardware when software is still using the device. This is why Windows has the Remove Hardware tasktray item - so that software can be gracefully notified of device closure.

I'd put this in the Don't Do This category.
We already established this much in the first post. My point was just that it is within SecureCRT's abilities to detect that the device is gone and display an appropriate error message, which I'm sure you'll agree is a better response than getting stuck (probably in the windows equivalent of an iowait state) waiting for the device forever.