Symptoms
Consider the following scenario:
You have a Windows 7 multiprocessor system and USB device which supports selective suspend. When the USB device driver detects inactivity, it requests to put the device in a low power state (D2). Later, when the device is required for an I/O operation, the device driver sends a request to resume the device to full power (D0). Occasionally, when the USB device resumes from D2 to D0, the device driver may receive an unexpected USB bus reset. This causes the device to be surprise removed and as a result, a new device arrival notification and re-initialization occurs for the device. During this time, the USB device may disappear and re-appear. For example, if the device is a USB networking adapter, the network connection will be temporarily lost and re-established.
You have a Windows 7 multiprocessor system and USB device which supports selective suspend. When the USB device driver detects inactivity, it requests to put the device in a low power state (D2). Later, when the device is required for an I/O operation, the device driver sends a request to resume the device to full power (D0). Occasionally, when the USB device resumes from D2 to D0, the device driver may receive an unexpected USB bus reset. This causes the device to be surprise removed and as a result, a new device arrival notification and re-initialization occurs for the device. During this time, the USB device may disappear and re-appear. For example, if the device is a USB networking adapter, the network connection will be temporarily lost and re-established.
Cause
This issue is due to a race condition in the Microsoft USB driver.
Resolution
To resolve this issue, install the hotfix that is described in the following Microsoft Knowledge Base article:
2416007 An USB device may intermittently disconnect and reconnect when you use the USB device in Windows 7 or in Windows Server 2008 R2
More Information
For information about USB Selective Suspend, please see the following document:
http://www.microsoft.com/whdc/driver/wdf/USB_select-susp.mspx
http://www.microsoft.com/whdc/driver/wdf/USB_select-susp.mspx