Applies ToWindows 7 Windows Server 2008 R2

Symptoms

In Windows 7 or in Windows Server 2008 R2, you perform asynchronous transfers at a high rate to or from a device that is connected to an IEEE 1394 bus. However, in this case, the IEEE 1394 stack may return incorrect data for a Read or Lock request, or the IEEE 1394 stack may return an incorrect status for a Write, Read, or Lock request.Additionally, the IEEE 1394 stack may incorrectly report a successful completion of a particular asynchronous request that actually times out internally because of an error. Later, the IEEE 1394 stack may incorrectly complete a different asynchronous request that has a STATUS_IO_TIMEOUT status.This problem may affect any device that is connected to an IEEE 1394 bus that communicates through the asynchronous transactions. For example, this problem may occur on external hard disks or on other specialized devices.

Cause

This problem occurs because of an error in the Microsoft IEEE 1394 bus driver stack. The Microsoft IEEE 1394 bus driver stack does not make sure that the Transaction Label (This label is used to match an asynchronous request or response pair) is unique among the uncompleted asynchronous requests for a given node on the IEEE 1394 bus. However, this behavior is required by the IEEE 1394 specification.

Resolution

Hotfix information

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 the problem described in this article. 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 be running Windows 7 or Windows Server 2008 R2. Additionally, you must have the new 1394 bus driver installed in Windows 7, as this hotfix does not apply to the legacy 1394 bus driver on Windows 7.For more information about new and legacy 1394 bus drivers in Windows 7, visit the following Microsoft website:

1394 bus driver in Windows 7

Installation instructions

To enable this hotfix, you must modify the registry. 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 How to back up and restore the registry in Windows

Method 1 (manual): Modify the registry
  1. Click Start, click Run, type Regedit in the Open box, and then click OK.

  2. Locate and then click the following registry subkey: HKEY_LOCAL_SYSTEM\System\CurrentControlSet\Services\1394ohci\parameters

  3. On the Edit menu, point to New, and then click DWORD Value.

  4. Type EnabletLabelBitmap, and then press ENTER.

  5. Right-click EnabletLabelBitmap, and then click Modify.

  6. Type 1 in the Value data box, and then click OK.

  7. Exit Registry Editor.

  8. Restart the computer.

Note To disable this hotfix, you must change the value of this registry entry to 0, or you must delete the registry entry.

Method 2 (automated): Run a Microsoft Visual Basic script (VBScript) 

You may use a VBScript similar to the following sample to automate setting this registry value for the Microsoft Windows 7 IEEE 1394 OpenHCI driver.

'-------------- begin script -------------- On Error Resume Next' Check the version number of the file against our referenceFunction CheckVersion(sVerString)    If osMajorVer = 6 Then        If osMinorVer = 1 Then            If spMajorVer >= 1 Then               aMinVersion = Array(6, 1, 7601, 17062)            Else               aMinVersion = Array(6, 1, 7600, 20756)            End If        Else            CheckVersion = false            Exit Function        End If    Else        CheckVersion = false        Exit Function    End If    If IsNull(sVerString) Or IsEmpty(sVerString) Then        CheckVersion = false        Exit Function    End If    ' Split input on . and make sure there are 4 elements    aVersion = Split(sVerString, ".")    If UBound(aVersion) <> 3 Then        CheckVersion = false        Exit Function    End If    ' Check each element against the reference version number    For i = 0 to 3        If Int(aVersion(i)) < aMinVersion(i) Then            CheckVersion = false            Exit Function        ElseIf Int(aVersion(i)) > aMinVersion(i) Then            CheckVersion = true            Exit Function        End If    Next    ' If we get here then the version numbers are equal. Return true.    CheckVersion = true    Exit FunctionEnd Function' Get the WMI CIMv2 providerSet oLoc = CreateObject("WbemScripting.SWbemLocator")Set oCIMSvc = oLoc.ConnectServer("", "root\CIMV2")' Get the WshShell object (for RegRead and RegWrite)Set WshShell = CreateObject("WScript.Shell")' On Vista and higher, handle UACSet oOSInfo = oCIMSvc.InstancesOf("Win32_OperatingSystem")For Each os in oOSInfo    osMajorVer = Int(Left(os.Version, 1))    osMinorVer = Int(Mid(os.Version, 3, 1))    spMajorVer = os.ServicePackMajorVersion    If osMajorVer >= 6 And WScript.Arguments.length = 0 Then        ' Use ShellExecute with runas verb to prompt for elevation        Set oShell = CreateObject("Shell.Application")        oShell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & _            """ uac", "", "runas", 1        WScript.Quit(0)    End If    Exit ForNext' Check to make sure that 1394ohci.sys is a minimum version that supports this' flagConst SYSTEM_FOLDER = 1Set oFS = CreateObject("Scripting.FileSystemObject")sFileVer = oFS.GetFileVersion(oFS.GetSpecialFolder(SYSTEM_FOLDER). _    SubFolders("drivers").Files("1394ohci.sys").Path)If Not CheckVersion(sFileVer) Then    WScript.Echo("The version of 1394ohci.sys on your system does not support the EnabletLabelBitmap flag. " & _        "No changes to your system have been made.")    WScript.Quit(0)End If' Write the EnabletLabelBitmap value 1 (enabled) to the registrysRegPath = "HKLM\SYSTEM\CurrentControlSet\Services\1394ohci\parameters\EnabletLabelBitmap"WshShell.RegWrite sRegPath, 1, "REG_DWORD"' Check if write was successful. If not, chances are UAC is enabled' and this is a non-elevated command promptIf Err.Number <> 0 Then    WScript.Echo("Error writing EnabletLabelBitmap registry value. " & _        "Make sure you are running from an elevated command prompt")    WScript.Quit(-1)End IfWScript.Echo("Finished setting EnabletLabelBitmap flag for the 1394 OpenHCI driver. " & _    "Please reboot your system for this change to take effect")'-------------- end script -------------- 

