
		Stallion Technologies Novell NetWare Driver


Hardware Procedures
===================

Introduction
------------
This chapter details the steps required to configure and install Stallion
Technologies multiport hardware.  The following board types are supported:

	y       EasyConnection 8/64 - ISA (EC 8/64-AT)
	y       EasyConnection 8/64 - EISA (EC 8/64-EI)
	y       EasyConnection 8/64 - Microchannel (EC 8/64-MC)
	y       EasyConnection 8/32 - ISA (EC 8/32-AT)
	y       EasyConnection 8/32 - Microchannel (EC 8/32-MC)
	y       EasyConnection 8/32 - PCI (EC 8/32-PC)
	y	EasyConnection 8/64 - PCI (EC 8/64-PC)
	y       EasyIO - ISA (EasyIO)
	y	EasyIO - PCI (EasyIO-PC)

Hardware Configuration
----------------------
Before installing the Novell NetWare Driver software, the board(s) should
be configured ready for installation.  Up to eight boards may be installed
into the system.  EISA  boards will be configured automatically by your
configuration utility, but sufficient resources should be available for
the number of boards to be installed.

To configure your ISA/MCA hardware:

1.      For each ISA/MCA board, choose a memory address and an I/O address
	that will avoid clashes with any other hardware you may have in your
	system.  (Valid address ranges are provided in Appendices - Hardware
	Specifications.)

2.      Make note of any installation parameters set (i.e. the  memory and
	I/O addresses for each board), as they will also be required to
	install the Novell NetWare Driver software.

3.      Set the DIP switches on the ISA board(s) according to the chosen
	addresses, by consulting the tables in Appendices - EasyConnection
	ISA Board DIP Switch Settings.


				  TO PREVENT STATIC

				DAMAGE AVOID EXCESSIVE

				   BOARD HANDLING


Hardware Installation
---------------------
The second step in the installation process is to install the hardware into
the machine.

1.      'Down' the server and power down the machine.  Consult the computer
	system installation manual for the correct cover removal procedures.

2.      For each board, locate an available 16 bit slot.  Push the board
	into the slot, making sure it is securely in place.

3.      Connect the I/O module(s).

	Warning:
	Read Appendices - EasyConnection Module Notes carefully before
	attaching modules to the board(s).

	Note:
	When adding additional modules, they should be connected to the
	end of the chain in order to maintain the existing port setup
	for Stallion devices.

4.      Configure the board(s).
	Note:
	When installing ISA boards in an EISA machine, it is recommended to
	configure the ISA boards using the system's EISA Configuration
	Utility.  Hardware conflicts can easily be detected and resolved
	using this method.  If ISA boards are not configured, the Novell
	NetWare Driver installation may require full board details to be
	entered when loading the driver.  Refer to 'Installing the Novell
	NetWare Driver Software' (step 11), for more details.

If PCI or ISA boards (not being configure in the EISA bios) are being 
installed, proceed to step 5.

The Easy Utilities diskette contains configuration files required by EISA
machines to configure EISA and ISA boards, and by Microchannel machines to
configure MCA boards.

Configure your EISA/Microchannel machine to recognise the installed board(s)
using the respective system configuration utility. Consult Hardware Vendor's
manuals for instructions on this utility.

EISA/MCA Configuration Notes:

(a)     The following configuration files can be found in the root directory
	of the Easy Utilities diskette.

	!STL0400.CFG    -       EC 8/64-EISA (EISA) in an EISA machine
	!STL0410.CFG    -       EC 8/32-AT (ISA) in an EISA machine
	!STL0420.CFG    -       EC 8/64-AT (ISA) in an EISA machine
	@62F9.ADF       -       EC 8/32-MC (MCA) in an MCA machine
	@7113.ADF       -       EC 8/64-MC (MCA) in an MCA machine

(b)     EC8/64 boards do not require an interrupt request line (IRQ) to
	operate.  If it is possible, specify that the IRQ for EC8/64 boards
	are "disabled".  By doing this, interrupts are left accessible to
	hardware that does require an interrupt.
	Other board types DO require an interrupt.

