	  		Configuring Packet Drivers


This file lists the three types of packet drivers provided in this release
of PC/TCP software.

  1. Crynwr packet drivers supported by FTP Software, Inc.

  2. Serial line packet drivers developed and supported by FTP Software, Inc.

  3. Packet drivers provided as a courtesy by network card vendors. 
     These packet drivers are not supported by FTP Software, Inc.

______________________________________________________________________________

1. Crynwr Packet Drivers
______________________________________________________________________________

The following chart lists the Crynwr packet drivers that you can use
with the PC-210 kernels and that are supported by FTP Software, Inc.

The left-hand column lists the network interface cards and the
appropriate packet driver for each. 

The right-hand column explains the command line that loads the packet
driver and lists the required settings and defaults.  You can add
this line to your autoexec.bat file or type it at the DOS prompt.

FTP Software, Inc. recommends that you load the packet driver at
software interrupt vector (int_vec) 0x60.

NOTE:  Some of the boards in this chart use DOS upper memory. If a
       board does use upper memory, it is clearly marked in the text 
       and you should refer back to this note. If a board uses upper
       memory, its packet driver may conflict with your memory manager. 
       Your memory manager must exclude the RAM area that the packet 
       driver is using. For more information, refer to the memory manager
       and network card documentation or to the chapter "Running PC/TCP 
       with Memory Managers" in the User's Guide.


Available Options

You can use any of the following options in the packet driver command line:
          
        -d  Most drivers can also be used in a PROM boot environment.
            See PROMBOOT.NOT in the \CRYNWR.DOC directory on Unsupported
            Disk A for instructions about using the -d and -n options 
            for that purpose.  Use this option to delay the adapter's 
            initialization until the first time the packet driver is accessed.
          
        -i  Use this option with client software that expects to find
            an IEEE 802.3 packet driver.  Many Crynwr Ethernet packet
            drivers implement both IEEE 802.3 (class 11) and Ethernet II, 
            or Bluebook, (class 1) framing.  The packet driver specification
            only allows a driver to report one class. The default is to
            report Ethernet II.  Using -i changes the reported class to
            IEEE 802.3.

        -n  Use this option if you want the Crynwr packet drivers to
            convert Ethernet II frames into Novell's version of the 
            IEEE 802.3 frame type (and back).  NetWare can use two different 
            framing types on Ethernet, IEEE 802.3 and Ethernet II.  The BYU 
            packet driver shell requires Ethernet II. 
          
        -p  Use this option to disable promiscuous mode.  You can achieve a
            small level of security by disabling promiscuous mode; however,
            do not mistake this for real security.
          
        -u  Use this option to unload the packet driver.

        -w  Use this option if you are using Windows applications that 
            access the packet driver directly.  Generally, this option is
            not necessary. 

______________________________________________________________________

                 SUPPORTED CRYNWR PACKET DRIVER CHART
______________________________________________________________________

3COM 3C501    Load the packet driver with a line in this form:
3c501.com     
              drive:\path\3c501 [options] int_vec hard_int io_addr 
                
              The required settings:
          
              int_vec is the software interrupt. 
              hard_int is the hardware interrupt number; default = 3 
              io_addr is the I/O address; default = 0x300 
                
              Example: c:\pctcp\3C501 0x60 3 0x300
_______________________________________________________________________

3COM 3C503    Load the packet driver with a line in this form:
3c503.com     
              drive:\path\3c503 [options] int_vec hard_int io_addr cable_type
              
              The required settings:

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; range is 2 to 5; default = 2
              io_addr is the I/O address; default = 0x300
              cable_type can be thick = 0, thin = 1, automatic = 65535; 
                    default cable_type = 65535

              Example:  c:\pctcp\3C503 0x60 2 0x300 1

              The 3c503 can use shared memory, but the driver automatically
              determines that parameter from the hardware.
        
              Note: This board uses DOS upper memory.
_______________________________________________________________________

