This article lists questions to ask and things to check whentroubleshooting Microsoft OS/2 LAN Manager problems.This article applies to Microsoft LAN Manager running on Microsoft OS/2versions 1.x. If you have a UNIX implementation of Microsoft LAN Manager,contact the manufacturer (Hewlett-Packard, AT&T, etc.) of the UNIXimplementation for support.
What Version of the LAN Manager Server Are You Running?
A large number of articles exist in the Microsoft Knowledge Base thatdetail LAN Manager issues and resolutions. Many of these resolutionsinvolve upgrades to later versions. Therefore, you need to know whatversion you are working with. Be sure to compare article dates with theversion date of your server. Your LAN Manager 2.2 server may not workproperly if you install a file from LAN Manager version 2.1.
The last released server version of LAN Manager is 2.2b, dated 12/93. LANManager version 2.2a is dated 6/93, and version 2.2 is dated 11/92. Checkthe file dates in the C:\LANMAN\NETPROG subdirectory to determine thecustomer's version.
What Hardware Is LAN Manager Running On?
LAN Manager, and more specifically OS/2, is limited to what hardware itruns on. Please see the following article in the Microsoft Knowledge Base:
Microsoft OS/2 Version 1.3 Hardware Compatibility List
The Hardware Compatibility List (HCL) is also included with the LAN Manager2.2 server documentation.
How Much Memory Does the Server Have?
OS/2 can address a maximum of 16 megabytes (MB) of RAM, and typically LANManager servers require this much memory. Some computers encounter troubleif more than 16 MB of RAM is installed. However, reducing the installedamount to 16 MB of RAM can be helpful.
What Kind of Hard Drive Controller Are You Using?
The hard drive controller requires a Microsoft OS/2 specific driver, andthe driver must be specifically written to run on the OS/2 version you areusing. Therefore, do not attempt to use the IBM OS/2 2.11 driver for yourcontroller (or any device) on a Microsoft OS/2 1.3 server. Many drivers areincluded with Microsoft OS/2, but if a new system cannot run FDISK.EXE or anew controller does not seem to work, it may be due to the system requiringa driver (usually a Bus Interface Driver [*.BID] for a hard drivecontroller). This can be a problem since most companies have not beendeveloping drivers for OS/2 1.3 for some time. Therefore, if you buy a newcontroller and the manufacturer does not provide an appropriate *.BID file,get another controller.
However, keep in mind that even if a *.BID file is available, Microsoftonly provides support for the equipment listed on the HCL. Also, LANManager was never certified to run RAID arrays and to span partitionsacross drives.
Microsoft does not support or recommend these configurations.
What Type and Size of Hard Drives Are You Using?
When you use boot drives that exceed boot drive geometry specifications,problems can arise. Please see the following articles in the MicrosoftKnowledge Base:
Maximum Hard Drive Partitions with MS OS/2 1.3 for Server
Large Drive Translation Under Microsoft OS/2 1.3
Basically, boot drives should not exceed any of the following values:
512 bytes/sector, 63 heads, 255 sectors, 1024 cylinders
Data drives do not have these limitations.
What Is the Size of Your Hard Drive Cache in CONFIG.SYS?
For additional information on setting cache size, please see the followingarticle in the Microsoft Knowledge Base:
HPFS Cache Size CACHEMEM and IFS Do Not Match
By default, if you use HPFS, the first line of CONFIG.SYS is as follows:
IFS=C:\LANMAN\NETPROG\HPFS386.IFS /I:C:\LANMAN /CACHE:AUTO
If the cache is set to AUTO, the system sets aside all but 7 MB of systemRAM for drive caching. Therefore, a typical server set at CACHE:AUTO has 9MB cache. Under most circumstances, all LAN Manager servers should be setat no more than 4 MB. The CACHE parameter works only with values specifiedkilo byte (KB) numbers, therefore use CACHE:4096. If the server runs a lotof services that service a lot of clients simultaneously (that is, theserver is "stressed"), it uses a lot of RAM. For that, you can set theCACHE value to 2048 or 1024.
NOTE: If you set the cache size in CONFIG.SYS from AUTO to a specificvalue, and you then run LAN Manager Setup, Setup reads C:\LANMAN\SETUP.INIand resets the CACHE parameter to AUTO. Therefore, the best way to changethe cache size is through the Setup program.
How Big is Your SWAPPER.DAT File?
SWAPPER.DAT is the OS/2 dynamic memory paging file. It starts out at around500 KB by default and grows as memory runs out. With the exception of SQLServer, which can use a 20 MB SWAPPER.DAT, values above a few MB aregenerally a sign that the server is overloaded. In this case you shouldremove services or move them to other servers.
Are there Any Printers or Printer Queues Controlled by the Server?
OS/2 can control up to 6 printers. Six printers can seriously reduce systemresources. Typically, if someone has 6 printers, they are remotebootprinters (for example, HP JetDirect), although it is possible to hook up aserial board and use COM1 to COM4 and LPT1 and LPT2. If your system isstressed and you have a lot of printers, consider making this server aprint server only. Demote it to Member status in the domain or evenStandalone status if you can give your users guest access to your printers.
What Services Are You Running?
Type NET START at a command prompt. This lists the services that arerunning. The more services, the more likely the server is stressed. Knowingwhat services are running also gives you a better idea of what might becausing your problem.
What Protocols Are You Running?
More protocols means more possibilities for problems. To check whatprotocols you are using, check what protocols are listed in the CONFIG.SYSfile. To check how the current protocols are configured check theC:\LANMAN\PROTOCOL.INI file. For example, many older servers are stillloading XNS even though it is not used by the clients. Also, many servertraps are protocol related. Knowing the protocols can sometimes tell youwhat is causing the trap.
What Role Does this Server Play in Your Domain?
LAN Manager has four server roles: primary domain controller (PDC), backupdomain controller (BDC), Member server, and Standalone server. If you knowwhat role the server is configured for, you know what functions that serverperforms, and what services it should be running, and so on. For example,PDCs, BDCs, and Member servers run the netlogon service, but only PDCs andBDCs validate domain logons. However, the Member server still runs thenetlogon service, so it can get user account replications. Standaloneservers do not validate domain logons, and do not replicate the useraccounts, therefore they do not run the netlogon service.
If your problem is that netlogon does not run, knowing the server role thentells you if that server should run the netlogon service and why. Also,because standalone servers do not participate in user account replication,account names and passwords changed at the domain level have to be changedmanually on the standalone server.
Important Configuration Files to Inspect
- CONFIG.SYS loads drivers and configures OS/2.
- STARTUP.CMD is equivalent to the MS-DOS version of AUTOEXEC.BAT. Usually, the only command in STARTUP.CMD is NET START SERVER.
- LANMAN.INI configures the LAN Manager environment.
- PROTOCOL.INI configures protocols.
Server Tuning and Server Autotuning
C:\LANMAN\SERVICES\READCFG.EXE displays old and new server values. LANManager tries to automatically tune (that is "autotune") certain values,and READCFG.EXE displays what the server tries to tune the next time theserver is shut down and restarted. If the values are increasing, the servercalculated that it needs more resources. For example, if READCFG.EXE showsnumreqbuf has increased from 120 to 150, that does not mean the server hasalready allocated 150 buffers but that it calculated it needs 150 buffers.If there is a significant increase in values between the old and new serversettings, you should shut the server down and restart it to let the newsettings take effect.
NOTE: If READCFG.EXE displays an increase, shut down and reboot the serveras soon as possible. For example, if you notice the increase on Friday,then leave the server idle over the weekend with the intention of shuttingit down Sunday night, the autotuned values will have decreased reflectingthe resources the server needs while idle on Saturday and Sunday. If youshut down the server Sunday night, users that start using the server onMonday, find that the server does not have the resources it needs. To avoidthis problem, make sure you check the values displayed by READCFG.EXEbefore you shut the server down. Whatever values are displayed at thatmoment are the ones the server uses when restarted. If the displayed valuesshow a decrease you may not want to postpone the shutdown.
Overriding Autotuned LANMAN.INI Parameters
You can add some of these values to the LANMAN.INI file, which turns offautotuning for that value. This is usually not recommended. Check theAdministrator's Guide and Administrator's Reference for more information onindividual values. Some values, if added to the LANMAN.INI, can keep theserver from starting. With new installs, it is recommended that you let theserver run for a while (2-3 days), then run READCFG.EXE to see if theserver calculated increased values, and if so, shut down and restart theserver so it can use the new values.
Run NET ADMIN and choose Server Statistics from the Status menu. This showsyou how many times buffers have been exhausted since the last time theserver service started and how many network errors and system errors havebeen encountered.
Run NET ADMIN and choose Error Log from the Status menu. The recordederrors have a number associated with them. A NET3190, for example, is aNETWKSTA.EXE internal error. This information is included in the error log.You can then search the Knowledge Base for information on NET3190 and getmore information on what can cause the error, the severity, and how it youcan resolve it.
The NET HELPMSG Command
While the information provided by this command is often generic, it cangive you some information on an error if the error log is unavailable. At acommand prompt, type:
net helpmsg <error number>
For example, if you are getting a NET3190 error, type:
net helpmsg 3190
This returns an explanation of the error.