### TechNote

Number:06620-02
Date:October 1994

## Smart II Software: NDIS parameters

### 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 = 9     ; Queue up to 15 messages to send
         max.indications = 9   ; 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 tells you how to configure NDIS from the PROTOCOL.INI file.

    Parameter         Abbrev   Range                     Default    SMART.CFG or
                                                                    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       na       40000000000-7ffffffffff   Burnt-in   PROTOCOL.INI
    maxFrameSize      fs       200 - 17960               4096       PROTOCOL.INI
    IOAddress         io       (See TechNote 06610)      0x0A20     PROTOCOL.INI

### 2 SMART.CFG Parameters

This section describes the parameters you can specify in the [NDIS] section of SMART.CFG.

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 it processes 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 it transmits 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 SMART.CFG. Others are equivalent to parameters that you can specify in the [CARD] section of SMART.CFG.

We recommend you use SMART.CFG 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:

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`

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 SMART.CFG (see TechNote 06610), except in situations where you need to have a minimal SMART.CFG.

  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.

  Default: No default exists.
  Range: (see TechNote 06610) Example: `IOAddress=0x2a20`

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 Smart NDIS can process. Use this parameter with care. We recommend instead, that you use the FRAME.SIZE parameter in the [CARD] section of SMART.CFG (see TechNote 06610) except in situations where you require a minimalSMART.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 it transmits them. The default of 10 is sufficient for most applications.

  Default: 10
  Range: 6 - 20
  Example : `MaxTransmits=15`

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 TechNote 06610) unless you require a minimal SMART.CFG.

  The value that you give to this parameter must be enclosed by quotation marks(").

  Default: Burnt-in address
  Range: 4000 0000 0000 - 7fff ffff ffff
  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`

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`

### 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 SMART.CFG, put a corresponding `DriverName = SMART_NDIS$` entry in PROTOCOL.INI. By default, the entries in PROTOCOL.INI correspond to the [NDIS] sections of SMART.CFG 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

A SMT_NDIS.NIF file is included on the release disks supplied with your Ringnode. (It is also available from the Madge BBS.) This file is for use with Microsoft LAN Manager. The LAN Manager installation program installs Smart NDIS so that it loads 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.

### 6 Microsoft Windows for Workgroups

#### 6.1 Linking the Smart II Software

A file called OEMSETUP.INF is included on the release disks that are supplied with your Ringnode. (It is also available from the Madge BBS.) This file is for use with the Windows for Workgroups Setup program.

To use Smart NDIS with Windows for Workgroups you must link together the SMART.EXE program, the NDIS.SMT module (plus any other Smart modules you require), and the SMART.CFG file you have created.

To perform this linking process, run the batch file SMTNDIS.BAT. This produces a driver file called SMTNDIS.DOS. Run SMTNDIS.BAT in the same directory as the components of the Smart II Software that you intend to link together. The SMTLINK utility must also be in this directory when you run the batch file.

For help with the SMTNDIS.BAT file, type the following at the prompt:

`SMTNDIS /?`

#### 6.2 Changing from SMARTND.DOS to SMTNDIS.DOS

If you are using the Madge Fastmac NDIS2 driver, SMARTND.DOS, and you want to change to SMTNDIS.DOS, first remove SMARTND.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 Smart NDIS in combination with Smart LLC

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 (or put the AutoOpen=Yes parameter in the [SMART_NDIS] section of PROTOCOL.INI).