Microsoft KB Archive/318213

From BetaArchive Wiki

Article ID: 318213

Article Last Modified on 1/27/2006



APPLIES TO

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional



This article was previously published under Q318213

SYMPTOMS

Consider the following scenario. In Microsoft Windows XP, you install a multifunction PCMCIA card that fully implements the PCMCIA multifunction standards. To do this, the card uses the system-supplied parent INF file (mf.inf) or any other compatible INF file that does not have override configurations for the child functions. In this scenario, you may experience one or more of the following installation issues:

  • Issue 1: The last child function on the card is not installed. For example, if you install a dual I/O card, you unexpectedly find only one COM port installed instead of two ports when you look in the Device Manager.
  • Issue 2: All child functions have the same device description.
  • Issue 3: Some of the child functions do not start (error code 10).


CAUSE

This problem occurs because of bugs in the Pcmcia.sys module.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows XP. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

322389 How to obtain the latest Windows XP service pack


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.

  Date        Time   Version      Size     File name
  ---------------------------------------------------
  2002-11-03  15:27  5.1.2600.34  113,000  Pcmcia.sys

WORKAROUND

To work around this issue, install the multifunction card by using a parent INF file that has override configurations. These override configurations should have registry entries that define information about the child functions, such as their hardware IDs and I/O resources maps.

For more information, visit the following Microsoft Developer Network (MSDN) Web site:

In this case, the multifunction driver (Mf.sys) itself enumerates the child functions by using the information that is already written in the registry by the parent INF file, instead of using PCMCIA to obtain this information from the device tuples.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Windows XP Service Pack 1.

MORE INFORMATION

The following issues pertain to the problems that are mentioned in the "Symptoms" section.

Issue 1

Consider the following scenario. The PnP Manager sends an IRP_MN_QUERY_DEVICE_RELATIONS request to the multifunction driver to obtain the list of physical device objects (PDOs) for the child functions of a multifunction PCMCIA card. In this scenario, no PDO is created for the last child function. Therefore, the last child function is not added to the list of children of the parent.

Issue 2

The Device ID generated by PCMCIA for a child function has the following format:

PCMCIA\ManufacturerName-ProductName-DEVFunctionNumber-Crc


Consider the following scenario. In Microsoft Windows XP, you install a multifunction PCMCIA card that fully implements the PCMCIA multifunction standards. To do this, the card uses the system-supplied parent INF file (mf.inf) or any other compatible INF file that does not have override configurations for the child functions. In this scenario, you may experience one or more of the following installation issues:

Issue 3

When you install a multifunction PCMCIA card, some of the child functions may not be started by their function drivers as expected (error code 10). This behavior is caused by a problem in the Pcmcia.sys file that occurs when it fills in the resource requirements for the PCMCIA card that are obtained from the tuples information. The DevicePrivate resource descriptors are not correctly created for the child functions of multifunction PCMCIA cards. The DevicePrivate resource descriptor of every function provides information, such as the base address of the configuration registers and the configuration data to be written to the Configuration Option Register for that function. Therefore, some of the child functions are not correctly configured and do not start.


Additional query words: kbBaseOS

Keywords: kbbug kbfix kbkmode kbwdm kbplugplay kbqfe kbfile kboswin2000fix kbwinxpsp1fix kbhotfixserver KB318213