Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: DHCP connection takes a long time when the DHCP server is far away from the AP in Windows Embedded Compact 7


View products that this article applies to.

This article describes an issue in which the Dynamic Host Configuration Protocol (DHCP) connection takes a long time when the DHCP server is far away from the access point (AP) during Wi-Fi roaming, or device suspending or resuming in Windows Embedded Compact 7.
An update is available to resolve this issue. Before you install this update, all previously issued updates for this product must be installed.

↑ Back to the top


More Information

Software update information


Download information

The Windows Embedded Compact 7 Monthly Update (July 2014) is now available from Microsoft. To download this Windows Embedded Compact 7 monthly update, go to the following Microsoft Download Center website:


The kind of processor that each file applies to is visible in the name of each file in the "File information" section.

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.

About this update

After you apply this update, some new registry settings that help resolve this issue are available.
The following registry settings are added to the [HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms] registry subkey:
  • ReUseDhcpInfoWhileAPRoaming: REG_DWORD
  • ForceReleaseLease: REG_DWORD
  • PersistDuringRelease: REG_DWORD
  • ContinueAutoIPAfterRelease: REG_DWORD
  • ForceRenewLease: REG_DWORD
  • SkipRenewIfAutoIpRunning: REG_DWORD
  • StartDORA: REG_DWORD
  • DhcpGlobalFirstRetransmitInterval: REG_DWORD
  • DhcpGlobalMaxRetransmitInterval: REG_DWORD
  • DhcpGlobalMaxRetries: REG_DWORD
  • DhcpGlobalLastSendPacketDelay: REG_DWORD
  • DhcpGlobalInitDelayInterval: REG_DWORD
  • DhcpGlobalConstantRate: REG_DWORD
The following registry settings are added to the [HKEY_LOCAL_MACHINE\Comm\[AdapterName]\Parms\Tcpip] registry subkey:
  • ReUseDhcpInfoWhileAPRoaming: REG_DWORD
  • MaxPingAttempts: REG_DWORD
  • PingTarget: REG_MULTI_SZ
  • ForceReleaseLease: REG_DWORD
  • PersistDuringRelease: REG_DWORD
  • ContinueAutoIPAfterRelease: REG_DWORD
  • ForceRenewLease: REG_DWORD
  • SkipRenewIfAutoIpRunning: REG_DWORD
  • StartDORA: REG_DWORD
  • DhcpFirstRetransmitInterval: REG_DWORD
  • DhcpMaxRetransmitInterval: REG_DWORD
  • DhcpMaxRetries: REG_DWORD
  • DhcpRenewFirstRetransmitInterval: REG_DWORD
  • DhcpRenewMaxRetransmitInterval: REG_DWORD
  • DhcpRenewMaxRetries: REG_DWORD
  • DhcpLastSendPacketDelay: REG_DWORD
  • DhcpInitDelayInterval: REG_DWORD
  • DhcpBootPFlagType: REG_DWORD
