Article ID: 924785
Article Last Modified on 10/20/2006
APPLIES TO
- Microsoft Windows CE 5.0
SYMPTOMS
When a Dynamic Host Configuration Protocol (DHCP) server does not respond in 1000 ms to a Microsoft Windows CE 5.0-based device DHCP client discovery request, the Windows CE 5.0-based device is automatically assigned an IP address. This automatic IP addressing process is known as Auto-IP. Additionally, Auto-IP assigns a linklocal IP address of 169.254.0.0 with a subnet mask address of 255.255.0.0.
CAUSE
This problem occurs because the time-out value that is defined in the DHCP_TIMEOUT_AUTOCFG environment variable is too short for some DHCP servers to reply to a DHCP discovery request.
RESOLUTION
Software update information
A supported software update is now available from Microsoft as Windows CE 5.0 Platform Builder Monthly Update (September 2006). You can confirm this by scrolling to the "File information" section of this article. The package file name contains the product version, date, Knowledge Base article number, and processor type. The package file name format is:
Product version-yymmdd-kbnnnnnn-processor type
For example: Wincepb50-060503-kb917590-armv4i.msi is the ARMV4i Windows CE 5.0 Platform Builder fix that is documented in KB article 917590 and that is contained in the May 2006 monthly update. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:
837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products
Prerequisites
This software update is supported only if all previously issued software updates for this product have also been applied.
Restart requirement
After you apply this software update, you must perform a clean build of the whole operating system. To clean the operating system, click Clean on the Build menu. To build the operating system, click Build Platform on the Build menu. You do not have to restart the computer after you apply this software update.
Software update replacement information
This software update does not replace any other software updates.
File information
The English version of this software update package has the file attributes or the later file attributes that are listed in the following table.
File name | File size | Date | Time |
---|---|---|---|
Wincepb50-060920-kb924785-armv4i.msi | 642,048 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-mipsii.msi | 651,264 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-mipsii_fp.msi | 651,264 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-mipsiv.msi | 653,312 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-mipsiv_fp.msi | 653,312 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-sh4.msi | 638,976 | 20-Sep-2006 | 21:52 |
Wincepb50-060920-kb924785-x86.msi | 625,152 | 20-Sep-2006 | 21:52 |
The English version of this software update 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.
File name | File size | Date | Time | Path |
---|---|---|---|---|
Dhcp.c | 84,704 | 08-Sep-2006 | 01:01 | Private\Winceos\Comm\Dhcp |
Dhcpp.h | 9,550 | 08-Sep-2006 | 01:01 | Private\Winceos\Comm\Dhcp |
Packet.c | 32,633 | 08-Sep-2006 | 01:01 | Private\Winceos\Comm\Dhcp |
Dhcp.lib | 312,276 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Armv4i\Debug |
Dhcp.lib | 166,348 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Armv4i\Retail |
Dhcp.lib | 317,266 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Mipsii\Debug |
Dhcp.lib | 171,312 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Mipsii\Retail |
Dhcp.lib | 317,304 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsii_fp\Debug |
Dhcp.lib | 171,332 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsii_fp\Retail |
Dhcp.lib | 321,628 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsiv\Debug |
Dhcp.lib | 172,426 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsiv\Retail |
Dhcp.lib | 321,670 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsiv_fp\Debug |
Dhcp.lib | 172,448 | 08-Sep-2006 | 01:01 | Public\Common\Oak\Lib\Mipsiv_fp\Retail |
Dhcp.lib | 281,338 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Sh4\Debug |
Dhcp.lib | 154,972 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\Sh4\Retail |
Dhcp.lib | 276,554 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\X86\Debug |
Dhcp.lib | 149,668 | 08-Sep-2006 | 01:00 | Public\Common\Oak\Lib\X86\Retail |
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATION
This hotfix added a new registry subkey that lets you configure a custom default time-out value. The following registry subkey indicates a default value of 1000 ms (3E8 hexadecimal):
HKEY_LOCAL_MACHINE\Comm\<AdaptorName>\Parms\TCPIP
"AutoTimeout"=dword:3E8
To help troubleshoot the various times, add the following debug code. Open the <WINCE500>\PRIVATE\WINCEOS\COMM\DHCP\PACKET.C file, and then replace line 966 with the following two lines.
Timeval.tv_usec = (cTimeLeft % 1000)*1000; DEBUGMSG(ZONE_AUTOIP, (TEXT("SendDhcpPkt: Timeval = %d s, %d us\n"), Timeval.tv_sec, Timeval.tv_usec));
This change shows how much the AddFuzz() function changes the configured time-out value.
Keywords: kbpubtypekc kbqfe kbfix kbbug KB924785