Running NetWare 4.xx and 3.12 
=============================                                    
                                               LSS 5.0(0), August 1996 
                                               -----------------------
Summary
-------

This file provides information about loading 32-bit Madge ODI  drivers 
for use in NetWare Server and Client32 environments.

This file has the following sections: 
  1)  The Ringnodes supported by the Madge server drivers.
  2)  Loading the driver.
  3)  Using multiple protocols (standard and SNAP frames). 
  4)  Binding the driver to a protocol. 
  5)  Using multiple Ringnodes.
  6)  Adapter mirroring.
  7)  Using source routing.
  8)  Booting diskless workstations that are fitted with IBM adapters.
  9)  Using your Ringnode in a server with more than 16 Mbytes of RAM. 
 10)  Turning off messages about lost interrupts.
 11)  Generic and custom statistics for NetWare server drivers.
 12)  Command line parameters for MADGEODI.LAN.
 13)  What to do if the "NO ECB AVAILABLE" counter starts to increase. 


1) The Ringnodes supported by MADGEODI.LAN
------------------------------------------
The MADGEODI.LAN server driver supplied with this release supports all 
the Madge Smart Ringnodes.

It also supports the following Bridgenodes:

Smart 16/4 EISA Bridgenode
Smart 16/4 MC32 Bridgenode
Smart 16/4 AT Bridgenode

The  driver is intended for use in either a Novell NetWare Server or a 
Novell Multi-Protocol Router. If you require source-route bridging  in 
a  Multi-Protocol Router, you need to install a bridgenode.  All other 
functions are available with a Ringnode.

Refer to your Ringnode's hardware Installation Guide, and your NetWare 
documentation, for details of Ringnode installation. 

2) Loading the driver
---------------------

Note: Load Novell's MSM.NLM  and  TOKENTSM.NLM  support  modules  with 
MADGEODI.LAN.    For   more   information,   refer   to  your  NetWare 
documentation. In NetWare 3.12, load MSM31X.NLM in place  of  MSM.NLM.  
In NetWare 3,11, load PATCHMAN.NLM and LSLENH.NLM  before  MSM31X.NLM.
Use the versions provided on the Madge CDROM. You will  also  have  to
use the version of MONITOR.NLM from  Netware  3.12,  rather  than  the
version from Netware 3.11. 

It  is  important to use MSM.NLM and TOKENTSM.NLM version 2.20 or 2.32 
or later. Do not use versions between 2.20 and 2.32.  MSM and TOKENTSM 
version 2.20 are provided on the LSS diskette. These are  the  minimum 
level  of  support  modules  that can be used. We recommend to use the 
support modules that come with the NetWare Operating System  that  you 
are using.

i) In the STARTUP.NCF file, insert the following lines:
    
    SET MAXIMUM PHYSICAL RECEIVE PACKET SIZE=4220
    SET MINIMUM PACKET RECEIVE BUFFERS=100

**********************************************************************
Note: If you are using ISA-compatible Ringnodes in DMA mode, also  use 
      the following parameter:

      SET RESERVED BUFFERS BELOW 16 MEG = 300
**********************************************************************

ii) At the server console (or in  your  AUTOEXEC.NCF  file)  enter  the 
command line for MADGEODI:

    LOAD MADGEODI [PORT=<i/o address>|SLOT=<slot number>] [options]

    If you have a single Ringnode installed in your computer,  you  do 
    not  need  to  specify  the I/O port or slot number on the command 
    line.  The driver loads automatically onto the Ringnode  you  have 
    installed. It uses standard TOKEN-RING frames.

    If you have more than one Ringnode installed in your computer, you 
    must  specify  an  I/O port or slot number for each one. If you do 
    not enter this information on the command line, you are  presented 
    with  a list of valid Slot numbers (if only using EISA, MC or  PCI 
    adapters) or IO Port addresses (if using ISA-compatible adapters). 
    Choose from these, the Ringnode you want to load MADGEODI onto.

For a full list of the command line parameters that you can  use  with 
the driver, see Section 12 below.

