A USB device may no longer work correctly after Windows Vista resumes from sleep or from hibernation

A USB device may no longer work correctly after Windows Vista resumes from sleep or from hibernation

Article ID : 928631
Last Review : August 29, 2007
Revision : 4.1
On This Page

SYMPTOMS

After you resume a Windows Vista-based computer from sleep or from hibernation, or after you restart the computer, some devices may no longer work correctly. For example, you may experience any of the following symptoms:

• A device, such as a USB IR receiver, does not resume correctly. When this problem occurs, an associated device, such as the Windows Media Center IR remote control, is unavailable.
• Windows Vista does not detect some USB devices. The USB devices do not work.
• A USB device, such as a fingerprint reader, is not immediately available. For example, it may take 30 seconds for a device to become available after the Welcome screen appears.

Back to the top

RESOLUTION

Hotfix information

A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451 (http://go.microsoft.com/?linkid=6294451)

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Windows Vista, x86-based versions
File name File version File size Date Time Platform
Hccoin.dll 6.0.6000.20550 8,704 06-Mar-2007 02:54 x86
Update.mum Not Applicable 2,030 06-Mar-2007 21:22 Not Applicable
Usbd.sys 6.0.6000.20550 5,888 06-Mar-2007 02:08 Not Applicable
Usbehci.sys 6.0.6000.20550 38,400 06-Mar-2007 02:08 x86
Usbhub.sys 6.0.6000.20550 192,000 06-Mar-2007 02:09 x86
Usbohci.sys 6.0.6000.20550 19,456 06-Mar-2007 02:08 x86
Usbport.sys 6.0.6000.20550 223,744 06-Mar-2007 02:08 x86
Usbuhci.sys 6.0.6000.20550 22,528 06-Mar-2007 02:08 x86
X86_usbport.inf_31bf3856ad364e35_6.0.6000.20550_none_bc2faa301fad4196.manifest Not Applicable 5,386 06-Mar-2007 21:23 Not Applicable
Windows Vista, 64-bit versions
File name File version File size Date Time Platform
Amd64_usbport.inf_31bf3856ad364e35_6.0.6000.20550_none_184e45b3d80ab2cc.manifest Not Applicable 5,388 06-Mar-2007 21:32 Not Applicable
Hccoin.dll 6.0.6000.20550 10,752 06-Mar-2007 03:59 x64
Update.mum Not Applicable 2,030 06-Mar-2007 21:22 Not Applicable
Usbd.sys 6.0.6000.20550 7,552 06-Mar-2007 02:32 x64
Usbehci.sys 6.0.6000.20550 48,128 06-Mar-2007 02:32 x64
Usbhub.sys 6.0.6000.20550 266,240 06-Mar-2007 02:32 x64
Usbohci.sys 6.0.6000.20550 24,064 06-Mar-2007 02:32 x64
Usbport.sys 6.0.6000.20550 257,024 06-Mar-2007 02:32 x64
Usbuhci.sys 6.0.6000.20550 28,672 06-Mar-2007 02:32 x64

Back to the top

Post-installation instructions

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 (/Feedback.aspx?kbNumber=322756/) How to back up and restore the registry in Windows

After you install this hotfix or a later USB-based hotfix, a different USB device may no longer work after Windows Vista resumes from sleep or from hibernation. For example, the different device might be an integrated USB device. To resolve this problem, you must first use Device Manager to determine the specific USB universal host controller that is controlling the integrated USB device that is failing. Then, you must add the ForceHCResetOnResume entry to the registry subkey that corresponds to the USB universal host controller.

Note If the USB device is a USB 2.0 device, the device may not appear in the USB Universal Host Controller node in Device Manager. The device will likely appear in a different USB host controller node. For example, the USB host controller node may have the words Enhanced, EHCI, or USB 2.0 in the name. The following steps are for a USB universal host controller. However, these steps would also apply for a USB 2.0 enhanced host controller.

Step 1: Determine the specific USB universal host controller

1. Click Start, type devmgmt.msc in the Start Search box, and then click devmgmt.msc in the Programs list.
2. On the View menu, click Devices by connection.
3. Expand the processor node. For example, expand ACPI Multiprocessor PC.

Note The node names in this procedure vary depending on the hardware.

4. Expand Microsoft ACPI-Compliant System.
5. Expand PCI Bus. Several USB universal host controllers will be listed.
6. Expand each USB universal host controller node, and then expand successive subnodes until you find the name of the device that is failing. For example, the device entry may resemble the following:

ACPI Multiprocessor PC Microsoft ACPI-Compliant System PCI Bus Intel(R) ICH8 Family USB Universal Host Controller – 2830 USB Root Hub fingerprint reader

Notes

• The fingerprint reader is typically listed as a biometric device.
• The specific USB universal host controller should not be used to control any externally available USB ports. For example, only internal integrated USB devices should be listed under the USB Root Hub node for the specific USB universal host controller.
7. When you have located the device, right-click the associated USB universal host controller, and then click Properties. In the example that is listed in step 6, right-click Intel(R) ICH8 Family USB Universal Host Controller – 2830, and then click Properties.
8. Click the Details tab.
9. Select Hardware Ids in the list. Note the Hardware Ids that are listed. For example, the Hardware Ids may resemble the following:

PCI VEN_8086&DEV_2830&SUBSYS_2A36103C&REV_02
PCI VEN_8086&DEV_2830&SUBSYS_2A36103C
PCI VEN_8086&DEV_2830&CC_0C0300
PCI VEN_8086&DEV_2830&CC_0C03

Step 2: Add the ForceHCResetOnResume registry value for the USB universal host controller

1. Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.
2. Locate and then click registry subkeys that resemble the following:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} Four-digit_number

