FIX: A new PCI card may not work as expected when the hive-based registry is enabled on a Windows Embedded CE R3-based device


Symptoms


You run a Windows Embedded CE 6.0 R3-based image that enables the hive-based registry on a device. When a new PCI card is added to the device, the PCI bus driver does not adjust resources in the registry correctly. Therefore, the card may not work as expected if the configuration values have changed.

Cause


This problem occurs because the PCI bus driver reads the registry instead of reading the PCI configuration space to determine the resource or length. When a new PCI card is added, the value in the registry is not updated.

Resolution


To resolve this problem, apply this update. After you install this update, the PCI bus driver will always read from the PCI bus configuration space and update the registry with the new value. If a ConfigEntry value is defined, the device has to have configuration in a device-specific way, and the driver will read from specific configuration routine. 

Software update information

A supported software update is now available from Microsoft as Windows Embedded CE 6.0 Monthly Update August 2011. In the "File information" section, the package file name contains the product version, the date, the Microsoft Knowledge Base article number, and the processor type. The package file name format is as follows: 
Product version-yymmdd-kbnnnnnn-processor type
For example, Wincepb60-110128-kb2492159-armv4i.msi is the ARMV4i Windows Embedded CE 6.0 Platform Builder fix that is documented in Knowledge Base article 2492159 and that is contained in the January 2011 monthly update.

To resolve this problem immediately, download this Windows Embedded CE 6.0 Monthly Update from the following Microsoft website.

Microsoft Download Center

Prerequisites

This update is supported only if all previously issued updates for this product have also been installed.

Restart requirement

After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
  • On the Build menu, click Clean Solution, and then click Build Solution.
  • On the Build menu, click Rebuild Solution.
You do not have to restart the computer after you apply this software update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this software update package 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 item in Control Panel.

Installer files
File nameFile sizeDateTime
Wincepb60-110816-kb2562821-armv4i.msi778,24016-Aug-201117:55
Wincepb60-110816-kb2562821-mipsii.msi761,85616-Aug-201117:55
Wincepb60-110816-kb2562821-mipsii_fp.msi761,85616-Aug-201117:55
Wincepb60-110816-kb2562821-mipsiv.msi765,95216-Aug-201117:55
Wincepb60-110816-kb2562821-mipsiv_fp.msi765,95216-Aug-201117:55
Wincepb60-110816-kb2562821-sh4.msi761,85616-Aug-201117:55
Wincepb60-110816-kb2562821-x86.msi733,18416-Aug-201117:55
Files that are included in this update package
File nameFile sizeDateTimePath
Windows embedded ce 6.0_update_kb2562821.htm7,89916-Aug-201117:48110816_kb2562821
Pcicfg.c75,23403-Aug-201119:15Public\Common\Oak\Drivers\Pcibus
Pcibus_lib.lib600,08003-Aug-201119:15Public\Common\Oak\Lib\Armv4i\Debug
Pcibus_lib.lib321,80403-Aug-201119:15Public\Common\Oak\Lib\Armv4i\Retail
Pcibus_lib.lib576,93603-Aug-201119:15Public\Common\Oak\Lib\Mipsii\Debug
Pcibus_lib.lib314,57403-Aug-201119:15Public\Common\Oak\Lib\Mipsii\Retail
Pcibus_lib.lib576,96603-Aug-201119:15Public\Common\Oak\Lib\Mipsii_fp\Debug
Pcibus_lib.lib314,63603-Aug-201119:15Public\Common\Oak\Lib\Mipsii_fp\Retail
Pcibus_lib.lib587,21803-Aug-201119:15Public\Common\Oak\Lib\Mipsiv\Debug
Pcibus_lib.lib319,51403-Aug-201119:15Public\Common\Oak\Lib\Mipsiv\Retail
Pcibus_lib.lib587,24803-Aug-201119:15Public\Common\Oak\Lib\Mipsiv_fp\Debug
Pcibus_lib.lib319,57603-Aug-201119:15Public\Common\Oak\Lib\Mipsiv_fp\Retail
Pcibus_lib.lib520,96603-Aug-201119:15Public\Common\Oak\Lib\Sh4\Debug
Pcibus_lib.lib286,73803-Aug-201119:15Public\Common\Oak\Lib\Sh4\Retail
Pcibus_lib.lib506,47803-Aug-201119:15Public\Common\Oak\Lib\X86\Debug
Pcibus_lib.lib281,68603-Aug-201119:14Public\Common\Oak\Lib\X86\Retail

References


For more information about PCI bus configuration and enumeration, visit the following Microsoft Developer Network (MSDN) website: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