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).
This problem occurs because of bugs in the Pcmcia.sys module.
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:
How to obtain the latest Windows XP service pack
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: Note
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.
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
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.
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.
The following issues pertain to the problems that are mentioned in the "Symptoms" section.
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.
The Device ID generated by PCMCIA for a child function has the following format:
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:
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.