Smart II Software: NDIS parameters
==================================                          
                                               LSS 5.0(0), August 1996
                                               -----------------------
1 Introduction
--------------

This  document  describes  the parameters that affect the operation of 
the NDIS2 interface on a particular Ringnode in your workstation.

To enable Smart NDIS, include an  [NDIS]  section  in  your  SMART.CFG 
file.    Then  edit  your  PROTOCOL.INI  file  to  include  a  section 
containing at least the information in Figure 2.  Do  not  attempt  to 
enable  the Smart NDIS interface by specifying NDIS on the device line 
of your CONFIG.SYS file.  

Figure  1  shows  a  sample  SMART.CFG file which enables the NDIS and 
NetBIOS interfaces.  Figure 2 shows  a  sample  NDIS  section  from  a 
PROTOCOL.INI   file.    When   you   enable  an  NDIS  interface,  the 
PROTOCOL.INI file must contain at least the information in  Figure  2. 
The  default  name  (used  by  the  NIF  file) for the NDIS section is 
[SMART_NDIS].  However, you can use a different name if you prefer (as 
long as the name you use is unique).  Note that the first line beneath 
the heading that you use must be: DriverName = SMART_NDIS$.

----------------------------------------------------------------------
|                                                                    |
| [host]                                                             |
| win=31                   ; Setup for Windows version 3.1.          |
|                                                                    |
| [card]                                                             |  
|  [ndis]                  ; Enable the NDIS interface.              |
|  max.transmits = 15      ; Queue up to 15 messages to send.        |  
|  max.indications = 15    ; Queue up to 15 received messages.       |
|                                                                    |
|  [netb]                  ; Enable the NetBIOS interface.           |
|                                                                    |
----------------------------------------------------------------------
Figure 1. Sample SMART.CFG file.

----------------------------------------------------------------------
|                                                                    |
|   [SMART_NDIS]                                                     |
|     DriverName = SMART_NDIS$                                       |
|                                                                    |
----------------------------------------------------------------------
Figure 2.  Minimal entry in PROTOCOL.INI for enabling Smart NDIS


To configure the driver, we recommend that you put the parameters  you 
require  in the [NDIS] section of the SMART.CFG file. However, most of 
the parameters that you can include  in  SMART.CFG  correspond  to  an 
equivalent  parameter that you can include in the [SMART_NDIS] section 
of PROTOCOL.INI.  Make sure you do not have equivalent  parameters  in 
both  files  at  once.   (We  recommend  the  SMART.CFG file, wherever 
possible.)  

Table 1 contains a  list  of  the  parameters  that  you  can  use  to 
configure  the  Smart  NDIS  interface.   The  table  indicates  which 
parameters you  can  use  in  which  configuration  file.   Section  2 
describes these parameters.   Section 3 provides information on how to
configure NDIS from the PROTOCOL.INI file.

----------------------------------------------------------------------
|                                                     SMART.CFG or   |
| Parameter       Abbrev  Range          Default      PROTOCOCOL.INI | 
| ---------       ------  -----          -------      -------------- |
| max.transmits   tx      6 - 20         10            Both          |
| max.indications ind     6 - 20         10            Both          |
| auto.open       ao      Y - N          N             Both          |
| open.options    oo      0 - 65535      0             Both          |
| ring.status     rs      0 - 65535      0             Both          |
| lookahead.size  la      256 - 4096     256           Both          |
| NodeAddress     -       see section 3  see Section 3 PROTOCOL.INI  |
| MaxFrameSize    -       see section 3  see Section 3 PROTOCOL.INI  |
| IOAddress       -       see section 3  see Section 3 PROTOCOL.INI  |
| BusMaster       -       see section 3  see Section 3 PROTOCOL.INI  |
| Slot            -       see section 3  see Section 3 PROTOCOL.INI  |
| BurntInAddress  -       see section 3  see Section 3 PROTOCOL.INI  |
| IRQNumber       -       see section 3  see Section 3 PROTOCOL.INI  |
| Alternate       -       see section 3  see Section 3 PROTOCOL.INI  |
| ALTIO           -       see section 3  see Section 3 PROTOCOL.INI  |
| PIO             -       see section 3  see Section 3 PROTOCOL.INI  |
| MMIO            -       see section 3  see Section 3 PROTOCOL.INI  |
|                                                                    |
----------------------------------------------------------------------
Table 1. Summary of the Smart NDIS parameters.


