Applies ToWindows 7 Windows Vista Windows XP

Support for Windows Vista Service Pack 1 (SP1) ends on July 12, 2011. To continue receiving security updates for Windows, make sure you're running Windows Vista with Service Pack 2 (SP2). For more information, refer to this Microsoft web page: Support is ending for some versions of Windows.

Symptoms

You try to transfer files to or from a device that is connected to a universal serial bus (USB) 2.0 hub in Windows XP, in Windows Vista, or in Windows 7. When you do this, you may experience one or more of the following symptoms:

  • When you try to transfer files, the file transfer fails. You may receive an error message about a delayed write failure. The error message that you receive may vary, depending on the device that you are using.

  • Other USB devices that are connected to the USB 2.0 hub may stop working. You may receive notification that the USB devices have been disconnected or reconnected.

  • Power may be disabled on USB devices. Then, the devices are reenumerated.

  • A USB keyboard may stop working correctly. For example, the behavior of keys may be irregular. When you press a key, the key entry may be repeated many times. Alternatively, when you press a key, nothing may occur at all.

Note Some computers have an internal USB 2.0 hub. For example, a portable computer may have a single USB bus and may use an internal USB hub to provide two or more available USB ports on the computer. Therefore, this issue may occur if the device is connected directly to a USB port on the computer.This issue may also occur if the device is internal and is connected internally to the internal USB 2.0 hub. For example, this problem might occur if you use a portable computer that has an internal Bluetooth radio that is connected to an internal USB 2.0 hub. When you use this Bluetooth device to transfer the files to another device, you may experience the symptoms that are described in the "Symptoms" section.

Cause

This problem may occur when there is lots of traffic on the USB 2.0 hub, and you transfer files to a low-speed or a full-speed USB device. The problem does not occur when you transfer files to a high-speed USB device.For more information about USB 2.0 data transfer rates, see the "More Information" section. Additionally, this problem has been observed on computers that use Transmeta processors (CPUs).

Resolution

Resolution for Windows 7

To resolve this problem in Windows 7, add a EnHcSoftRetry registry entry with a DWORD value of 1 under the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<hw id>\<instance id>\Device ParametersNote To obtain <hw id> and <instance id>, open the Device Manager property page for each EHCI USB host controller, click the Details tab, and then select Device Instance Path in the list. Most systems have only one or two EHCI host controllers, so this should not be too difficult.

Hotfix information for Windows Vista

A supported hotfix is 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 software update that contains this hotfix.If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix. Note If additional issues occur or if 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. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=supportNote The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Windows Vista installed. After you install this hotfix, you have to set the EnHcSoftRetry registry entry under the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<hw id>\<instance id>\Device Parameters The registry entry is configured to have a DWORD value of 1. This value enables the Soft-Retry code path that is used in this hotfix. Note To obtain <hw id> and <instance id>, open the Device Manager property page for each EHCI USB host controller, click the Details tab, and then select Device Instance Path in the list. Most systems have only one or two EHCI host controllers, so this should not be too difficult.

Restart requirement

You have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

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 tool in Control Panel.

Windows Vista, x86-based version

File name

File version

File size

Date

Time

Platform

Usbccgp.sys

6.0.6000.20809

73,216

09-Apr-2008

02:02

x86

Usbhub.sys

6.0.6000.20809

194,048

09-Apr-2008

02:03

x86

Usbccgp.sys

6.0.6001.22153

73,216

09-Apr-2008

02:12

x86

Usbhub.sys

6.0.6001.22153

194,560

09-Apr-2008

02:12

x86

Hccoin.dll

6.0.6000.20809

8,704

09-Apr-2008

04:04

x86

Hcrstco.dll

6.0.6000.20809

14,336

09-Apr-2008

04:04

x86

Usbd.sys

6.0.6000.20809

5,888

09-Apr-2008

02:02

Not Applicable

Usbehci.sys

6.0.6000.20809

38,912

09-Apr-2008

02:02

x86

Usbhub.sys

6.0.6000.20809

194,048

09-Apr-2008

02:03

x86

Usbohci.sys

6.0.6000.20809

19,456

09-Apr-2008

02:02

x86

Usbport.sys

6.0.6000.20809

224,768

09-Apr-2008

02:02

x86

Usbuhci.sys

6.0.6000.20809

23,552

09-Apr-2008

02:02

x86

Hccoin.dll

6.0.6001.22153

8,704

09-Apr-2008

05:06

x86

Hcrstco.dll

6.0.6001.22153

15,872

09-Apr-2008

05:06

x86

Usbd.sys

6.0.6001.22153

5,888

09-Apr-2008

02:12

Not Applicable

Usbehci.sys

6.0.6001.22153

39,936

09-Apr-2008

02:12

x86

Usbhub.sys

6.0.6001.22153

194,560

09-Apr-2008

02:12

x86

Usbohci.sys

6.0.6001.22153

19,456

09-Apr-2008

02:12

x86

Usbport.sys

6.0.6001.22153

226,304

09-Apr-2008

02:12

x86

Usbuhci.sys

6.0.6001.22153

23,552

09-Apr-2008

02:12

x86

Windows Vista, x64-based version

File name

File version

File size

Date

Time

Platform

Usbccgp.sys

6.0.6000.20809

95,744

09-Apr-2008

02:29

x64

Usbhub.sys

6.0.6000.20809

268,800

09-Apr-2008

02:29

x64

Usbccgp.sys

6.0.6001.22153

95,744

09-Apr-2008

02:41

x64

Usbhub.sys

6.0.6001.22153

269,824

09-Apr-2008

02:42

x64

Hccoin.dll

6.0.6000.20809

10,752