The details about the registry settings are as follows:
  • ReUseDhcpInfoWhileAPRoaming
    The default value data is 0. It means the renewal attempt is sent during media connection, and the DORA attempt is sent when the renewal fails. When the value data is set to 1, DHCP tries to ping the devices one-by-one that are denoted by PingTarget during media connection. If the ping action succeeds, the previous IP is used. If the ping fails, DHCP sends a request to renew the IP address. If the renewal also fails, DHCP tries to send DORA.
  • MaxPingAttempts
    The default value data is 3. When ReUseDhcpInfoWhileAPRoaming is set to true, DHCP may try to ping a device that is denoted by PingTarget. This registry sets the number of retry times that DHCP takes for each target device.
  • PingTarget
    The default value data is gateway. When ReUseDhcpInfoWhileAPRoaming is set to true, this registry contains one or more values of "gateway," "dhcpserver," "DNS1," "DNS2," "DNS3," and "DNS4." They indicate the device types that are pinged. If one of the target types is not valid, DHCP skips that invalid type and pings the next one.
  • PingTimeout
    The default value data is 1000 milliseconds. This registry sets the time-out value for each ping attempt.
  • ForceReleaseLease
    The default value data is 0. In this situation, if the media is in disconnection state, DHCP does not release the IP address. When the value data is set to 1, DHCP releases the IP address even if the media is in disconnection state during the DHCP release.
  • PersistDuringRelease
    The default value data is 0. In this situation, the IP address is deleted during the DHCP release. When the value data is set to 1, the IP address is not deleted during the DHCP release.
  • ContinueAutoIPAfterRelease
    The default value data is 0. In this situation, DHCP does not enter the auto IP phase after the DHCP release. When the value data is set to 1, DHCP enters the auto IP state after the DHCP release.
  • SkipRenewIfAutoIpRunning
    The default value data is 0. When the value data is set to 1, if DHCP is already in the auto IP state, it does not renew itself during the DHCP renewal. It periodically sends renewal or DORA to obtain the IP address.
  • StartDORA
    The default value data is 0. When the value data is set to 1, DHCP does not renew the old IP address in the DHCP media connection phase. It sends DORA to obtain a new IP address.
  • DhcpGlobalFirstRetransmitInterval
    The default value data is 500 milliseconds. It sets the DHCP first interval time that DHCP takes to send renewal or DORA packets for all adapters, except for the adapter that has its own DhcpFirstRetransmitInterval or DhcpRenewFirstRetransmitInterval value.
  • DhcpGlobalMaxRetransmitInterval
    The default value data is 64000 milliseconds. It sets the DHCP maximum interval time that DHCP takes to send renewal or DORA packets for all adapters, except for the adapter that has its own DhcpMaxRetransmitInterval or DhcpRenewMaxRetransmitInterval value.
  • DhcpGlobalMaxRetries
    The default value data is 6. It sets the DHCP maximum number of retry times for sending renewal or DORA packets for all adapters, except for the adapter that has its own DhcpMaxRetries or DhcpRenewMaxRetries value.
  • DhcpGlobalLastSendPacketDelay
    The default value data is 8000 milliseconds. It sets the delay time of DHCP last sending for all adapters, except for the adapter that has its own DhcpLastSendPacketDelay value.
  • DhcpGlobalInitDelayInterval
    The default value data is 5000 milliseconds. It sets the delay time of DHCP first sending for all adapters, except for the adapter that has its own DhcpInitDelayInterval value.
  • DhcpFirstRetransmitInterval
    The default value data is DhcpGlobalFirstRetransmitInterval. It sets the DHCP first interval time for sending DORA packets.
  • DhcpMaxRetransmitInterval
    The default value data is DhcpGlobalMaxRetransmitInterval. It sets the DHCP maximum interval time for sending DORA packets.
  • DhcpMaxRetries
    The default value data is DhcpGlobalMaxRetries. It sets the DHCP maximum number of retry times for sending DORA packets.
  • DhcpRenewFirstRetransmitInterval
    The default value data is DhcpGlobalFirstRetransmitInterval. It sets the DHCP first interval time for sending renewal packets.
  • DhcpRenewMaxRetransmitInterval
    The default value data is DhcpGlobalMaxRetransmitInterval. It sets the DHCP maximum interval time for sending renewal packets.
  • DhcpRenewMaxRetries
    The default value data is DhcpGlobalMaxRetries. It sets the DHCP maximum number of retry times for sending renewal packets.
  • DhcpLastSendPacketDelay
    The default value data is 8000 milliseconds. It sets the delay time of DHCP last sending.
  • DhcpInitDelayInterval
    The default value data is 0 milliseconds. It sets the delay time before the first sending.
  • DhcpGlobalConstantRate
    The default value data is 0. It means that the value of the DhcpFirstRetransmitInterval registry is multiplied by two after each attempt. When the value data is set to 1, the value of the DhcpFirstRetransmitInterval registry is not multiplied by two after each attempt. It applies to all adapters.
  • DhcpConstantRate
    The default value data is 0. It means that the value of the DhcpFirstRetransmitInterval registry is multiplied by two after each attempt. When the value data is set to 1, the value of the DhcpFirstRetransmitInterval registry is not multiplied by two after each attempt. It applies to an individual adapter.
  • DhcpBootPFlagType
    Its value controls whether DHCP uses broadcast or unicast to send discover or request packets. The default value data is 0. The meaning of the different value data is as follows:
    • 0: Broadcast first.
    • 1: The same as 0, broadcast first.
    • 2: Unicast first.
    • 3: Broadcast only.
    • 4: Unicast only.

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.

Files that are included in this hotfix package

