Performance of 1394 devices may decrease after installing Windows Vista or Windows XP SP2 or SP3

Last Revision Date: 11/25/2015

After you update your computer to Microsoft Windows XP Service Pack 2 (SP2), XP Service Pack 3 (SP3), or Vista, the performance of your 1394a or 1394b FireWire devices may be greatly decreased if your host controller was not previously configured to use the FirePRO driver. FireWire cameras used with Windows7 and newer operating systems do not experience this decreased performance. The following article describes this issue in more detail and provides information on possible solutions.

The problem occurs if you connect a 1394a or 1394b FireWire device to a 1394b bus, or a 1394b device to a 1394a bus. Windows XP Service Pack 2 and Service Pack 3 incorrectly force S800 (1394b) and S400 (1394a) nodes to S100 speeds while Windows Vista forces S800 (1394b) nodes to S400 speeds. The following Microsoft knowledge base article explains the problem for Windows XP Service Pack 2 users, and provides a Hotfix designed to enable devices that run at S400 speeds to operate correctly.

It is important to note that initial test results show that devices running at S400 speeds (400 Mbps) operate correctly using the Hotfix. However, devices running at S800 speeds (such as Dragonfly EXPRESS at 120 Hz) do not operate correctly using this Hotfix. To determine the speeds (e.g., S400/S800) required to operate at various frame rates, please consult the Isochronous Bandwidth Requirements section of the Register Reference for Digital Cameras.

Workaround #1 - Configure the Host Controller to Use the FirePRO Driver

This workaround is recommended for users of the FlyCapture SDK. Refer to the "What camera driver should I use?" for advantages and disadvantages of using the FirePRO driver. This driver can be installed on compatible 1394b cards using the DriverControlGUI program included with the FlyCapture SDK. Access this program from the Windows Start Menu\Point Grey Research\PGR FlyCapture\Utilities. Alternatively, you can access the driver files, pgr1394.sys and pgr1394.inf, in the driver directory of the FlyCapture installation.

Workaround #2 - Downgrade the Windows 1394 Drivers

As an alternative workaround to this issue, users can downgrade to the 1394 drivers that come with Service Pack 1. The fixSP2g.exe program provides an easy mechanism for implementing this, and is available by contacting Technical Support. It can be run against Windows XP SP2 or SP3.

Note: fixSP2.exe does not run against Windows Vista. To attain S800 speed on a Vista machine, you must implement Workaround #1.

The fixSP2g.exe does not affect other Windows functionality, other than the 1394 drivers. The program also allows you to revert back to your SP2 or SP3 drivers.

Note: If the Automatic Updates feature of Windows Update is enabled, your drivers downgrade may be reversed without any notice. If this happens, run fixSP2g.exe again. Alternatively, disable Automatic Updates (not recommended).

If a new PC came with Windows XP SP2 or SP3 already installed, running fixSP2g.exe fails because there are no Service Pack 1 drivers available on the system. To resolve this issue, copy the C:\WINDOWS\Driver Cache\i386\sp1.cab cabinet file from any Windows XP Service Pack 1 machine to the same directory on the stock SP2 machine, and rerun fixSP2g.exe. If you do not have access to a WinXP SP1 machine or the sp1.cab file, contact Technical Support.

The fixSP2g.exe program will also fail if the Hotfix above is installed or any other Hotfixes are installed that result in mismatched ohci1394.sys and 1394bus.sys driver versions. If the above Hotfix 885222 is installed, navigate to C:\WINDOWS\$NtUninstallKB885222$\spuninst and run the uninstall executable. This returns your system back to a state where the driver versions match, at which point you can run fixSP2g.exe. Alternatively, you can follow the instructions above for manually downgrading your drivers.