Last week's challenge to solve John Becker's Dynamic Host Configuration Protocol problem has attracted many suggestions that will be checked out. Should we find a solution, not only will we tell you about it, but the solver will get that cool something we have yet to decide on.
A few of the most interesting forays were, first, the default lease renewal for Windows is three days, and there's a suspicion that the value of this parameter can't be any lower than the default. Second, Service Pack 3 is to blame, and Service Pack 4 will solve everything. (If Gearhead's experience with Service Pack 4 is anything to go by, a stick of dynamite under the server will have much the same effect).
Gearhead received a great letter with some terrific suggestions. One concerns the behavior of the DHCP client/server system in the case of a network that drops packets and the potential for the DHCP client and server to get confused. The letter suggests that if the CMOS battery on a PC is bad, when the machine starts up and the lease expiration date is compared with the erroneous CMOS clock date, the lease apparently would not have expired. That's an interesting idea.
In the course of trying to figure out whether the client's lease renewal value could somehow get screwed up, Gearhead wound up poking around the Windows 98 registry because that's where the DHCP client settings are stored.
In a Gearhead column a few weeks ago, we noted the client system is supposed to store its current lease information in nonvolatile storage so it can be used on a restart. Under Windows, that storage is the dreaded registry.
The keys that relate to DHCP under Windows 98 and Millennium Edition are HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP and HKEY_ LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCPOptions. Your current IP address is set under a key for each adapter stored under the first of the keys above, thus HKEY_LO CAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP\DhcpInfo00 and your current IP address can be found under the value DhcpIPAddress.
If every PC automatically released its IP address at shutdown, the CMOS problem discussed would not matter. The PC would have no lease on reboot and so would have to request one. According to Microsoft Corp. KnowledgeBase Article Q2 17035 (http://support.microsoft.com/support/kb/articles/Q217 /0/35.ASP), you can add the following registry items: Key: HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\VxD\DHCP; Value name: ReleaseLeaseOnShutdown; Type: DWORD; Value data: 0x00000001 (1); Key: HKEY_LO CAL_MACHINE\System\CurrentControl Set\Control\Shutdown; Value name: Fast Reboot; Type: STRING; Value data: 0.
By default, the value ReleaseLeaseOnShutdown is not in the registry, and FastReboot, which skips a lot of housekeeping in favor of a quick shutdown, is set to 1. Setting FastReboot to 0 disables the feature, which is important because if you fail to disable it, Windows 98 will not process the command to release the DHCP information before shutting down.
We'll see if any of our readers' ideas solve Becker's problem.
Until then, keep the ideas coming in to email@example.com.