2 SMART.CFG Parameters
----------------------
This section describes the parameters you can specify  in  the  [NDIS] 
section of your SMART.CFG file. 

auto.open           Specifies  whether  Smart NDIS automatically opens 
                    the adapter.  By default, it  does  not  open  the 
                    adapter  but  allows  a  protocol  that is running 
                    above it to do this. You do not normally  need  to 
                    use this parameter.
                    
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Abbreviation : ao
                    Example      : auto.open=n

max.indications     Specifies the number of  received  network  frames 
                    that  the  workstation can queue before processing 
                    them. The default value of 10  is  sufficient  for 
                    most applications.  
                    
                    Default      : 10
                    Range        : 6 - 20
                    Abbreviation : ind
                    Example      : max.indications=15
                                    
max.transmits       Specifies  the  number  of network frames that the 
                    workstation can queue  before  transmitting  them.  
                    The   default   of   10  is  sufficient  for  most 
                    applications.
                    
                    Default     : 10
                    Range       : 6 - 20
                    Abbrevation : tx
                    Example     : max.transmits=15

open.options        Specifies the options that the adapter opens with. 
                    This parameter only has effect if a protocol above 
                    NDIS opens  the  adapter  without  specifying  any 
                    options.  You  do  not  normally  need to use this 
                    parameter. 
                  
                    Default      : 0
                    Range        : 0 - 65535
                    Abbreviation : oo
                    Example      : open.options=100  
                                    
ring.status         Specifies  the ring statuses that a protocol above 
                    NDIS receives. You do not  normally  need  to  use 
                    this parameter. For information about the statuses 
                    corresponding to each number in the range of valid 
                    values, refer to the IBM Token Ring Technical 
                    Reference manual.
                    
                    Default      : 0 (No ring status messages)
                    Range        : 0 - 65535 
                    Abbrevation  : rs
                    Example      : ring.status=15
                
lookahead.size      Specifies  the  maximum size of the host lookahead 
                    buffer. 
                    
                    Default      : 256
                    Range        : 256 - 4096
                    Abbreviation : la
                    Example      : lookahead.size=350
                    
            
3 PROTOCOL.INI parameters
-------------------------
This  section  describes  the  parameters  that you can specify in the 
[SMART_NDIS] section of your PROTOCOL.INI file. Some are equivalent to 
parameters that  you  can  specify  in  the  [NDIS]  section  of  your 
SMART.CFG  file.  Others  are  equivalent  to  parameters that you can 
specify in the [CARD] section of your SMART.CFG file. 

We recommend you use the SMART.CFG file, wherever possible.   However, 
Figures  3  and  4  illustrate  equivalent  sections  of SMART.CFG and 
PROTOCOL.INI.

----------------------------------------------------------------------
|    [NDIS]                                                          |
|                                                                    |
|       max.transmits = 15                                           |
|       max.indications = 15                                         |  
|                                                                    |
---------------------------------------------------------------------- 
Figure 3.  Sample [NDIS] section of SMART.CFG

----------------------------------------------------------------------
|    [SMART_NDIS]                                                    |
|                                                                    |
|       DriverName = SMART_NDIS$                                     |
|       MaxTransmits = 15                                            |
|       MaxIndications = 15                                          |
|                                                                    |
----------------------------------------------------------------------
Figure 4. Equivalent section of PROTOCOL.INI
                    
                    
The PROTOCOL.INI parameters are as follows:               
  
Alternate           Try using this parameter if  your  Ringnode  fails 
                    the  DIAG  tests,  and  you  think  this  might be 
                    because your computer is not fully ISA compatible.  
                                                            
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : Alternate=y

