Infrared data transfer may be slower in Windows XP or in Windows 2000 (823979)



The information in this article applies to:

  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional SP1
  • Microsoft Windows XP Professional SP1a
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Home Edition SP1
  • Microsoft Windows XP Home Edition SP1a
  • Microsoft Windows 2000 Professional SP4
  • Microsoft Windows XP Service Pack 2, when used with:
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional

Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

File transfers that are performed by using infrared data association (IrDA) may be much slower or unusable on notebook systems, on portable systems, or on similar systems. The file transfers involve Microsoft Windows XP or Microsoft Windows 2000. This problem occurs when the processor supports the C3 power saving mode of operation.

Additionally, when a print job uses the IrDA port, the print job may time out and may stop printing. Or, the print job may take a very long time to finish.

CAUSE

Typically, this problem occurs because of buffer underrun conditions. The buffer underrun conditions are caused by latency in the C3 power state transition.

WORKAROUND

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

A registry flag is available that enables Windows 2000 C3 behavior.

Important This registry flag does not work on Windows XP ACPI 2.0 systems.

To set this flag, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. In Registry Editor, locate the following key. Click the following key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Processor

  3. On the Edit menu, click New, and then click DWORD Value.
  4. Type CStateFlags to change the name.
  5. Right-click CStateFlags, and then click Modify.
  6. Change Value data to 8.
  7. Quit Registry Editor.

An alternative workaround may be used if disabling C3 is not an acceptable option for your power management requirements. The alternative workaround should also be used if your system is ACPI 2.0, and therefore the CStateFlags key is not applicable. The alternative workaround can reduce by up to 85% how frequently you may experience this problem between system restarts.

To use the alternative workaround, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. In Registry Editor, locate the following key. Click the following key.

    Note If the Irda registry key does not exist on your system, this alternative workaround does not work.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Irda\Parameters

  3. Right-click WindowsSize, and then click Modify.
  4. Change Value data to B (hexadecimal).
  5. Quit Registry Editor.
  6. Restart the system.
Sometimes, to resolve this issue, you can contact your hardware vendor for information about BIOS updates that are designed to reduce C3 state transition latency.

STATUS

This is a known problem and is currently under investigation

MORE INFORMATION

For more information about processor performance control, see the "Windows native processor performance control" white paper at the following Microsoft site:

Modification Type:MinorLast Reviewed:3/25/2005
Keywords:kbtshoot kbprb KB823979 kbAudEndUser kbAudDeveloper