3) Standard and SNAP frames
--------------------------- 
You can use MADGEODI with protocols  other  than  IPX.   Most  of  the 
protocols  you  are  likely  to use (for example TCP/IP and Appletalk) 
require you to use TOKEN-RING_SNAP frames.  

If  you  need  to  support  both  standard token-ring frames, and SNAP 
frames, you can load MADGEODI twice onto the same  Ringnode:  once  to 
support protocols that require standard frames (for example, IPX); and 
once  to  support  protocols  that require TOKEN-RING_SNAP frames (for 
example, TCP/IP or Appletalk.)

The  default  frame type is FRAME=TOKEN-RING. This is suitable for the 
IPX protocol. The following sample command lines load the driver  once 
for each frame type:
        LOAD MADGEODI SLOT=1 FRAME=TOKEN-RING
        LOAD MADGEODI SLOT=1 FRAME=TOKEN-RING_SNAP  


4) Binding the driver to a Protocol
-----------------------------------
You can use the BIND command to bind an instance of the  driver  to  a 
server  protocol  stack.   To specify which instance of the driver you 
wish to bind, use the NAME parameter as follows:

         LOAD MADGEODI SLOT=s1 NAME=<name1>
         LOAD MADGEODI SLOT=s2 NAME=<name2>
         BIND IPX TO <name1> NET=x1
         BIND IPX TO <name2> NET=x2

The  following  example  shows  a  set  up  for  a  NetWare server. It 
illustrates how to load and bind IPX and Appletalk.

       STARTUP.NCF:  LOAD MAC

       AUTOEXEC.NCF: LOAD MADGEODI FRAME=TOKEN-RING NAME=MADGE
                     LOAD MADGEODI FRAME=TOKEN-RING_SNAP NAME=SNAP
                     BIND IPX TO MADGE NET=2
                     LOAD ATTOKLLC
                     BIND ATTOKLLC TO MADGE
                     LOAD APPLETLK NET=50000 ZONE={"ADMIN"}
                     BIND APPLETLK TO SNAP NET=1-5 ZONE={"ADMIN"}
                     LOAD AFP


5) Using multiple Smart Ringnodes  
---------------------------------
You can put more than one Smart Ringnode into a NetWare  server  using 
MADGEODI.LAN.   To  do  so you must load the driver for each Ringnode.  
You can use the optional NAME parameter to distinguish the  Ringnodes.  
This  makes it easier to bind protocols (See Section 4 for information 
about binding):

         LOAD MADGEODI SLOT=s1 NAME=<name1>
         LOAD MADGEODI SLOT=s2 NAME=<name2>

The  following  is  an  example  for a NetWare server with 2 Ringnodes 
installed.  One is set to IO address 0A20 (and  connected  to  network 
32).  The  other  is set to I/O address 1A20 (and connected to Network 
106):

         LOAD MADGEODI PORT=0A20 NAME=node1
         BIND IPX to node1 NET=32                 (PORT 0a20)
         LOAD MADGEODI PORT=1A20 NAME=node2
         BIND IPX to node2 NET=106                (PORT 1a20)

To check the I/O addresses that your  Ringnodes  are  using,  run  the 
Madge Ringnode diagnostics program.



6) Adapter mirroring
--------------------
Ringnode mirroring is  a  way  of  protecting  network  users  against 
hardware  failures  such  as  cable  faults. To achieve it you need to 
install a second Ringnode which can take over from the first. 

The Ringnode that you use as the standby, is  connected  to  the  same 
network  as  the primary Ringnode.  If the primary Ringnode fails, the 
standby Ringnode takes over from it without affecting the higher level 
protocols of either the Server or any workstations.   
   
To  install  a  standby  Ringnode,  follow  the  instructions  in  the 
MMIRROR.TXT  file which tells you how to load the Madge Mirror Support 
NLM (MMIRROR.NLM)



7) Using source Routing 
----------------------- 
You can use Novell's ROUTE.NLM with MADGEODI to provide source-routing 
support.   This  allows  NetWare  workstations  on  the  other side of 
source-routing bridges to access the server. 

