How to Add Packet Driver support to NDIS (not WFWG 3.11) 

WEBTOOLS supplies a copy of the Packet Driver module that provides an interface to NDIS.
The program is called DIS_PKT.DOS. In any of the NDIS 2 configurations: 

For Classic NDIS (old LANMAN or IBM clients)
For current Microsoft Clients
For WFWG 3.1 

DIS_PKT.DOS is loaded by adding a DEVICE statement to CONFIG.SYS. In the following example,
the first two statements were originally present and the third statement is added: 

DEVICE=c:\xxxxx\PROTMAN.DOS
DEVICE=c:\xxxxx\ELNK3.DOS
DEVICE=c:\WEBTOOLS\PKTDRV\DIS_PKT.DOS 

Note: this DEVICE statement is used even when the Microsoft LAN protocol software (NETBEUI)
is loaded directly or indirectly by statements in AUTOEXEC. DIS_PKT is designed to load as
a device driver. 

Now proceed to update PROTOCOL.INI . 

PROTOCOL.INI 
Whether DIS_PKT is added with a DEVICE statement or in SYSTEM.INI, it must be configured by
adding a block of statements to PROTOCOL.INI, a file that resides either in LANMAN.DOS (LAN
Client) or in \WINDOWS (either release of WFWG): 

[PKTDRV]
DriverName=PKTDRV$
BINDINGS=xxxx
INTVEC=0x60 

The [PKTDRV] section defines parameters for the Packet Driver. The "PKTDRV$" name is a
character string built into the DIS_PKT program that makes it possible for the other programs
(such as the Trumpet WINSOCK TCP/IP package) to find DIS_PKT once DOS is running. The
important parameters, that may need consideration, are found in the next two statements). 

BINDINGS indicates which Ethernet adapter card the Packet Driver should use. It will match
the name of another section somewhere in PROTOCOL.INI, where the hardware parameters (if any)
for the Ethernet adapter driver are stored. More importantly, the correct value for BINDINGS
that you add to the [PKTDRV] section will match the value in any other protocol configuration.
The purpose of BINDINGS is to control which protocols use which adapters when there are
several Ethernet boards in the same machine. In normal use, however, there is only one board
and so all BINDINGS statements are identical. 

For example, the existing statements in PROTOCOL.INI could include: 

[MS$NE2CLONE]
...

[NETBEUI]
DriverName=netbeui$
BINDINGS=MS$NE2CLONE
... 

The first [MS$NE2CLONE] section would include whatever parameters (address, interrupt, etc.)
needed to define what is probably an NE2000 clone board. The definition of the NETBEUI
protocol then includes a BINDINGS statement referencing the adapter definition section. In
this case, the correct statement in the [PKTDRV] section would also be BINDINGS=MS$NE2CLONE. 

The INTVEC statement identifies a software Interrupt number that other programs will use to
make requests from the Packet Driver. DOS reserves the interrupt numbers starting at 0x60
for packages and products. The best choice is to use 0x60, unless that number is already
being used by another program for some other purpose. 

Reboot the computer. DIS_PKT.DOS should print out a message indicating that it was loaded.
If it complains that it was not able to "bind" to a LAN card, then PROTOCOL.INI was not
correctly updated. 


