WaitForLink.bmp

Wait for link.  Sounds easy enough.  There is more here than meets the eye, and the parameter.  This parameter has three values.  On, Off and Auto Detect.  Auto detect will determine based on the interface type whether or not to use On or Off.  When the setting is On, the initialization code will wait until it can determine if link is present by waiting for auto negotiation to complete.  When it is Off, it will initialize link but not wait for the auto negotiation to complete.  As per the specification, copper interfaces can take up to three seconds to link.  During our initialization code, that is a seriously long time.   In order to get certifications like WHQL the driver is only allowed 10 milliseconds to complete its initialization time.  For things like forcing speed and duplex or fiber that is plenty of time.  But those three seconds for copper can seem like an eternity.  So why wait?  If you are running a storage media like iSCSI, waiting for confirmed link can be useful in avoiding link based issues further in the boot process.  The failure to link will be captured in the event log.

Like a lot of the parameters, changing this will be captured in the registry, then the driver will be reloaded to take effect.  This will cause a momentary loss of link as the driver is reloaded.