Description of problem: I believe we need to handle situation when usb device connected to a guest is not ejected/unmount properly better. In a situation when a user closes the remote-viewer client with usb device connected to the guest displayed by remote-viewer WinUSB driver remains to be installed on client machine which prevents users to use the USB device on the client machine. I believe we should at least try to remove winusb driver on remote-viewer closure and consider to bring a solution for removal of winusb driver when active remote-viewer session is closed/crashed. The Use case is for example following: A user shuts the VM with a USB device connected down gracefully from inside of guest. The result is that winsusb driver is still installed and the user cannot use it on client machine. Workaround is to uninstall USB device from client machine including winusb driver and let Windows install a generic one again. The true is that Users could be educated to unmount/eject USB devices properly but that would cost a lot of effort and bug reports. Version-Release number of selected component (if applicable): usbclerk-win-0.1-4 How reproducible: Always Steps to Reproduce: 1. Get a remote-viewer session to a guest with Any USB device connected to the guest. 2. Close remote-viewer while USB redirection is active. 3. Try to use the USB device on the client machine anyhow. Actual results: It's not possible to use USB device anyhow until you remove winusb driver and install a generic one. Expected results: winusb driver should be removed so Windows installs automatically a generic one -> user can use USB device on the client machine. Additional info:
Looks like usbclerk should be tracking the requestors, and un-redirect when they are gone (crashed or quit normally). Arnon?
(In reply to comment #1) > Looks like usbclerk should be tracking the requestors, and un-redirect when > they are gone (crashed or quit normally). Arnon? It can be handled by keeping the pipe opened (currently it's opened & closed per install/remove transaction) and cleanuping the specific devices upon pipe close. It also requires another small change in the pipe handling as it currently supports a single connection at a time.
Created attachment 613393 [details] usbclerk: add temporary driver install per session
posted usbclerk side patch. gtk needs a small patch as well.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2012-1527.html