Note  that you can load ROUTE more than once to provide source-routing 
support for multiple Ringnodes or  additional  frame  types.   In  the 
example  below,  source-routing  support is required for two Ringnodes 
(Ringnode1 and Ringnode2), each of which is set up to support multiple 
protocols (for example, IPX and TCP/IP):

     LOAD MADGEODI PORT=0A20 FRAME=TOKEN-RING NAME=Ringnode1
     LOAD ROUTE BOARD=1
     LOAD MADGEODI PORT=0A20 FRAME=TOKEN-RING_SNAP NAME=Ringnode1_SNAP
     LOAD ROUTE BOARD=2
     LOAD MADGEODI PORT=1A20 FRAME=TOKEN-RING NAME=Ringnode2
     LOAD ROUTE BOARD=3
     LOAD MADGEODI PORT=1A20 FRAME=TOKEN-RING_SNAP NAME=Ringnode2_SNAP
     LOAD ROUTE BOARD=4

8) Booting workstations remotely that are fitted with  Madge  Straight 
   Blue or IBM adapters
----------------------------------------------------------------------
To  allow  workstations,  fitted  with  Madge  Straight  Blue  or  IBM 
Token-Ring  adapters  and RPL ROMs, to boot from a NetWare 4.x server, 
use Novell's TOKENRPL.NLM with MADGEODI. A  sample  AUTOEXEC.NCF  file 
is shown below : 

         LOAD MADGEODI
         LOAD TOKENRPL
         BIND TOKENRPL to MADGEODI
         BIND IPX to MADGEODI NET=<network number>

Note that the TOKENRPL.NLM is not required  for  booting  Madge  Smart 
Ringnodes.  


9) Using your Ringnode in a server that has more than 16MBytes of RAM
---------------------------------------------------------------------
The following Smart Ringnodes  support  32-bit  addressing.  Therefore 
they  provide  constant  high  performance in NetWare servers that are 
equipped with more than 16 MBytes of RAM.

Smart 16/4 EISA Ringnode
Smart 16/4 MC Ringnode
Smart 16/4 MC32 Ringnode
Smart 16/4 PCI Ringnode

Other Ringnodes support 24-bit addressing.  You can still use them  in 
servers  that  have  more  than 16 Mbytes  of RAM.  However, when they 
exchange data with buffers that are above the 16 MByte threshold, they 
copy  it  through buffers at lower addresses. This means data transfer 
can  be  slowed  down,  and  you  might  notice  some   reduction   in 
performance.


10) Turning off messages about lost interrupts 
---------------------------------------------- 
If  you  are  using  a  486  server, you may receive alerts about lost 
interrupts. You can disable these harmlessly by adding  the  following 
to your STARTUP.NCF file:

         SET DISPLAY LOST INTERRUPT ALERTS = OFF

 
11) Generic and custom statistics for NetWare server drivers
------------------------------------------------------------
To access statistics about your Madge driver, use the Monitor NLM. The 
screen displays generic and custom statistics.

Generic statistics specified by Novell 
--------------------------------------
Statistics  displayed  as  'not  supported'  are not relevant to Madge 
Smart LAN Support Software.  For information  on  generic  statistics, 
refer to your Novell documentation. 

Custom statistics specified by Madge
------------------------------------
The following statistics are specified by Madge:

MAC Frames Received              The  number of MAC frames received at 
                                 the server. In normal operation  this 
                                 counter    rises    steadily.    

Self Broadcast frames received   The number of frames  broadcast  (and 
                                 received  back)  by the server. These 
                                 frames are  filtered  by  the  server 
                                 driver.  This  is not a network error 
                                 counter.

Unregistered frame-type received The   number   of    Token-Ring    or 
                                 Token-Ring_SNAP  frames received when 
                                 the server driver has not been loaded 
                                 for that frame type.

Frames received with Invalid SR info
                                 The number of  frames  received  with 
                                 non-null  source-routing information, 
                                 while the server driver is not  bound 
                                 to ROUTE.NLM.

Transmit Restart Count           The  number  of frames aborted by the 
                                 server during transmission.