3COM 3c505    Load the packet driver with a line in this form:
3c505.com     
              drive:\path\3c505 [options] int_vec hard_int io_addr
        
              The required settings: 
              
              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x300

              Example:  c:\pctcp\3C505 0x60 2 0x300

              Note: This board uses DOS upper memory.
_______________________________________________________________________

3COM 3c507    Load the packet driver with a line in this form:
3c507.com     
              drive:\path\3c507 [options] int_vec io_addr

              The required settings: 

              int_vec is the software interrupt.
              io_addr is the I/O address.

              Example:  c:\pctcp\3C507 0x60 0x300 
              
              The 3c507 determines its parameters by reading the
              board.  The only time you need to specify the parameters
              is when you have multiple 3c507s in the same machine.
                        
              Note: This board uses DOS upper memory.
________________________________________________________________________

3Com 3c509    Load the packet driver with a line in this form:
3c509.com     
              drive:\path\3c509 [options] int_vec [id_port|io_port|board_num]
              
              The required setting: 
              
              int_vec, the software interrupt.
              
              Optionally, the 3c509 driver can use one of three additional 
              parameters:  the id port, the I/O port, or the board number.

                 If the number is between 0 and 0xff, it is the board number.
                 If the number is between 0x100 and 0x1ff, it is an ID port. 
                 Otherwise, it is an I/O port number.

              Example:  c:\pctcp\3C509 0xff

              The 3c509 determines its parameters by reading the board.  
              The only time you need to specify the parameters is when you 
              have multiple 3c509 cards in the same machine or if you
              have an I/O conflict with the default id_port (0x110).
_______________________________________________________________________

3COM 3c523    Load the packet driver with a line in this form:
3c523.com     
              drive:\path\3c523 [options] int_vec hard_int io_addr base_addr

              The required settings: 

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 3
              io_addr is the I/O address; default = 0x300
              base_addr is the memory base address; default = 0xD000

              Example:  c:\pctcp\3C523 0x60 3 0x360 0xd000

              You can run the 3c523 packet driver by specifying only a
              software interrupt. The driver can read the rest of the 
              parameters from the PS/2 configuration. 

              Note: This board uses DOS upper memory.
_______________________________________________________________________

AT&T          Load the packet driver with a line in this form:
at&t.com      
              drive:\path\at&t [options] int_vec hard_int io_addr base_addr

              The required settings: 

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x360
              base_addr is the memory base address; default = 0xD000
     
              Example:  c:\pctcp\at&t 0x60 2 0x360 0xD000

              The AT&T packet driver supports the StarLAN 1, StarLAN 10 NAU,
              EN100, and StarLAN Fiber NAU network boards.
   
              Note: This board uses DOS upper memory.
_______________________________________________________________________
         
David Systems (DSI) 
              Load the packet driver with a line in this form:
davidsys.com  
              drive:\path\davidsys [options] int_vec hard_int 
                    io_addr delay_mult

              The required settings: 

              int_vec is the software interrupt.
              hard_int is the hardware interrupt.
              io_addr is the I/O address.
              delay_mult is a system-dependent timing loop; default = 10

              Example:  c:\pctcp\davidsys 0x60 2 0x300 10

              The delay multiplier is a timing loop used for I/O to the card.
              a reasonable value is calculated during initialization, but on 
              some fast systems it may need to be somewhat larger.  The 
              multiplier is divided by ten, then multiplied by the calculated 
              delay.  The default multiplier is 10 (actually 1.0).
_______________________________________________________________________     

D-Link DE-600 Load the packet driver with a line in this form:
de600.com     
              drive:\path\de600 [options] int_vec

              The only required setting: 
              
              int_vec, the software interrupt.

              Example:  c:\pctcp\de600 0x60
_______________________________________________________________________     
       
DEC, DE100,  
DE200, DEPCA  Load the packet driver with a line in this form:
depca.com     
              drive:\path\depca [options] int_vec hard_int io_addr mem_addr
          
              The required settings: 

              int_vec is the software interrupt.
              hard_int is the hardware interrupt;default = 5
              io_addr is the I/O address; default = 0x300
              mem_addr is the memory base address; default = 0xD000   
  
              The packet driver will resolve the io_addr automatically 
              if io_addr is set to '?'.

              Example:  c:\pctcp\depca 0x60 5 ? 0xd000

              Note: This board uses DOS upper memory.
