Some instances of this problem are resolved by using the DependOnService registry setting. If the Client loads before the SLP service is running, resources which cannot be found as a result of this condition may be added to the bad server cache, resulting in "tree or server cannot be found" type errors. This setting ensures that the SLP service is loaded and running before the Novell Client attempts to load.
For Windows 2000, XP:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetwareWorkstation]
"DependOnService"=hex(7):53,00,52,00,56,00,4c,00,4f,00,43,00,00,00,00,00
For Windows NT4:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetwareWorkstation]
"DependOnService"=hex(7):53,52,56,4c,4f,43,00,00
Fixed in the Novell Client v4.9 SP1 for Windows NT/2000/XP.
Fixed in the Novell Client 4.83 SP3 for Windows NT/2000/XP
The problem is fixed with 3 new client files and 3 new client registry settings dealing with these pieces.
loginw32.dll (see login parameter registry key below). The "max retries" parameter defaults to a maximum 5 retries with a 1 second delay interval. On a slow NT4 system you may get a message "a required service not started". This is the result of nwfs.sys not being loaded in time. The "max retries" can be set to a value greater than 5. in the .reg file it is set to 7. Previously, the "max retries" parameter was not always read before an operation with the login GUI so only the default of 5 was used. This has been corrected. There is no upper limit enforced for the "max retries" parameter. This should not be set greater than 20.
nwfs.sys (see nwfs parameter registry key below). "Check SRVLOC Loaded Retries" was added to control new logic that verifies that srvloc.sys is loaded. The number of retries with a 1 second delay is specified by this parameter. The default is 5. Whenever a NWC_GET_REQUESTER_LINK_STATUS IOCTL is received by nwfs.sys it will first check for srvloc.sys being loaded. If "Check SRVLOC Loaded Retries" is set to 0, no attempts will be made to check if srvloc.sys is loaded. Good status is always returned after all retries even if srvloc.sys is not loaded. There is no upper limit enforced for this registry parameter. Again this should not be greater than 20.
srvloc.sys nwfs.sys requests from Srvloc.sys to see at least one active DA exists. whenever a NWC_GET_REQUESTER_LINK_STATUS IOCTL is received by nwfs. A new srvloc.sys parameter, "Check For Active DA Retries" has been added to control the number of retries with a one second delay for the active DA check. If this parameter is set to 0 no attempts will be made to check for an active DA and good status will still be returned. In any case after the specified retries good status will be returned. This has a default of 0 and if not present in the registry, no attempt will be made to verify that an active DA exists. In environments with no DAs, this parameter must be 0 since severe performance problems will occur.
NEW REGISTRY KEYS: [HKEY_LOCAL_MACHINE\SOFTWARE\Novell\Login] "Max Retries"=dword:00000007
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetWareWorkstation\Parameters] "Check SRVLOC Loaded Retries"=dword:00000006
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SRVLOC\Parameters] "Check For Active DA Retries"=dword:00000007
In some cases these settings had to be set to 15 or 20 retries to get the results needed. Be aware that the higher you set these settings the longer it will take to timeout when not connected to the network.
In order for these parameters to work newer versions of the LOGINW32.DLL, NWFS.SYS, and SRVLOC.SYS files is required.
|