(c)     Make a note of the board configuration of all MCA boards as these
	must be supplied to the driver on the command line.

5.      One message for every board installed will be displayed on your
	screen during your machine's boot process.  These indicate that the
	driver was loaded successfully and has found and booted the board(s)
	specified.

	If the board(s) fail to be recognized, with the parameters conforming
	to the requirements, the DIP switches may have been set incorrectly,
	an address clash may have occurred, or the board may be faulty.
	Check your DIP switch settings, then ensure that the addresses chosen
	are available for use.  If these values are valid, use the board
	diagnostic test described in this chapter to check for a faulty board.
	If a PCI board fails to load successfully, this may indicate a PCI bios 
	incompatibility.  Refer to the trouble shooting guide in the PCI 
	hardware release notes.
	
Hardware Connections
--------------------
Serial devices are attached to EasyConnection boards by various module
configurations.  The modules available are:

	y       8 port DB25 module      (RS232)
	y       16 port DB25 module     (RS232)
	y       8 port RJ45 module      (RS232)
	y       16 port RJ45 module     (RS232)
	y       8 port DB25 dual interface module       (RS232 and RS422)

As additional serial ports are required, more can be added by simply
clipping on extra modules, allowing 8 to 64 ports per slot.

Warning:
Read the EasyConnection Module Notes carefully before
attaching modules to the board(s).


Refer to either EASYIO.TXT or EASYCONN.TXT for the ISA board DIP switch
settings tables.


Board Diagnostics
-----------------
Diagnostic software, DIAG.EXE, has been supplied for the purpose of testing
the state of the board(s).

This software tests the hardware functionality of the board(s) and includes
memory and loopback diagnostics tests.

DIAG can be found on the Easy Utilities diskette and is run under DOS.

Note:
Alternatively, install the diagnostic test suite onto your system using:
	
	install diags <target drive spec>

and run it from the \STALLION\DIAGS directory.

To use the diagnostic facility:

1.      Boot your system with a DOS boot diskette.

2.      Insert the Easy Utilities diskette into the chosen floppy drive.

3.      To select the DIAGS directory, enter the following at the DOS
	prompt of the chosen drive:

		CD \STALLION\DIAGS

4.      To start the board diagnostics, type:

		DIAG

5.      Select the board type from the menu.

6.      The settings for the board are displayed on the screen.  If these
	values are incorrect, change the configuration by entering the
	configuration menu, type:
	
		5

	and set the configuration to the correct values. <ESC> to get back
	to the Diagnostics menu.

7.      Run the required tests using diagnostic options 1 - 4.

8.      If the board fails diagnostics, it may only be suffering from an
	address clash.  Check that the addresses chosen are available for
	use.

9.      If the board still fails diagnostic tests, contact your supplier.



SOFTWARE PROCEDURES
===================
Introduction

This chapter contains the procedures required to install the Novell NetWare
Driver.  The final section of the chapter outlines the limitations of the
driver.

Installing the Novell NetWare Driver
------------------------------------
The installation of the Novell NetWare Driver software is executed from the
Novell NetWare Server prompt.

To install the driver, perform the following steps:

1.      Ensure that your EasyConnection board(s) are configured and installed,
	using the Hardware Procedures section.

2.      If you have not done so already, start the NetWare Server from the
	DOS prompt.

3.      At the server prompt, load the INSTALL NLM with the following command:

		load install

4.      If your NetWare software precedes version 4.0, proceed to step 5.

	Select the Maintenance/Selective Install menu option.

5.      Select Product Options from the menu.  A list of currently installed
	products is displayed.

6.      Press <INSERT> to install the driver.

7.      Place the Easy Utilities diskette in the floppy drive of your choice.

8.      Select the drive which contains the diskette.

	Pre-NetWare V4.0:       Enter the drive and/or path to the product
				source media.
	NetWare V4.0 onwards:   Select the default drive, or change it as
				required.

	A message, showing the driver installation process, is displayed to
	the screen.