09-Apr-2008

04:27

x64

Hcrstco.dll

6.0.6000.20809

16,384

09-Apr-2008

04:27

x64

Usbd.sys

6.0.6000.20809

7,552

09-Apr-2008

02:29

x64

Usbehci.sys

6.0.6000.20809

48,640

09-Apr-2008

02:29

x64

Usbhub.sys

6.0.6000.20809

268,800

09-Apr-2008

02:29

x64

Usbohci.sys

6.0.6000.20809

24,064

09-Apr-2008

02:29

x64

Usbport.sys

6.0.6000.20809

258,048

09-Apr-2008

02:29

x64

Usbuhci.sys

6.0.6000.20809

29,184

09-Apr-2008

02:29

x64

Hccoin.dll

6.0.6001.22153

10,752

09-Apr-2008

04:41

x64

Hcrstco.dll

6.0.6001.22153

17,920

09-Apr-2008

04:41

x64

Usbd.sys

6.0.6001.22153

7,680

09-Apr-2008

02:41

x64

Usbehci.sys

6.0.6001.22153

49,664

09-Apr-2008

02:41

x64

Usbhub.sys

6.0.6001.22153

269,824

09-Apr-2008

02:42

x64

Usbohci.sys

6.0.6001.22153

24,064

09-Apr-2008

02:41

x64

Usbport.sys

6.0.6001.22153

259,584

09-Apr-2008

02:41

x64

Usbuhci.sys

6.0.6001.22153

29,184

09-Apr-2008

02:41

x64

Windows Vista, IA64-based version

File name

File version

File size

Date

Time

Platform

Usbccgp.sys

6.0.6001.22153

208,384

09-Apr-2008

02:31

IA-64

Usbhub.sys

6.0.6001.22153

853,504

09-Apr-2008

02:31

IA-64

Hccoin.dll

6.0.6001.22153

22,528

09-Apr-2008

04:20

IA-64

Hcrstco.dll

6.0.6001.22153

24,576

09-Apr-2008

04:20

IA-64

Usbd.sys

6.0.6001.22153

11,648

09-Apr-2008

02:31

Not Applicable

Usbehci.sys

6.0.6001.22153

122,368

09-Apr-2008

02:31

IA-64

Usbhub.sys

6.0.6001.22153

853,504

09-Apr-2008

02:31

IA-64

Usbohci.sys

6.0.6001.22153

58,368

09-Apr-2008

02:31

IA-64

Usbport.sys

6.0.6001.22153

645,632

09-Apr-2008

02:31

IA-64

Usbuhci.sys

6.0.6001.22153

80,384

09-Apr-2008

02:31

IA-64

Hotfix information for Windows XP

A supported hotfix is 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 software update that contains this hotfix.If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix. Note If additional issues occur or if 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. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=supportNote The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Windows XP SP2 installed. After you install this hotfix, the following registry subkey is automatically added and configured:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USB\EnSoftRetry The registry key is configured to have a DWORD value of 1. This value enables the Soft-Retry code path that is used in this hotfix. If you install a later version of this hotfix (a hotfix that contains later versions of Usbport.sys and Usbehci.sys), including Windows XP SP3, this registry value will not be automatically added and configured. The registry value must be added manually and configured as described above to enable the Soft-Retry code path that is provided in this hotfix.

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 tool in Control Panel.

File name

File version

File size

Date

Time

Platform

SP requirement

Service branch

Usbehci.sys

5.1.2600.2783

27,264

25-Oct-2005

23:39

x86

SP2

SP2QFE

Usbport.sys

5.1.2600.2783

143,104

25-Oct-2005

23:39

x86

SP2

SP2QFE

Behavior after the hotfix is applied

When this hotfix is applied and the Soft-Retry functionality is enabled with the appropriate registry value (depending on the Windows version, as described above), a USB transfer that fails for specific reasons is silently retried instead of completed and given a "failure" status. When this process occurs, USB client device drivers may not receive notification that communication with the device failed because of a lower-level error on the USB bus. If the affected USB device driver requires accurate error reporting to function correctly, you should not apply this hotfix. Or, you should disable the Soft-Retry functionality by setting the appropriate registry value to 0 or by deleting the Soft-Retry registry value entirely (depending on the Windows version, as described above). A Soft-Retry process will occur when the following conditions are true:

  • The registry value is enabled

  • The error that is reported by the USB Enhanced Host Controller Interface (EHCI) host controller for the completed transfer is one of the following errors:

    • Transaction error (XactErr)

    • Missed micro-frame

    These error conditions are documented in the USB EHCI controller specification as follows: Transaction Error (XactErr). Set to a one by the Host Controller during status update in the case where the host did not receive a valid response from the device (Timeout, CRC, Bad PID, etc.). Refer to Section 4.15.1.1 for summary of the conditions that affect this bit. Missed Micro-Frame. This bit is set when the host controller detected that a host-induced hold-off caused the host controller to miss a required complete-split transaction.

For more information about the USB EHCI specification, visit the following Web site:

http://www.intel.com/technology/usb/ehcispec.htm

Status

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

More Information

Data transfer rates that USB 2.0 supports

USB 2.0 supports the following maximum data transfer rates, depending on the amount of bus bandwidth that a device requires:

  • 1.5 megabits per second (Mbps) for low-speed devices that do not require lots of bandwidth. These devices include mouse devices and keyboards.

  • 12 Mbps for full-speed, higher-performing devices. These devices include storage devices, speakers, scanners, and video cameras.

  • 480 Mbps for high-speed devices. These devices include mass storage devices and Hi-Speed CD or DVD recorders.

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

824684Description of the standard terminology that is used to describe Microsoft software updates

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.