Using MADGEODI DOS ODI Driver
=============================                               MARCH 1993

The MADGEODI driver  consists  of  two  DOS  files:  MADGEODI.COM  and 
MDGDOS03.BIN. MADGEODI.COM is an executable file and MDGDOS03.BIN is a 
downloadable  firmware  file. Keep both files in the same directory or 
sub-directory.

Novell's  Open  Data-Link  Interface  (ODI)  allows  LAN  drivers  and 
protocol  stacks to work together independent of hardware and protocol 
stack details. An intervening layer, called  the  Link  Support  Layer 
(LSL),  is  responsible for routing different packet types between LAN 
drivers and protocol stacks.   MADGEODI  is  an  ODI  driver  for  DOS 
workstations.


Schematic diagram of the Open Datalink Interface:


NetWare Higher layers:			 NCP

			 --------------ipx i/f----------------

Protocol stacks:			IPXODI

		         -------hardware independent i/f------

Link Support Layer:			 LSL

			 -------protocol independent i/f------

LAN drivers:			       MADGEODI
			
			 -------------hardware i/f------------

Hardware:			 MADGE SMART RINGNODE



The MADGEODI driver conforms  to  the  ODI  specification  for  a  LAN 
driver.  Load  it after the Link Support Layer and before any protocol 
stacks. The following is a sample AUTOEXEC.BAT:

LSL		(Novell supplied)
MADGEODI
IPXODI		(Novell supplied)
NETX		(Novell supplied)

Additionally,  if  source-routing  support  is required, load the file 
ROUTE.COM (Novell supplied) after MADGEODI.COM and before IPXODI.COM.

If Novell Remote Program Load is being used, load the file  RPLODI.COM 
(Novell   supplied)   before   MADGEODI.COM.  Additionally,  load  the 
ROUTE.COM file, if required, before MADGEODI.COM.  The reason for this 
is so that a connection to a server that is  on  the  far  side  of  a 
source-routing bridge can be maintained while the "real" ODI driver is 
taking over from the RPL driver.  A sample AUTOEXEC.BAT for RPL is:

LSL		(Novell supplied)
RPLODI		(Novell supplied)
ROUTE		(Novell supplied)
MADGEODI
IPXODI		(Novell supplied)
NETX		(Novell supplied)

The driver uses a default maximum frame size of  4210  bytes  (4Kbytes 
data).   The  default internal buffer sizes are 4.5Kbytes for the send 
buffer  and  8.5Kbytes  for  the  receive  buffers.   The  DOS  memory 
requirement  is  approximately  4.5Kbytes  +  receive  buffer  size  + 
transmit  buffer  size.   Using   the   default   settings   this   is 
approximately  17.5Kbytes.

The driver may be loaded in high memory using a memory manager such as 
EMM386.EXE.

You can configure the  MADGEODI  driver  from  a  NET.CFG  file.   The 
options  required  are  listed  following  the driver's section header, 
which is "LINK DRIVER  MADGEODI".   The  following  are  the  keywords 
recognised and their meanings: 

PORT nn	:                    The  IO  location of the required adapter 
			     card.

SLOT nn	:       	     The IO SLOT of the required adapter card.

FRAME abc :     	     A  Frame  type  that  is required (may be 
			     entered more than once).

PROTOCOL abc :  	     A Protocol stack that is required (may be 
			     entered more than once).

MAX FRAME SIZE nnnn :        The Maximum packet size to be supported 
			     including protocol and  hardware  headers 
			     (4216  represents  a maximum data size of 
			     4Kbytes).  The minimum frame size is  632 
			     (1/ 2Kbytes);

RECEIVE BUFFER SIZE nnnn :   The size of the internal receive buffer. 
			     This must be at least twice the  size  of 
			     the  maximum frame size and is limited to 
			     a  maximum  of  30Kbytes.   This  setting 
			     changes   the  driver's  run-time  memory 
			     usage   and   may   affect    performance 
			     slightly.

TRANSMIT BUFFER SIZE nnnn :  The size of the internal transmit buffer. 
			     This   has   the   same  limitations  and 
			     purpose as the receive buffer.

ADAPTER WATCHDOG TIMEOUT nn :This parameter changes the timeout period 
			     after which the adapter will shut  itself 
			     down and de-inset  from  the  Token-Ring. 
			     the  default is 8 seconds but this should 
			     be increased if applications that disable 
			     system interrupts for long periods are to 
			     be used. Giving no timeout value  at  all 
			     causes the Watchdog timer to be disbled.

If no NET.CFG file exists or if the Adapter IO Port (or slot)  is  not 
specified  then  the first available adapter is used. If the driver is 
loaded twice, then on the second occasion,  a  NET.CFG  file  must  be 
present and must specify which adapter (IO Port or slot) to use.


The driver supports the following command-line switches:

MADGEODI    :  Loads the driver into memory

MADGEODI U  :  Unloads the driver from memory.

MADGEODI F  :  Forces the driver to unload from memory.

MADGEODI I  :  Displays version information.

MADGEODI ?  :  Displays a list of command-line switches.

MADGEODI H  :  Displays current file configuration and shows a  sample 
               NET.CFG file.

MADGEODI C  :  Pre-configures the MADGEODI.COM file. The NET.CFG  file 
               is read and the "burnt-in" settings for  maximum  frame 
               size, receive buffer size, and transmit  buffer size are 
               changed to those in the NET.CFG file.  This means  that 
               a NET.CFG  file  is not  necessarily  needed  on  every 
               workstation.
	       
MADGEODI D  :  Re-configures  the  MADGEODI.COM  file  to its  initial 
               (default) state.