_______________________________________________________________________     

Intel EtherExpress  
              Load the packet driver with a line in this form:  
exp16.com     
              drive:\path\exp16 [options] int_vec [io_addr]
          
              The only required setting: 

              int_vec, the software interrupt.

              Example:  c:\pctcp\exp16 0x60

              The io_addr is only needed if there is more than one 
              EtherExpress card in your system.  Otherwise, the driver
              will search for the adapter and get its parameters from it.
_______________________________________________________________________

Novell NE1000 Load the packet driver with a line in this form:  
ne1000.com    
              drive:\path\ne1000 [options] int_vec hard_int io_addr

              The required settings:

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 3
              io_addr is the I/O address; default = 0x300

              Example:  c:\pctcp\ne1000 0x60 3 0x300
_______________________________________________________________________

Novell NE2000 Load the packet driver with a line in this form:  
ne2000.com    
              drive:\path\ne2000 [options] int_vec hard_int io_addr

              The required settings:

              int_vec is the software interrupt. 
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x300 

              Example:  c:\pctcp\ne2000 0x60 2 0x300
_______________________________________________________________________

Racal-Datacom NI5210    
              Load the packet driver with a line in this form:
ni5210.com    
              drive:\path\ni5210 [options] int_vec hard_int io_addr base_addr

              The required settings:

              int_vec is the software interrupt. 
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x360
              base_addr is the memory base address; default = 0xD000
                      
              Example:  c:\pctcp\ni5210 0x60 2 0x360 0xD000

              Note: This board uses DOS upper memory
_______________________________________________________________________

Racal-Datacom NI6510
              Load the packet driver with a line in this form:
ni6510.com    
              drive:\path\ni6510 [options] int_vec hard_int io_addr

              The required settings:

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; defaults to address found through
                  an auto-sense routine.
                
              These parameters do not need to be set unless the auto-sense 
              routine fails, or otherwise disrupts operation of your PC.

              Example:  c:\pctcp\ni6510 0x60
_______________________________________________________________________

Racal-Datacom NI9210
              Load your packet driver with a line in this form:
ni9210.com    
              drive:\path\ni9210 [options] int_vec hard_int io_addr base_addr 

              The required settings:

              int_vec is the software interrupt. 
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x360
              base_addr is the memory base address; default = 0xD000

              Example:  c:\pctcp\ni9210 0x60 2 0x360 0xD000

              You can run the ni9210 packet driver by specifying only a
              software interrupt.  The driver can read the rest of the
              parameters from the PS/2 configuration.

              Note: This board uses DOS upper memory.
_______________________________________________________________________

UBNICPC       Load the packet driver with a line in this form:
ubnicpc.com   
              drive:\path\ubnicpc [options] int_vec hard_int io_addr base_addr

              The required settings:

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 2
              io_addr is the I/O address; default = 0x360
              base_addr is the memory base address; default = 0xD000

              Example:  c:\pctcp\ubnicpc 0x60 2 0x360 0xD000
 
              Note: This board uses DOS upper memory.
_______________________________________________________________________
UBNICPS2      Load the packet driver with a line in this form:
ubnicps2.com  
             drive:\path\ubnicps2 [options] int_vec hard_int io_addr base_addr

              The required settings:
 
              int_vec is the software interrupt.
              hard_int is the hardware interrupt.
              io_addr is the I/O address.
              base_addr is the memory base address.

              Example:  c:\pctcp\drv\ubnicpcs2 0x60 2 0x360 0xD000
        
              The defaults are the contents of the POS registers, so
              the only time you need to use the parameters is if you are
              using two NIC-PS/2 boards in one machine.

              Note: This board uses DOS upper memory.
_______________________________________________________________________

SMCWD (formerly Western Digital WD8003E)
              Load the packet driver with a line in this form:
smc_wd.com    
              drive:\path\smc_wd [options] int_vec [-o] hard_int 
                    io_addr base_addr
 
              The required settings:

              int_vec is the software interrupt.
              hard_int is the hardware interrupt; default = 3
              io_addr is the I/O address; default = 0x280
              base_addr is the memory base address; default = 0xD000

              Example:  c:\pctcp\smc_wd 0x60 3 0x360 0xD000

              The SMC_WD driver runs the SMC (formerly Western Digital)
              E, EBT, EB, ET/A, and E/A Ethernet cards.  
 
              The smc_wd cards do not enable their memory until 
              configuration time.  Some 386 memory mappers will map memory
              into the area that the card intends to use.  You should be 
              able to configure your software to leave this area of memory 
              alone.  Also, the driver will refuse to map memory into
              occupied memory.  The occupied memory test fails on some
              machines, so the optional switch -o allows you to disable the
              check for occupied memory.
          
              If you get the error "PROM ADDRESS Invalid", use EZSETUP to
              reset all the parameters again. Occasionally, programs write
              to locations that don't belong to them.  This can corrupt the 
              EEPROM checksum on the card. Use EZSETUP to restore the 
              correct checksum.

______________________________________________________________________________

2. Serial Line Packet Drivers


FTP Software, Inc. developed and supports the following packet drivers.
______________________________________________________________________________


ppp16550      
		Usage 

		ppp16550 [-v vector] [-p x] [-b baud] [-a ioaddr] [-i irq] 
		[-n number] [-z size]
		[-m] [-c] [-t] [-l] [-u] [-k] 

		ppp16550 [-? | -version] 

		Description

		Use the ppp16550 command to load the PPP packet driver,
		which works in conjunction with the PPP kernel (PPPDRV.EXE),
		letting you transfer data across a serial line connection.
		You must load the packet driver before you load the kernel.
		To load the packet driver automatically at system startup,
		put the ppp16550 command in your AUTOEXEC.BAT file.

		Note: \x110011If the comscrpt command uses a [pctcp serial n]
		section in your PCTCP.INI file, the values it finds will
		override any values set with the serial port options (-p, -b,
		-a, -i, -m) of this packet driver.

		Command Line Options 

		-a ioaddr
		Specifies the I/O address of the serial port. This option 
		overrides the -p option. 

		-b baud	
		Specifies the baud rate of an RS-232 line. 
		The default is 2400.
 
		-c	
		Removes the port entry from the RBDA serial port table. 

		-i irq	
		Specifies the hardware interrupt request line of the serial 
		port. This option also overrides the -p option. 

		-k
		Enables PAP authentication protocol support. 

		-l	
		Prints LCP statistics held in the packet driver. 

		-m
		Enables RTS/CTS hardware flow control on an RS-232 line.
 
		-n number
		Specifies the number of internal buffers.
 
		-p x
		Specifies the number of the communications serial port 
		(i.e., COM1, COM2, COM3, COM4). The default is 1. 

		-t
		Prints statistics held in the packet driver. 

		-u
		Unloads the packet driver from the specified vector.
 
		-v vector
		Specifies the software interrupt vector of the packet driver. 
		The default is 0x60. 

		Note: \x110011You can use any available software interrupt 
		from 0x20 to 0xFF, inclusive, with the following exceptions: 
		interrupt 0x61 (the pppdrv kernel uses it by default) and 
		0x67 (the Expanded Memory Manager (EMM) uses it). When you 
		specify the software interrupt, you must precede it with the 
		characters 0x.

		-z size
		Specifies the internal buffer size. 


		Examples

		To load the PPP packet driver at vector 0x63, enter 

		C:\> ppp16550 -v 0x63
 
		Packet Driver loaded at vector 0x63
		name: PPP16550
		version: 2.30, class: 18, type: 2, functionality: 2
		I/O Address: 0x03F8
		Hardware IRQ: 4
		Baud Rate: 2400
		Line Attributes: 8 Data Bits, 1 Stop Bit, No Parity
		RTS/CTS hardware flow control: Disabled
		Number of internal buffers : 3, buffer size (in bytes) : 64
		PAP protocol support not loaded
		UART is not an NS16550, 8250 mode enabled

		To unload the PPP packet driver from vector 0x63, enter 

		C:\> ppp16550 -v 0x63 -u

		Packet Driver found at vector 0x63
		Packet Driver has been unloaded