MAC-level statistics
--------------------
The  MAC code keeps an error log.  The following custom statistics are 
MAC-level statistics. When your Ringnode enters or leaves the ring, it 
is normal for some errors to  be  generated.  If  you  find  that  any 
MAC-level  errors  are  increasing  very  rapidly, this may indicate a 
cable or other hardware fault.

Line errors                      The number of signal errors  detected 
                                 by the Ringnode in the server

Burst errors                     The  number  of burst errors detected 
                                 by the Ringnode in the server.

ARI/FCI errors                   The number of ARI/FCI errors detected 
                                 by the Ringnode in the server.

Lost frames                      The number of times the  Ringnode  in 
                                 the  server fails to receive back the 
                                 end of a frame it has transmitted.

Receive Congestion Count         The number of times the  Ringnode  in 
                                 the  server  fails to receive a frame 
                                 because  it  has  no   buffer   space 
                                 available  to  copy  it. 
                                 
Frame copied errors              The number of times the  Ringnode  in 
                                 the server receives a frame addressed 
                                 to   it   which   has   the   address 
                                 recognised bit already set.

Token errors                     The number of token  errors  detected 
                                 by the Ringnode in the server.

Internal errors                  Not supported.
Abort delimiters                 Not supported.
Frequency errors                 Not supported.


Resetting Statistics
--------------------
You can reset the  statistics  to  zero  by  running  the  MRESETS.NLM 
utility. For the location of this file, see the README file.


12) Command-line parameters for MADGEODI 
----------------------------------------

PORT [=/:]  <I/O address>   You can use this parameter if your  server 
                            has  more  than  one  Smart  Ringnode.  It 
                            specifies the I/O address of the  Ringnode 
                            to   use.    If  you  do  not  supply  the 
                            parameter   when   there   are    multiple 
                            ringnodes,  you  are  prompted  to enter a 
                            value from a list of valid options.

                            Example: port = 1A20

SLOT [=/:] <Slot number>    You  can use this parameter if your server 
                            has more  than  one  Smart  Ringnode.   It 
                            specifies   the   slot   location  of  the 
                            Ringnode to use.  If you do not supply the 
                            parameter   when   there   are    multiple 
                            ringnodes,  you  are  prompted  to enter a 
                            value from a list of valid options.
                           
                            Example: slot = 4

BIA [=/:] <burnt in address>If  there  are  multiple  Madge  Ringnodes 
                            installed in a machine, use this parameter 
                            to  specify  the BIA (node address) of the 
                            Ringnode to use. 

                            Example: bia = 0000f6391234

FRAME [=/:] <frame type>    You  can  use  this  parameter  to specify 
                            standard or SNAP frames, for the protocols 
                            you are using.                        
                        
                            Example:   frame = token-ring
                                       frame = token-ring_snap

NAME [=/:]  <logical driver name>
                            This  parameter allows you to refer to the 
                            driver by a logical name  at  the  console 
                            command prompt.

                            Example: name = madge1

BUS [=/:]  <expansion bus name>
                            This parameter MUST be used in NetWare SMP 
                            platforms. It is used by the  SMP  version 
                            of MSM.NLM. 

                            Example: bus = pci

NODE [=/:]  <node address>  This parameter allows you to override  the 
                            burnt-in  node  address  of your Ringnode.  
                            Give  the   new   node   address   as   12 
                            hexadecimal    digits    in    the   range 
                            400000000000 to 7fffffffffff.

                            Example: node = 400011223344

PIO                         Forces  the  driver to use PIO, regardless 
                            of the Ringnode's default transfer  method 
                            (DMA or MMIO).  It  is recommended to  use 
                            bus master DMA when possible. EISA and MCA
                            adapters do not support PIO.

MMIO                        Forces  the  driver to use MMIO  on a  PCI 
                            (non-bus Master) card.  It is  recommended 
                            to use bus master DMA when possible.

