Microsoft KB Archive/64252

PRB: Multiple Transport Stacks Don’t Work Under DOS LM 2.0 ID Number: Q64252

2.00 MS-DOS

Summary:

The following information applies only to MS-DOS LAN Manager 2.0. This problem has been corrected in version 2.1.

SYMPTOM Multiple NDIS transports do not work properly on MS-DOS LAN Manager version 2.0 Enhanced when installed via Setup.

CAUSE Each protocol listed in PROTOCOL.INI must respond to a unique range of LANA (LAN adapter) numbers. (It is by the LANA number associated with a request that LAN Manager directs the request to a particular protocol.) A protocol, such as NetBEUI, assumes it should respond to requests made to LANA 0 unless told otherwise (and some protocols will only respond to requests made to LANA 0).

In addition to setting the range of LANA numbers to which a protocol will respond, the protocol also must pass unwanted requests on to other protocols in the system (this is necessary because of the DOS interrupt interface used by network protocols).

In both cases, the LAN Manager Setup utility does not make the appropriate adjustments to either LANMAN.INI or PROTOCOL.INI. All changes must be made manually.

For example, NetBEUI can co-exist with other protocols. Two parameters (normally missing from PROTOCOL.INI) need to be added to the NETBEUI_XIF section:

lanabase = 1 chainx5c = 1 LANABASE tells NetBEUI what is the first LANA number it owns. Requests that contain a LANA number in the range beginning with LANABASE and ending with

(LANABASE + (# of MACs on the BINDINGS line - 1)) will be acted on by NetBEUI.

CHAINX5C tells NetBEUI more than one protocol exists in the system and that it should pass unwanted requests on.

RESOLUTION In LANMAN.INI, include on the WRKNETS parameter each LANA number owned by any protocol. For example, with two protocols binding to a single MAC, set WRKNETS as follows:

wrknets = 0,1 Next, add the appropriate keywords to PROTOCOL.INI for each protocol, informing it (if necessary) what its starting LANA number is and whether unwanted requests should be passed on. Again, assuming only two protocols (in this example NetBEUI and the Ungermann-Bass XNS protocol), PROTOCOL.INI would be similar to the following:

[PROTOCOL MANAGER] DRIVERNAME = PROTMAN$

[UBXNS_XIF] [XNSBIOS] BINDINGS = &quot;ELNKMC_NIF&quot; DRIVERNAME = UBDRV$0 Lcfile = C:\LANMAN.DOS\drivers\protocol\xns\stdlc VCReceiveLarge = 15 VCSends = 15 VCs = 6 NOEMM

[NETBEUI_XIF] Drivername = netbeui$ BINDINGS = &quot;ELNKMC_NIF&quot; lanabase = 1 chainx5c = 1

[ELNKMC_NIF]

; PROTOCOL.INI section for the 3Com EtherLink/MC Adapter Card

DRIVERNAME = ELNKMC$ Note: The UB XNS protocol will only accept requests directed to LANA 0 and it does not understand how to pass on requests. Therefore, it must be loaded first in CONFIG.SYS (before NetBEUI; this will cause it to be the last protocol in the protocol chain) and NetBEUI must take requests starting at the first LANA number not used by the XNS protocol (in this example, LANA 1).

Additional reference words: 2.00 ELNKII