ALTIO               This parameter is only available with the  "ASYNC" 
                    bus  mode.  If your computer has bus-compatibility 
                    problems with AT or ISA Client Ringnodes, use  the 
                    ALTIO  parameter  and  configure your Ringnode for 
                    PIO and alternate bus-timing.

                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : ALTIO=y
                                        
AutoOpen            Specifies  whether  Smart NDIS automatically opens 
                    the adapter.  By default, it  does  not  open  the 
                    adapter  but  allows  a  protocol  that is running 
                    above it to do this. You do not normally  need  to 
                    use this parameter.
                    
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : AutoOpen=n

BurntInAddress      Use this parameter to identify a  particular  plug
                    and play card.
                                        
                    Default      : None
                    Range        : Node Address
                    Example      : BurntInAddress="0000F6990019"
                
BusMaster           If  you  set  this  flag to YES (and your Ringnode 
                    supports bus  master operation), SMART NDIS always 
                    uses busmastering.
                                                                
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : BusMaster=n

IOAddress           Specifies the port address that the Ringnode uses. 
                    Use   this   parameter  with  care.  We  recommend 
                    instead, that you use the IO.LOCATION parameter in 
                    the [CARD] section of your SMART.CFG file (see the 
                    SMTCARD.TXT file), except in situations where  you 
                    need to have a minimal SMART.CFG file.  
                    
                    The  value  you  give to this parameter must be of 
                    the form 0x0a20 and 0x1a20 rather  than  the  form 
                    0a20  and  1a20.  The  range of values you can use 
                    depends upon the I/O locations available for  your 
                    Ringnode.  (For  more  information,  refer  to the 
                    User Documentation.)

                    Default      : No default exists.
                    Range        : (See the SMTCARD.TXT file or the 
                                    Ringnode installation guide)
                    Example      : IOAddress=0x2a20