9.      Once the product is installed, exit from this task.

	Pre-NetWare V4.0:       Exit back to main menu.
	NetWare V4.0 onwards:   Exit back to the "Maintenance/Selective
				Install" menu.

10.     Choose the options menu item to load the hardware.

	Pre-NetWare V4.0:       Select the System Options menu option.
	NetWare V4.0 onwards:   Select the NCF Files Options menu option.

11.     Add the entry to load the board.

	(a)     Select the Edit AUTOEXEC.NCF menu option.

	(b)     Choose the LOAD line(s) to be added depending on the
	system's bus architecture.

Note:
The command  LOAD AIOEASY ?  entered at the server prompt will give a
usage message.

The following is a set of example LOAD lines appropriate for a board set
at the factory I/O address of 2A0.  For more details on all possible options.
for the LOAD line refer to "Load line Command options", and the
Appendices section.  One LOAD line in require for each Stallion board, 
except in the case of an EISA bus, where one LOAD will find all Stallion 
boards.

ISA machines

1) Easy Connection 8/64, ISA

    LOAD AIOEASY BTYPE=EC8/64-AT PORT=2A0 MEM=D0000

2) Easy Connection 8/32, ISA

    LOAD AIOEASY BTYPE=EC8/32-AT PORT=2A0 PORT1=280 INT=F

2) EasyIO, ISA

    LOAD AIOEASY BTYPE=EASYIO PORT=2A0 INT=F

MCA machines:

1) Easy Connection 8/64, MCA

    LOAD AIOEASY BTYPE=EC8/32-MC PORT=pppp INT=i

    Where:
    pppp  Is the value set by the MCA configuration program
	  for the I/O address.  This will probably be 8000
    i     Is the value set by the MCA configuration program
    	  for the Interrupt.  This will be a value like 15, 
	  The value you supply for i must be in Hexidecimal.
	  So for interrupt 15, you must supply F.

    Example:
    LOAD AIOEASY BTYPE=EC8/64-MC PORT=7000 MEM=D0000

2) Easy Connection 8/32, MCA

    LOAD AIOEASY BTYPE=EC8/64-MC PORT=pppp MEM=mmmmm

    Where:
    pppp  Is the value set by the MCA configuration program
	  for the I/O address.  This will probably be 7000
    mmmmm Is the value set by the MCA configuration program
    	  for the Dual Port RAM address. This will be a value like D0000

    Example:
    LOAD AIOEASY BTYPE=EC8/32-AT PORT=8000 INT=F


EISA machines:

1) All number of board types

    LOAD AIOEASY


PCI machines:

1) Easy Connection 8/32-PC, 8/64-PC, EasyIO-PC

	LOAD AIOEASY PCI=1

	Where '1' refers to the logical Stallion board number, 
	e.g. 1 for the first board, and 2 for the second board etc.

2) Load any ISA boards as described in "ISA machines" above.


Driver Limitations
------------------

1.      An eight (8) board maximum limit has been set. With a maximum of
	4 modules per board, and 16 ports per module, this gives a
	theoretical maximum of 512 ports.

2.      On all EasyConnection modules that do not support DSR, the DSR
	signal value will follow the DCD signal value unless the board
	is loaded with the DSRHIGH flag. The DSRHIGH flag forces DSR to
	be returned as HIGH for all modules on a selected board, regardless
	of whether DSR is present on the module.



Trouble shooting
================
During the installation and use of the Novell NetWare Driver, error
messages or warnings may be displayed to notify the user of unsatisfactory
conditions. This chapter displays these error messages, including a brief
explanation of the state leading to the condition. This information allows
the appropriate action to be taken in gaining a satisfactory resolution.


Novell NetWare Driver Error Conditions
--------------------------------------
ERROR 0001: Previously loaded driver using same device type <N>.

Another driver is using this driver's unique device type number.  Don't
load the other AIO driver.

<N> is the conflicting device type number.

ERROR 0002: Unable to register driver with AIO.  Probably out of resources <N>.

AIO refused to register this driver.  AIO is probably out of resources.
Shutdown and restart the server.

<N> is the error code returned from AIORegisterDriver().