ALTERNATE                   Some  computers  use different bus-timings 
                            than are normal for ISA  computers.   This 
                            can  cause DIAG to fail.  If you are using 
                            the Smart 16 Ringnode and DIAG fails,  try 
                            including   the   word  ALTERNATE  on  the 
                            command line.  (Note that the  bus-timings 
                            used  by Ringnodes other than the Smart 16 
                            can be configured by hardware switches  or 
                            configuration  software.   This  parameter 
                            is, therefore, not required for them.)  
                                        
                            Example: LOAD MADGEODI PORT=0A20 ALTERNATE
                           
INT [=/:] <interrupt>       If you are using the Smart 16 Ringnode and 
                            you want  to  set  an  interrupt  that  is 
                            different  from  the  default (irq 3), use 
                            the  INT=2  or  INT=7  parameter  on   the 
                            command line.
                           
                            Example: INT=2
                                           
SETINT [=/:] <interrupt>    If you are using the Smart 16/4 AT Plus or 
                            ISA  Client  Plus Ringnode and you want to 
                            override the interrupt that the  card  has 
                            been  configured  to  use,  then  add this 
                            parameter to the command line.

                            Example: SETINT=5

SETDMA [=/:] <DMA channel>  If  you  are  using the Smart 16/4 AT Plus 
                            Ringnode and you want to override the  DMA 
                            channel  that the card has been configured 
                            to use, then add  this  parameter  to  the 
                            command line.

                            Example: SETDMA=6

-POLL                       This parameter causes the  driver  to poll 
                            for receive  and transmit-complete  events 
                            (By default, the driver will use  hardware 
                            interrupts for these events). With polling 
                            the driver competes  for  the attention of 
                            the CPU with other  devices in  a  polling 
                            process.  The effect of this option is  to 
                            allow the driver to perform  more  effect- 
			    ively  in environments where  the  polling 
                            frequency is high.
                            
-LLC                        Use this parameter to force a Ringnode  to 
                            respond  to  basic  LLC frames.  These are 
                            TEST and XID frames  for  destination  SAP 
                            zero.

-IBM                        Use this parameter to force the driver  to 
                            not  search  for  Madge  Ringnodes  at I/O 
                            location 0x0A20.  This  will  prevent  the 
                            driver  interfering  with an installed IBM 
                            adapter at this location.

-ONE                        Use this parameter to force the driver  to 
                            find just one Madge Ringnode even if there 
                            are more in the server.  Use this together 
                            with  PORT=  or  SLOT=  to  specify  which 
                            ringnode to find. This can  be  useful  if 
                            software  (installed  from DOS or OS/2) is 
                            already running on the other ringnode when 
                            the server loads.

BELOW16                     Use   this   parameter   to  prevent  your 
                            Ringnode  performing DMA to/from addresses 
                            above 16 MebaBytes. 

                            This  is  set automatically for Smart 16/4 
                            AT and AT Plus Ringnodes in DMA mode,  but 
                            you may  also  need  to  set  it  on  some 
                            Micro-Channel computers.

BUFFERS16                   Use  this parameter with an AT card in DMA 
                            mode when your server  has  more  than  16 
                            Megabytes  of  RAM. This parameter is used 
                            by the MSM  to  allocate  receive  buffers 
                            from memory below 16 MebaBytes. It should 
                            normally be set to 32. 

HELP                        This parameter displays information  about 
                            the   command-line parameters.  If you use 
                            this parameter  your driver does not load.


13)  What  to  do  if  your  LAN Statistics "NO ECB AVAILABLE" counter 
     starts to increase.
-------------------------------------------------------------------
If you are using Smart 16/4 EISA or Smart 16/4 MC32 Ringnode  in  your 
file  server  and  are receiving "NO ECB AVAILABLE" counter errors, or 
are experiencing sluggish performance,  then  increase  the  following 
NetWare parameter values:

MINIMUM PACKET RECEIVE BUFFERS  (in STARTUP.NCF only)
MAXIMUM PACKET RECEIVE BUFFERS 

The "Novell NetWare System Administration Guide" recommends allocating 
at  least  5  packet  receive buffers per board, but in practice it is 
best to increase  these  parameters  until  your  "NO  ECB  AVAILABLE" 
counter stops incrementing.  


                  -------  End  of NWARE4XX.TXT -------