IRQNumber           If you are using the Smart 16 Ringnode,  use  this 
                    parameter  to configure the interrupt setting. The 
                    Smart 16 Ringnode uses  interrupt  3  by  default. 
                    Interrupts    2    and    7    are   provided   as 
                    alternatives. (You can also use this parameter  to 
                    force  your  PCMCIA  Ringnode  to use a particular 
                    interrupt.   For  more  information,  refer to the 
                    User Documentation.
                    
                    Default      : 3
                    Range        : 2, 3, or 7
                    Example      : IRQNumber=2

LookAheadSize       Specifies  the  maximum size of the host lookahead 
                    buffer. 
                    
                    Default      : 256
                    Range        : 256 - 4096
                    Example      : LookAheadSize=350
                    
MaxFrameSize        Specifies  the  maximum size (in bytes) of network 
                    frames that NDIS can process.  Use this  parameter 
                    with  care.   We  recommend, instead, that you use 
                    the FRAME.SIZE parameter in the [CARD] section  of 
                    the  SMART.CFG file   (see the  SMTCARD.TXT  file)
                    except in situations where you  require a  minimal 
                    SMART.CFG file.
                    
                    Default      : 4096
                    Range        : 200 - 17960
                    Example      : MaxFrameSize=1000                
                    
MaxIndications      Specifies the number of received messages that the 
                    workstation  can queue before processing them. The 
                    default  value  of  10  is  sufficient  for   most 
                    applications.  
                    
                    Default      : 10
                    Range        : 6 - 20
                    Example      : MaxIndications=15
                                    
MaxTransmits        Specifies  the  number  of   messages   that   the 
                    workstation  can  queue  before transmitting them.  
                    The  default  of  10  is   sufficient   for   most 
                    applications.
                    
                    Default      : 10
                    Range        : 6 - 20
                    Example      : MaxTransmits=15

MMIO                Enables the use  of  MMIO  (Memory  Mapped  Input/
                    Output) mode of data transfer on your ringnode (if 
                    available).  On  some  computers  this  may give a 
                    performance improvement over other transfer modes.
                    
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : MMIO=y
                    
NodeAddress         Specifies the node address of the Ringnode, if you 
                    do not want to use the burnt-in address. Use  this 
                    parameter  with  care. We recommend, instead, that 
                    you use the NODE.ADDRESS parameter in  the  [CARD] 
                    section of the SMART.CFG file (see the SMTCARD.TXT 
                    file) unless you require a minimal SMART.CFG file.
                    
                    The value that you give to this parameter must be 
                    enclosed by quotation marks(").
                    
                    Default      : Burnt-in address
                    Range        : 400000000000 - 7fffffffffff 
                    Example      : NodeAddress="400000123456"
                                    
OpenOptions         Specifies the options that the Ringnode opens with 
                    when it is opened by a protocol  above  NDIS  that 
                    has not specified these options correctly.  You do 
                    not normally need to use this parameter. 
                  
                    Default      : 0
                    Range        : 0 - 65535 
                    Example      : OpenOptions=2  
                                    
PIO                 Enables the fast  16-bit  PIO  (Programmed  Input/ 
                    Output) mode of data transfer on your Ringnode (if 
                    this is available). The Smart 16/4 AT, ISA Client, 
                    and  AT Plus Ringnodes, the Smart 16 Ringnode, the 
                    PCMCIA  Ringnode  support  16-bit  PIO  transfers; 
                    The  Smart 16/4  EISA, MC, MC32  Ringnode  support
		    only DMA.
                    
                    If you are using Windows, or any memory management 
                    software,  the  process  of  copying DMA exchanges 
                    through buffers in conventional memory (see LOMEM) 
                    may reduce  the  speed  of  performance.  If  your 
                    computer  has  fast clock- and bus-speeds, you may 
                    find that PIO gives you the best performance.  
                                                                
                    Default      : n (No)
                    Range        : y (Yes) or n (No)
                    Example      : PIO=y
                                
RstatusReport       Specifies  the ring statuses that a protocol above 
                    NDIS receives. You do not  normally  need  to  use 
                    this parameter. For information about the statuses 
                    corresponding to each number in the range of valid 
                    values,  refer  to  the  IBM  Token Ring Technical 
                    Reference manual.
                    
                    Default      : 0 (No ring status messages)
                    Range        : 0 - 65535
                    Example      : RstatusReport=15
        
Slot                If  you  are  installing drivers for more than one 
                    adapter, then you can use the  SLOT  parameter  to 
                    associate  a  particular  [CARD]  section  with  a 
                    particular PCI Ringnode.  (For non-PCI  Ringnodes, 
                    use the IO.LOCATION parameter instead).
                     
                    If your computer's BIOS is compatible with version 
                    2.1  (or later) of the PCI specification, then set 
                    the SLOT parameter  to  the  number  of  the  slot 
                    containing   your   Ringnode.    (This  number  is 
                    displayed near the slot on the outside of the PC). 
                    
                    However,  if  you  do  not  have  a  BIOS  that is 
                    compatible   with   version   2.1   of   the   PCI 
                    specification,  or  if  you  do not know what slot 
                    number to use, we recommend  that  you  allow  the 
                    Smart  II  Software  to  load  onto  the different 
                    adapters in default order. This is because of  the 
                    possibility  that the slot number indicated on the 
                    outside of the computer, is not a number that  the 
                    network  drivers  can use to identify the Ringnode 
                    by.  
            
                    By default, the Smart II Software loads first onto 
                    the Ringnode in the slot that has the lowest  slot 
                    number, second, onto the Ringnode in the slot that 
                    has the second lowest slot number, and so on.  You 
                    can use the numbers on the outside of the PC as an 
                    indication of the slot with the lowest slot number 
                    (even  if  you can't rely on any of the numbers as 
                    parameter values).
                                            
                    Default      : none
                    Example      : Slot=1
                                        
4 Multiple Ringnodes
--------------------
To configure Smart NDIS for  multiple  Ringnodes,  include  an  [NDIS] 
section  for  each Ringnode in your workstation. (see Figure 5).  

For  each  [NDIS]  section  in the SMART.CFG file, put a corresponding 
DriverName = SMART_NDIS$ entry in the PROTOCOL.INI file.  

By  default,  the  entries  in the PROTOCOL.INI file correspond to the 
[NDIS] sections of the SMART.CFG file in the same order. 

----------------------------------------------------------------------
| [HOST]                                                             |
|  [CARD]        ; First Ringnode                                    |
|   [NDIS]                                                           |
|   [NETB]                                                           |
|                                                                    |
|  [CARD]        ; Second Ringnode                                   |
|   [NDIS]                                                           |
|   [LLC]                                                            |
|                                                                    |
----------------------------------------------------------------------
Figure 5.  Sample SMART.CFG file for enabling NDIS on two Ringnodes


5 Microsoft LAN Manager
-----------------------
LAN Manager requires that Smart NDIS is loaded as a device driver from 
CONFIG.SYS.  Because of this, you must use a  SMART.CFG  file  if  you 
want to configure the driver.  Do not put any parameters on the device 
line of the CONFIG.SYS file.

For more information please refer to the User Documentation.


6 Microsoft Windows for Workgroups
----------------------------------

6.1 Linking the Smart II Software
---------------------------------
A  file  called OEMSETUP.INF is included in  this release for use with
the  Windows for Workgroups  Setup  program.    A  pre-linked  driver,
SMTNDIS.DOS, is  also provided.  This contains SMART.EXE,  SMTNDIS.CFG
and NDIS.SMT all linked togther.  You must use this pre-linked form of
Smart NDIS with Windows for Workgroups.

Note that if you need to specify other parameters then put them on the 
SMTNDIS.DOS command line or alternatively make a new CFG file 
containing all the required parameters and use SMTLINK.EXE to link the
new CFG file with SMART.EXE and the required protocol.
  
6.2 Changing from MDGND.DOS to SMTNDIS.DOS
--------------------------------------------
If you are using the Madge Fastmac Plus NDIS2 driver,  MDGND.DOS,  and
you want to change to SMTNDIS.DOS,  first remove  MDGND.DOS (using the 
Network Setup facility) and then exit Windows for  Workgroups.   (This 
ensures  that  the  change  you have made is written to the SYSTEM.INI 
file.)

Next, restart Windows  for  Workgroups,  and  use  the  Network  Setup 
facility to add SMTNDIS.DOS.


6.3 Ensuring that there is enough memory
----------------------------------------
If you are using Windows for Workgroups, it is important that you load 
EMM386.EXE, and that you enable upper memory.  Include  the  following 
lines in your CONFIG.SYS file:

DEVICE=....\HIMEM.SYS
DEVICE=....\EMM386.EXE
DOS=HIGH,UMB


6.4 Using Locally Administered Addresses
----------------------------------------
If  you  are  using Locally Administered Addresses, take care to avoid 
duplicating addresses. A workstation with  a  duplicate  address  will 
fail to recognise other workstations in its workgroup.


7 Using LAN Manager and NetWare together
----------------------------------------
(If you are using IPX.SMT version 3.24 or above, you can  ignore  this 
section.)

If  the  workstation  you are configuring is going to connect to a LAN 
Manager and a NetWare server at the same time, ensure that the NetWare 
shell program loads from the AUTOEXEC.BAT file before the LAN  Manager 
shell.  

Running NETX causes the PATH variable to be cleared. This  means  that 
the  SET  PATH  command  that  LAN Manager requires cannot take proper 
effect.

**********************************************************************

Note

When you are using Smart NDIS with Smart LLC on a single Ringnode, you 
may  experience problems with applications that explicitly OPEN and/or 
CLOSE the adapter. If so, put the AUTOOPEN=YES parameter in the [NDIS] 
section of the SMART.CFG file.

**********************************************************************


                   ***** End of SMTNDIS.TXT *****