File nameFile sizeDateTimePath
Dhcp.dll131,07228-Jul-201422:12Public\Common\Oak\Target\X86\Retail
Dhcp.dll249,85629-Jul-201400:55Public\Common\Oak\Target\X86\Debug
Dhcp.dll163,84028-Jul-201422:12Public\Common\Oak\Target\X86\Checked
Dhcp.dll159,74428-Jul-201422:13Public\Common\Oak\Target\Armv5\Retail
Dhcp.dll339,96829-Jul-201400:07Public\Common\Oak\Target\Armv5\Debug
Dhcp.dll204,80028-Jul-201422:14Public\Common\Oak\Target\Armv5\Checked
Dhcp.dll155,64828-Jul-201422:13Public\Common\Oak\Target\Armv6\Retail
Dhcp.dll339,96829-Jul-201400:08Public\Common\Oak\Target\Armv6\Debug
Dhcp.dll204,80028-Jul-201422:15Public\Common\Oak\Target\Armv6\Checked
Dhcp.dll155,64828-Jul-201422:13Public\Common\Oak\Target\Armv7\Retail
Dhcp.dll339,96829-Jul-201400:10Public\Common\Oak\Target\Armv7\Debug
Dhcp.dll204,80028-Jul-201422:13Public\Common\Oak\Target\Armv7\Checked
Dhcp.dll188,41628-Jul-201422:13Public\Common\Oak\Target\Mipsii\Retail
Dhcp.dll380,92829-Jul-201400:11Public\Common\Oak\Target\Mipsii\Debug
Dhcp.dll241,66428-Jul-201422:13Public\Common\Oak\Target\Mipsii\Checked
Dhcp.dll188,41628-Jul-201422:12Public\Common\Oak\Target\Mipsii_fp\Retail
Dhcp.dll380,92829-Jul-201400:11Public\Common\Oak\Target\Mipsii_fp\Debug
Dhcp.dll241,66428-Jul-201422:13Public\Common\Oak\Target\Mipsii_fp\Checked
Dhcp.dll143,36028-Jul-201422:12Public\Common\Oak\Target\Sh4\Retail
Dhcp.dll290,81629-Jul-201400:51Public\Common\Oak\Target\Sh4\Debug
Dhcp.dll184,32028-Jul-201422:12Public\Common\Oak\Target\Sh4\Checked
Dhcp.lib3,70428-Jul-201422:11Public\Common\Oak\Lib\X86\Retail
Dhcp.lib3,70429-Jul-201400:55Public\Common\Oak\Lib\X86\Debug
Dhcp.lib3,70428-Jul-201422:11Public\Common\Oak\Lib\X86\Checked
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Armv5\Retail
Dhcp.lib3,68029-Jul-201400:07Public\Common\Oak\Lib\Armv5\Debug
Dhcp.lib3,68028-Jul-201422:14Public\Common\Oak\Lib\Armv5\Checked
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Armv6\Retail
Dhcp.lib3,68029-Jul-201400:08Public\Common\Oak\Lib\Armv6\Debug
Dhcp.lib3,68028-Jul-201422:15Public\Common\Oak\Lib\Armv6\Checked
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Armv7\Retail
Dhcp.lib3,68029-Jul-201400:10Public\Common\Oak\Lib\Armv7\Debug
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Armv7\Checked
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Mipsii\Retail
Dhcp.lib3,68029-Jul-201400:11Public\Common\Oak\Lib\Mipsii\Debug
Dhcp.lib3,68028-Jul-201422:13Public\Common\Oak\Lib\Mipsii\Checked
Dhcp.lib3,68028-Jul-201422:12Public\Common\Oak\Lib\Mipsii_fp\Retail
Dhcp.lib3,68029-Jul-201400:11Public\Common\Oak\Lib\Mipsii_fp\Debug
Dhcp.lib3,68028-Jul-201422:13Public\Common\Oak\Lib\Mipsii_fp\Checked
Dhcp.lib3,70428-Jul-201422:12Public\Common\Oak\Lib\Sh4\Retail
Dhcp.lib3,70429-Jul-201400:51Public\Common\Oak\Lib\Sh4\Debug
Dhcp.lib3,70428-Jul-201422:12Public\Common\Oak\Lib\Sh4\Checked


↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


References

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

↑ Back to the top


Keywords: kbfix, kbsurveynew, kbexpertiseadvanced, atdownload, kb

↑ Back to the top

Article Info
Article ID : 2987948
Revision : 1
Created on : 1/7/2017
Published on : 8/12/2014
Exists online : False
Views : 229