Restart requirement

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

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows 7 and Windows Server 2008 R2 file information notes

Important Windows 7 hotfixes and Windows Server 2008 R2 hotfixes are included in the same packages. However, hotfixes on the Hotfix Request page are listed under both operating systems. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows 7/Windows Server 2008 R2" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.

  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008 R2 and for Windows 7" section. MUM and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.

For all supported x86-based versions of Windows 7

File name

File version

File size

Date

Time

Platform

1394bus.sys

6.1.7600.16385

54,784

13-Jul-2009

23:51

x86

1394ohci.sys

6.1.7600.20756

164,352

16-Jul-2010

08:44

x86

Ohci1394.sys

6.1.7600.16385

62,464

13-Jul-2009

23:51

Not applicable

For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

1394bus.sys

6.1.7600.16385

68,096

14-Jul-2009

00:06

x64

1394ohci.sys

6.1.7600.20756

229,376

16-Jul-2010

09:02

x64

Ohci1394.sys

6.1.7600.16385

72,832

14-Jul-2009

00:06

x64

For all supported IA-64-based versions of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

1394bus.sys

6.1.7600.16385

182,784

14-Jul-2009

00:22

IA-64

1394ohci.sys

6.1.7600.20756

514,048

16-Jul-2010

08:23

IA-64

Ohci1394.sys

6.1.7600.16385

172,032

14-Jul-2009

00:22

Not applicable

Workaround

To work around this problem, refer to the "Resolution" section of KB2004130. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

2004130 IEEE 1394 Asynchronous requests complete with incorrect data or status and/or time out under high transfer rates

Status

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

More Information

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

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

Additional file information

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7

File name

Package_1_for_kb2261116~31bf3856ad364e35~x86~~6.1.1.0.mum

File version

Not Applicable

File size

1,832

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_2_for_kb2261116~31bf3856ad364e35~x86~~6.1.1.0.mum

File version

Not Applicable

File size

1,832

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_3_for_kb2261116~31bf3856ad364e35~x86~~6.1.1.0.mum

File version

Not Applicable

File size

1,831

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_for_kb2261116_rtm~31bf3856ad364e35~x86~~6.1.1.0.mum

File version

Not Applicable

File size

2,199

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

X86_1394.inf_31bf3856ad364e35_6.1.7600.20756_none_fbb0bf4d803fe446.manifest

File version

Not Applicable

File size

3,572

Date (UTC)

16-Jul-2010

Time (UTC)

19:13

Platform

Not Applicable

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name

Amd64_1394.inf_31bf3856ad364e35_6.1.7600.20756_none_57cf5ad1389d557c.manifest

File version

Not Applicable

File size

3,576

Date (UTC)

16-Jul-2010

Time (UTC)

19:15

Platform

Not Applicable

File name

Package_1_for_kb2261116~31bf3856ad364e35~amd64~~6.1.1.0.mum

File version

Not Applicable

File size

1,842

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_2_for_kb2261116~31bf3856ad364e35~amd64~~6.1.1.0.mum

File version

Not Applicable

File size

1,842

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_3_for_kb2261116~31bf3856ad364e35~amd64~~6.1.1.0.mum

File version

Not Applicable

File size

1,841

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_for_kb2261116_rtm~31bf3856ad364e35~amd64~~6.1.1.0.mum

File version

Not Applicable

File size

2,213

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

Additional files for all supported IA-64-based versions of Windows Server 2008 R2

File name

Ia64_1394.inf_31bf3856ad364e35_6.1.7600.20756_none_fbb26343803ded42.manifest

File version

Not Applicable

File size

3,574

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_1_for_kb2261116~31bf3856ad364e35~ia64~~6.1.1.0.mum

File version

Not Applicable

File size

1,837

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

File name

Package_for_kb2261116_rtm~31bf3856ad364e35~ia64~~6.1.1.0.mum

File version

Not Applicable

File size

1,450

Date (UTC)

16-Jul-2010

Time (UTC)

19:10

Platform

Not Applicable

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.