_________________________________________________________________
slp16550    

		Usage
 
		slp16550 [-v vector] [-p x] [-b baud] [-a ioaddr] [-i irq] 
		[-m] [-c] [-t] [-u] 
		slp16550 [-? | -version] 

		Description
 
		Use the slp16550 command to load the SLIP packet driver, 
		which works in conjunction with the SLIP kernel 
		(SLPDRV.EXE), letting you transfer data across a serial 
		line connection. You must load the packet driver before 
		you load the kernel. (To load the packet driver 
		automatically at system startup, put the slp16550 command 
		in your AUTOEXEC.BAT file.) 

		Note: \x110011If the comscrpt command uses a [pctcp serial n] 
		section in your PCTCP.INI file, the values it finds will 
		override any values set with the serial port options 
		(-p, -b, -a, -i, -m) of this packet driver. 

		Command Line Options 

		-a ioaddr	
		Specifies the I/O address of the serial port. This option 
		overrides the -p option. 

		-b baud
		Specifies the baud rate of the RS-232 line. 
		The default is 2400.
 
		-c
		Removes the port entry from the RBDA serial port table.
 
		-i irq
		Specifies the hardware interrupt request line of the serial 
		port. This option also overrides the -p option. 

		-m
		Enables "Request to Send/Clear to Send" (RTS/CTS) hardware 
		flow control on an RS-232 line.
 
		-p x	
		Specifies the number of the communications serial port 
		(i.e., COM1, COM2, COM3, COM4). The default is 1. 

		-t	
		Prints statistics held in the packet driver. 

		-u
		Unloads the packet driver from the specified vector. 

		-v vector
		Specifies the software interrupt vector of the packet driver. 
		The default is 0x60. 

		Note: \x110011You can use any available software interrupt 
		0x20–0xFF, with the following exceptions: interrupt 
		0x61 (the slpdrv kernel uses it by default) and 0x67 
		(the Expanded Memory Manager (EMM) uses it). When you 
		specify the software interrupt, you must precede it with 
		the characters 0x. 

		Examples
 
		To load the SLIP packet driver at interrupt 0x63, enter 
		the following: 

		C:\> slp16550 -v 0x63
 
		Packet Driver loaded at vector 0x63 
		name: SLP16550 
		version: 2.30, class: 6, type: 1, functionality: 1 
		I/O Address: 0x03F8 
		Hardware IRQ: 4 
		Baud Rate: 2400 
		Line Attributes: 8 Data Bits, 1 Stop Bit, No Parity 
		RTS/CTS hardware flow control: Disabled 

		To unload the SLIP packet driver from vector 0x63, enter 
		the following: 

		C:\> slp16550 -v 0x63 -u
 
		Packet Driver found at vector 0x63 
		Packet Driver has been unloaded 

_____________________________________________________________________________

3. Vendor-supplied Packet Drivers


The following packet drivers were developed and supplied by the identified 
card manufacturer. FTP Software does not support these packet drivers and
assumes no responsibility for their functionality or performance.
_____________________________________________________________________________

3C5X9D.COM

3Com EtherLink III Packet Driver v1.0
(C) Copyright 1993 3Com Corp. All rights reserved.


usage: 3C5X9PD [switches] <pkt_int_num> [parameter=X]

Switches:

    -u   Uninstall driver
    -n   NetWare conversion. Converts 802.3 packets into 8137 packets.
    -w   Windows.  Use this switch for running the driver under MS Windows.

Optional parameters:

  SLOT       - EtherLink III's slot number (EISA and Microchannel
  IOBASE     - EtherLink III's I/O base address