ERROR 0003: Unable to allocate IORegistration resource tags.

The server is probably low on resources.  Reduce the number of applications
running on the server, or increase the server's resources. If the problem
persists, try rebooting the server.

ERROR 0004: Unable to Alloc <N> bytes of memory.

The server is probably low on free memory.  Reduce the number of
applications running on the server, or increase the server's resources.
If the problem persist, try rebooting the server.

<N> is the number of bytes requested by the driver from the server.

ERROR 0005: Unable to read <N> bytes of driver custom file.

The driver was unable to read the custom file data (attached to the
driver's .NLM executable file).  Possibly the AIOEASY.NLM file is
corrupted.

<N> is the number of bytes attempted to be read from the custom file.

ERROR 0006: Invalid parameter <S>.

An invalid parameter was placed on the LOAD AIOEASY line.

<S> is the parameter in error.

ERROR 0007: Parameter <S> should not have argument.

Parameter was given an argument when one is not required.

<S> is the parameter in error.

ERROR 0008: Parameter <S> must have argument.

Parameter was not supplied an argument, when one was required.

<S> is the parameter in error.

ERROR 0009: Parameter <S1> has invalid argument <S2>.

The argument to parameter is not in range, or is not of the expected type.

<S1> is the parameter, <S2> is the invalid argument.

ERROR 0010: Duplicate parameter <S>.

Parameter was specified on the LOAD AIOEASY line more than once.

<S> is the parameter in error.

ERROR 0011: Unable to allocate Alloc resource tags.

The server is probably low on resources.  Reduce the number of applications
running on the server, or increase the server's resources.  If the problem
persists, try rebooting the server.

ERROR 0012: No need to specify PORT, MEM, BTYPE, SLOTSIZE or INT with SLOT.

The driver automatically interrogates non-volatile RAM for these parameters.
Only the SLOT is necessary.

ERROR 0013: Do not specify SLOT in non-EISA machines.

ISA machines do not have the concept of a SLOT number.  The configuration of
the board must be explicitly specified using PORT and MEM parameters.

ERROR 0014: Do not specify CACHE in non-ISA machines.

Non-ISA machines (EISA and MCA) automatically handle caching issues.
The CACHE parameter is not valid for them.

ERROR 0015: Do not specify non-MCA adapters in MCA machine.

It is not possible to put non-MCA adapters in MCA machines.  Do not specify
non-MCA adapters in an MCA machine.

ERROR 0016: Do not specify MCA adapters in non-MCA machine.

It is not possible to place MCA adapters in non-MCA machine.  Do not specify
MCA adapters in a non-MCA machine.

ERROR 0017: Do not specify EISA adapters in an ISA machine.

It is not possible to place EISA adapters in a non-EISA machine. Do not
specify EISA adapters in a non-EISA machine.

ERROR 0018: Unable to register hardware options.

The driver was not able to register the adapter's hardware settings to the
server. Try alternative PORT or MEM settings. This often occurs when trying
to LOAD an adapter that is already loaded.  Unload the driver and try
loading it again.

ERROR 0019: A maximum  of <N> boards can be installed.

The driver only supports <N> adapters.  An attempt to configure more than
<N> adapters was made.

<N> is the maximum number of adapters.

ERROR 0020: Unable to register board.  Board number <N> already registered.

An adapter is using the same NODE number. Try using a different node
address using the NODE= parameter.

<N> is the board/NODE number in error.

ERROR 0021: Duplicate NAME=<S> for adapter, NODE=<N>.

An existing adapter has already been given the name <S>. Try changing the
name using the NAME= parameter.  This can also occur when a NAME is
generated automatically when one is not specified.  The name is based on
the NODE number, so specifying a different NODE may also overcome the problem.
Another cause can be an attempt to reload the driver for the same board.

ERROR 0022: Unable to read configuration for adapter in slot <N>.

The information for the adapter in the SLOT could not be obtained.
Check that:
y       the SLOT number is correct
y       the adapter in the SLOT is an EasyConnection
y       the adapter in the SLOT has been configured with the EISA
	Configuration Utility.

<N> is the slot in error.

ERROR 0023: Unable to de-register board <S>.  Error = <N>.

The adapter could not be de-registered from AIO.  Try giving each adapter
a sequential NODE number starting from 0 for the first board loaded.

<S> is the name of the board.
<N> is the error number returned from AIODeregisterBoard().

ERROR 0024: Unable to register board.  No driver for the hardware type
registered.

A driver internal error has occurred.  Contact support.

ERROR 0025: Unable to register board.  Unknown error <N>.

AIO refused to register the adapter. Try reducing the number of applications
running on the server, or increase the server's resources.

ERROR 0026: Unable to locate any boards in slots <N1> to <N2>.

Unable to autodetect any Stallion boards in the default slot range of <N1>
to <N2>.

ERROR 0027: Unable to de-register driver <N>.  Error = <E>.

A driver internal error has occurred. Contact support.

ERROR 0028: Adapter not found.

y       The PORT or MEM values may be incorrect.
y       The adapter may be faulty.
y       Caching may need to be specified.

ERROR 0029: CACHE type conflicts with previous board's CACHE setting.

Only one type of CACHE control may be specified for all boards loaded.

ERROR 0030: Too many ports (<N>) for this driver to handle.

The total number of ports found (<N>) is greater than the maximum supported
by this driver.

ERROR 0031: Brd type <S> not supported.

The board type <S> is not supported in this version of the driver. Contact
Stallion Technologies for information on the board driver you require.

ERROR 0032: GSI returned error <N>.

AIO driver internal error. If there are no other errors accompanying this
one, then contact Stallion Technologies support department for more
information concerning this error. If other errors accompany this one then
refer to those as a means of fixing this error.

ERROR 0033: Bad interrupt selection <I> for slot size <N>.

The interrupt <I> is not usable in a slot size of <N>.  (eg. Interrupt 0x10
can not be used in an 8 bit slot since the largest IRQ that can be selected
is 7.)

ERROR 0034: Bad slot size [<N>] for board type [<S>].  Expected [<N>].

	The slot size specified, <N>, does not match the hardware board type,
	<S>.  Slot size <N> was expected.

ERROR 0035: Cannot alloc port structures for board <N>.

The system call to allocate memory has failed. Your system is running too
low on memory to properly initialize the driver.

ERROR 0036: GSI device close failed for port <P> on board <N>.

	The Stallion AIO driver has failed to close this port.

ERROR 0037: GSI device init failed for port <P> on board <N>.

The Stallion AIO driver has failed to initialize this port.

ERROR 0038: GSI device open failed for port <P> on board <N>.

The Stallion AIO driver has failed to open this port.

ERROR 0039: GSI found no ports on <S> #<N>!

No ports were found on board number <N> which is board type <S>. Power
down and ensure that the EasyConnection modules are attached to the board
correctly, then restart the server and reload the driver.

ERROR 0040: GSI open/close returned error <N>.

The Stallion AIO driver has failed to either open or close this port.
	
ERROR 0041: GSI read fail, board <N>.

The Stallion AIO driver has failed to read a block of data from the adapter
board numbered <N>.

ERROR 0042: GSI returned unknown board type!

The driver does not recognize the board type found at the given I/O address
or in the supplied slot.

ERROR 0043: GSI seek fail, board <N>.

The Stallion AIO driver has failed to seek into the adapter's onboard RAM.

ERROR 0044: Unknown notification, type=<N>.

An unknown/unexpected event has being detected by the board. It is non-fatal
error that should be reported to Stallion Technologies support department if
it occurs frequently.

ERROR 0045: GSI write fail, board <N>.

The Stallion AIO driver has failed to read a block of data from the adapter
board numbered <N>.

ERROR 0046: Lower GSI module <N> missing essential GSI API.

AIO driver fatal error. This error should not occur. Reinstall the driver
files from the installation floppy using the procedures described in the
manual.  If the error still occurs, contact the Stallion Technologies
support department.

ERROR 0047: ONboard/BRUMBY are not supported.

These boards are not supported in this version of the AIO driver. Contact
Stallion Technologies for information on the board driver you require.

ERROR 0048: The <S> board operates in polled mode only.

The board type <S> does not require an IRQ line for operation as it is
polled by the AIO driver.  Remove any reference to the INT parameter from
the driver command line.

ERROR 0049: Unable to allocate callback signature tags.

The system call to allocate a callback tag has failed.  Your system may be
running too low on memory to properly initialize the driver. If problems
persist, try rebooting the server.

ERROR 0050: Unknown open/close request [<N>].

An unrecognized open/close request of type <N> was received internally to
the driver. If the error persists, try restarting the server. If the error
message still persists, contact Stallion Technologies support department.

ERROR 0051: Unrecognized board type [<N>].

The board type <N> is unrecognized by the AIO driver. Please supply a board
type from those listed in the manual.

ERROR 0052: Mem_read - NULL buf or count param.

AIO internal error.  If the error persists, try restarting the server.  If
the error message still persists, contact Stallion Technologies support
department.

ERROR 0053: Mem_write - NULL buf or count param.

AIO internal error.  If the error persists, try restarting the server.  If
the error message still persists, contact Stallion Technologies support
department.

ERROR 0054: Unexpected notification, type=<N>.

An unknown/unexpected event has been detected by the board.  It is a
non-fatal error that should be reported to Stallion Technologies support
department if it occurs frequently.

ERROR 0055: BRD-ICONFIG failed [<N>]!

AIOEASY Internal error. Unload the driver and try again. If the problem
persists contact Stallion Technologies support department.

ERROR 0056: No modules found on <S> #<N>!

No modules were found on the board number <N> which is of type <S>. Power
down the machine, ensure that the modules are connected correctly to the
board, restart the machine and reload the driver.

ERROR 0057: Maximum of <X> modules per board has been exceeded on board #<N>.

There are an excessive number of modules on board <N>. Please redistribute
the modules across all installed boards with a maximum of <X> modules per
board.

ERROR 0059: Download routine failed with error <N>!

The slave could not be downloaded to the board. Ensure that the I/O
address , the slot used, and the Dual port RAM address is correct. If the
error persists, unload the driver and try reloading it.

ERROR 0070 PCI specified in non-PCI machine!

Either the driver could not detect that the machine has PCI slots or
the machine does not have PCI slots.

ERROR 0071 PCI adapter number invalid (1 -> 8)!

A value from 1 to 8 can only be specified for the PCI= option

ERROR 0072 PCI adapter not found!

The adapter specified by the PCI= option was not found.

ERROR 0073 PCI adapter not found!

The adapter specified by the PCI= option was not found.

ERROR 0074 PCI Unable to read PCI PORT0 setting!

The driver was unable to read the PCI port setting for the PCI card.  The
PCI BIOS or machine is incompatable with the driver or the adapter is
faulty.

ERROR 0075 PCI Unable to read PCI PORT1 setting!

The driver was unable to read the PCI port setting for the PCI card.  The
PCI BIOS or machine is incompatable with the driver or the adapter is
faulty.

ERROR 0076 PCI Unable to read PCI INT setting!

The driver was unable to read the PCI interrupt setting for the PCI card.
The PCI BIOS or machine is incompatable with the driver or the adapter is
faulty.



Warnings
========
AIOEASY WARNING 1001: The following ports are still acquired: <L>.

While unloading, the driver detected that the listed ports, <L>, were still
acquired, and not yet released.  To avoid this message, ensure all ports are
released prior to unloading the driver.  This warning message is non-fatal
and will not affect driver operation.

AIOEASY WARNING 1002: block returned by NON-blocking ioctl [<N>].

AIO internal warning.  If the warning persists, try restarting the server.
If the warning message still persists, contact Stallion Technologies support
department.  This message is non-fatal and will not affect driver operation.

AIOEASY WARNING 1003: Unknown command [<N>] ignored.

AIO internal warning.  If the warning persists, try restarting the server.
If the warning message still persists, contact Stallion Technologies support
department.  This message is non-fatal and will not affect driver operation.