Notes

• Four-digit_number is a placeholder for the USB devices in the system.
• In this step, you must locate the registry subkeys that represent the system’s USB universal host controllers. The USB universal host controllers typically have the lowest four-digit numbers. For example, the following subkeys typically represent USB universal host controllers:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0000HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0001HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0002HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0003HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0004HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0005HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0006
3. Examine the DriverDesc registry entry and the MatchingDeviceId registry entry in each subkey. Look for a value that closely matches the Hardware Id value for the USB universal host controller name that you found in Device Manager. The following table contains sample values.

Device Manager value Registry value
Intel(R) ICH8 Family USB Universal Host Controller – 2830 DriverDesc=Intel(R) ICH8 Family USB Universal Host Controller – 2830
PCI VEN_8086&DEV_2830 MatchingDeviceId=pci ven_8086&dev_2830

In this example, you must edit the subkey that contains the following registry value:

Intel(R) ICH8 Family USB Universal Host Controller – 2830

This USB universal host controller is located in the following registry subkey:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0000

Therefore, in this example, you must add a ForceHCResetOnResume DWORD entry that has a value of 1 to the registry subkey.

4. Locate and then click the registry subkey that you identified in the previous step. For example, click the following subkey:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} Four-digit_number

Note Four-digit_number is the registry subkey that represents the specific USB universal host controller.For example, the subkey will resemble the following:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Class {36FC9E60-C465-11CF-8056-444553540000} 0000
5. On the Edit menu, point to New, and then click DWORD Value.
6. Type ForceHCResetOnResume for the name of the DWORD, and then press ENTER.
7. Right-click ForceHCResetOnResume, and then click Modify.
8. In the Value data box, type 1, and then click OK.
9. Exit Registry Editor.
10. Restart the computer.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the Applies to section.

Back to the top

MORE INFORMATION

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 (/Feedback.aspx?kbNumber=824684/)Description of the standard terminology that is used to describe Microsoft software updates

Back to the top


APPLIES TO
• Windows Vista Home Premium 64-bit Edition
• Windows Vista Ultimate 64-bit Edition
• Windows Vista Home Premium
• Windows Vista Ultimate
• Windows Vista Enterprise 64-bit Edition
• Windows Vista Home Basic 64-bit Edition
• Windows Vista Business
• Windows Vista Business 64-bit Edition
• Windows Vista Business N
• Windows Vista Business N 64-bit Edition
• Windows Vista Enterprise
• Windows Vista Home Basic
• Windows Vista Home Basic N
• Windows Vista Home Basic N 64-bit Edition
• Windows Vista Starter

Back to the top

Keywords: 
kbfix kbbug kbhotfixserver kbqfe kbprb kbexpertisebeginner KB928631

Back to the top

 

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image